源碼安裝nginx
這裡裝nginx的三個依賴,分別是pcre、openssl、zlib
其中編譯pcre需要:
yum install gcc gcc-c++ pcre-devel
下載源碼包
官網下載最新版即可:http://www.pcre.org/http://www.openssl.orghttp://www.zlib.net/http://nginx.org
注意:這裡pcre只能是是8.0+,pcre2不支援
會報錯:
make[2]: *** No rule to make target `libpcre.la'. Stop.
除了pcre我都用的最新穩定版,給個我用的pcre源碼包:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
編譯
這裡不用分別編譯安裝,直接進入解壓的nginx目錄下執行
假設檔案都放在/home目錄
./configure --prefix=/data/nginx --with-http_realip_module \--with-http_sub_module \--with-http_flv_module \--with-http_dav_module \--with-http_gzip_static_module \--with-http_stub_status_module \--with-http_addition_module \--with-pcre=/home/pcre2-10.00 \--with-openssl=/home/openssl-1.0.2a \--with-http_ssl_module \--with-zlib=/home/zlib-1.2.8
注意綠色的三個是指定源碼的目錄,不是安裝目錄,因為本方法是聯合編譯的,不需要提前編譯安裝pcre,ssl,zlib
然後就是:
makemake install
執行
按照上面的安裝方法,nginx裝在/data/nginx
./data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf#因為它需要指定設定檔才能運行,執行這條設定檔沒有返回,建議使用指令碼控制
指令碼如下
#!/bin/sh# config: /usr/local/nginx/conf/nginx.confnginx_path="/data/nginx"nginx_pid="/data/nginx/logs/nginx.pid"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit0[ -x $nginx_path/sbin/nginx ] || exit0RETVAL=0prog="nginx"start() {# Start daemons.if [ -e$nginx_pid-a ! -z $nginx_pid ];thenecho"nginx already running...."exit1fiif [ -e$nginx_path/conf/nginx.conf ];thenecho -n $"Starting $prog: "$nginx_path/sbin/nginx -c $nginx_path/conf/nginx.conf & RETVAL=$?[ $RETVAL-eq0 ] && {touch /var/lock/subsys/$progsuccess $"$prog"}echoelseRETVAL=1fireturn$RETVAL}# Stop daemons.stop() { echo -n $"Stopping $prog: " killproc -d10$nigx_path/sbin/nginx RETVAL=$? echo [ $RETVAL = 0 ] && rm -f$nginx_pid /var/lock/subsys/$prog}# See how we were called.case"$1"instart) start ;;stop) stop ;;reconfigure) stop start ;;status) status $prog RETVAL=$? ;;*) echo $"Usage: $0 {start|stop|reconfigure|status}"exit1esacexit$RETVAL
如果指令碼名字叫nginx.sh
那麼可以:
./nginx.sh status|stop|start....
代理的配置
以上就介紹了nginx反向 Proxy(及最佳化),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。