nginx反向 Proxy(及最佳化)

來源:互聯網
上載者:User
源碼安裝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教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.