nginx反向代理(及优化)

php中文网
发布: 2016-08-08 09:24:33
原创
1120人浏览过

源码安装nginx

这里装nginx的三个依赖,分别是pcre、openssl、zlib
其中编译pcre需要:

<code>yum install gcc gcc<span>-c</span><span>++</span> pcre<span>-devel</span></code>
登录后复制

下载源码包

<code>官网下载最新版即可:
<span>http:</span>//www<span>.pcre</span><span>.org</span>/
<span>http:</span>//www<span>.openssl</span><span>.org</span><span>http:</span>//www<span>.zlib</span><span>.net</span>/
<span>http:</span>//nginx<span>.org</span></code>
登录后复制

注意:这里pcre只能是是8.0+,pcre2不支持
会报错:

<code>make[2]: *** No rule to make target <span>`libpcre.la'</span>. Stop.</code>
登录后复制

除了pcre我都用的最新稳定版,给个我用的pcre源码包:

<code><span>ftp:</span>//ftp<span>.csx</span><span>.cam</span><span>.ac</span><span>.uk</span>/pub/software/programming/pcre/pcre-<span>8.36</span><span>.tar</span><span>.gz</span></code>
登录后复制

编译

这里不用分别编译安装,直接进入解压的nginx目录下执行
假设文件都放在/home目录

<code>./configure --prefix=/data/nginx 
-<span>-with-http_realip_module \
</span>-<span>-with-http_sub_module \
</span>-<span>-with-http_flv_module \
</span>-<span>-with-http_dav_module \
</span>-<span>-with-http_gzip_static_module \
</span>-<span>-with-http_stub_status_module \
</span>-<span>-with-http_addition_module \
</span>-<span>-with-pcre=<span>/home/pcre</span>2-<span>10.00</span> \
</span>-<span>-with-openssl=<span>/home/openssl</span>-<span>1.0</span>.<span>2</span>a \
</span>-<span>-with-http_ssl_module \
</span>-<span>-with-zlib=<span>/home/zlib</span>-<span>1.2</span>.<span>8</span></span></code>
登录后复制

注意绿色的三个是指定源码的目录,不是安装目录,因为本方法是联合编译的,不需要提前编译安装pcre,ssl,zlib
然后就是:

<code><span>make</span><span>make</span> install</code>
登录后复制

执行

钉钉 AI 助理
钉钉 AI 助理

钉钉AI助理汇集了钉钉AI产品能力,帮助企业迈入智能新时代。

钉钉 AI 助理 21
查看详情 钉钉 AI 助理

按照上面的安装方法,nginx装在/data/nginx

<code>./<span><span>data</span>/nginx/sbin/nginx -c /<span>data</span>/nginx/conf/nginx.conf</span><span>#因为它需要指定配置文件才能运行,执行这条配置文件没有返回,建议使用脚本控制</span></code>
登录后复制

脚本如下

<code><span>#!/bin/sh</span><span># config: /usr/local/nginx/conf/nginx.conf</span>nginx_path=<span>"/data/nginx"</span>
nginx_pid=<span>"/data/nginx/logs/nginx.pid"</span><span># Source function library.</span>
. /etc/rc.d/init.d/functions

<span># Source networking configuration.</span>
. /etc/sysconfig/network

<span># Check that networking is up.</span>
[ <span>${NETWORKING}</span> = <span>"no"</span> ] && <span>exit</span><span>0</span>[ -x <span>$nginx_path</span>/sbin/nginx ] || <span>exit</span><span>0</span>RETVAL=<span>0</span>
prog=<span>"nginx"</span><span><span>start</span></span>() {
<span># Start daemons.</span><span>if</span> [ <span>-e</span><span>$nginx_pid</span><span>-a</span> ! -z <span>$nginx_pid</span> ];<span>then</span><span>echo</span><span>"nginx already running...."</span><span>exit</span><span>1</span><span>fi</span><span>if</span> [ <span>-e</span><span>$nginx_path</span>/conf/nginx.conf ];<span>then</span><span>echo</span> -n $<span>"Starting <span>$prog</span>: "</span><span>$nginx_path</span>/sbin/nginx -c <span>$nginx_path</span>/conf/nginx.conf &
  RETVAL=$?
[ <span>$RETVAL</span><span>-eq</span><span>0</span> ] && {
touch /var/lock/subsys/<span>$prog</span>
success $<span>"<span>$prog</span>"</span>
}
<span>echo</span><span>else</span>
RETVAL=<span>1</span><span>fi</span><span>return</span><span>$RETVAL</span>
}

<span># Stop daemons.</span><span><span>stop</span></span>() {
        <span>echo</span> -n $<span>"Stopping <span>$prog</span>: "</span>
        killproc <span>-d</span><span>10</span><span>$nigx_path</span>/sbin/nginx
        RETVAL=$?
        <span>echo</span>
        [ <span>$RETVAL</span> = <span>0</span> ] && rm <span>-f</span><span>$nginx_pid</span> /var/lock/subsys/<span>$prog</span>
}

<span># See how we were called.</span><span>case</span><span>"<span>$1</span>"</span><span>in</span>
start)
        start
        ;;

stop)
        stop
        ;;

reconfigure)
        stop
        start
        ;;

status)
        status <span>$prog</span>
        RETVAL=$?
        ;;

*)
        <span>echo</span> $<span>"Usage: <span>$0</span> {start|stop|reconfigure|status}"</span><span>exit</span><span>1</span><span>esac</span><span>exit</span><span>$RETVAL</span></code>
登录后复制

如果脚本名字叫nginx.sh
那么可以:

<code>./nginx.sh status<span>|stop|start....</span></code>
登录后复制

代理的配置

以上就介绍了nginx反向代理(及优化),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号