{"id":101,"date":"2016-04-26T21:57:34","date_gmt":"2016-04-26T13:57:34","guid":{"rendered":"http:\/\/pony.blog.myhz.com\/?p=101"},"modified":"2016-04-27T22:47:08","modified_gmt":"2016-04-27T14:47:08","slug":"nginx%e5%ae%89%e8%a3%85%e3%80%81%e9%85%8d%e7%bd%ae%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86%e9%85%8d%e7%bd%ae%e5%92%8c%e5%ad%97%e7%ac%a6%e6%9b%bf%e6%8d%a2%e6%9c%ba%e5%88%b6","status":"publish","type":"post","link":"https:\/\/lnmp.ivan.xin\/?p=101","title":{"rendered":"nginx\u5b89\u88c5\u3001\u914d\u7f6e\u53cd\u5411\u4ee3\u7406\u548c\u5b57\u7b26\u66ff\u6362\u673a\u5236"},"content":{"rendered":"<p># yum -y install wget zip unzip gcc make pcre-devel openssl-devel svn<br \/>\n# cd ~<br \/>\n# wget -c http:\/\/nginx.org\/download\/nginx-1.6.0.tar.gz<br \/>\n# gunzip nginx-1.6.0.tar.gz<br \/>\n# tar -xf nginx-1.6.0.tar<br \/>\n# mkdir -p \/usr\/local\/nginx\/<br \/>\n# svn checkout http:\/\/substitutions4nginx.googlecode.com\/svn\/trunk\/ \/usr\/local\/nginx\/substitutions4nginx-read-only<br \/>\n# cd nginx-1.6.0<br \/>\n# .\/configure --prefix=\/usr\/local\/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-http_realip_module --add-module=\/usr\/local\/nginx\/substitutions4nginx-read-only<br \/>\n# make &amp;&amp; make install<br \/>\n# touch \/etc\/init.d\/nginx<br \/>\n#\u00a0 vi \/etc\/init.d\/nginx \u5185\u5bb9\u5982\u4e0b<\/p>\n<blockquote>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">#!\/bin\/sh<\/span><br \/>\n<span style=\"color: #0000ff;\">#<\/span><br \/>\n<span style=\"color: #0000ff;\"># nginx Startup script for nginx<\/span><br \/>\n<span style=\"color: #0000ff;\">#<\/span><br \/>\n<span style=\"color: #0000ff;\"># chkconfig: - 85 15<\/span><br \/>\n<span style=\"color: #0000ff;\"># processname: nginx<\/span><br \/>\n<span style=\"color: #0000ff;\"># config: \/etc\/nginx\/nginx.conf<\/span><br \/>\n<span style=\"color: #0000ff;\"># config: \/etc\/sysconfig\/nginx<\/span><br \/>\n<span style=\"color: #0000ff;\"># pidfile: \/var\/run\/nginx.pid<\/span><br \/>\n<span style=\"color: #0000ff;\"># description: nginx is an HTTP and reverse proxy server<\/span><br \/>\n<span style=\"color: #0000ff;\">#<\/span><br \/>\n<span style=\"color: #0000ff;\">### BEGIN INIT INFO<\/span><br \/>\n<span style=\"color: #0000ff;\"># Provides: nginx<\/span><br \/>\n<span style=\"color: #0000ff;\"># Required-Start: $local_fs $remote_fs $network<\/span><br \/>\n<span style=\"color: #0000ff;\"># Required-Stop: $local_fs $remote_fs $network<\/span><br \/>\n<span style=\"color: #0000ff;\"># Default-Start: 2 3 4 5<\/span><br \/>\n<span style=\"color: #0000ff;\"># Default-Stop: 0 1 6<\/span><br \/>\n<span style=\"color: #0000ff;\"># Short-Description: start and stop nginx<\/span><br \/>\n<span style=\"color: #0000ff;\">### END INIT INFO<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\"># Source function library.<\/span><br \/>\n<span style=\"color: #0000ff;\">. \/etc\/rc.d\/init.d\/functions<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">if [ -f \/etc\/sysconfig\/nginx ]; then<\/span><br \/>\n<span style=\"color: #0000ff;\"> . \/etc\/sysconfig\/nginx<\/span><br \/>\n<span style=\"color: #0000ff;\">fi<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">prog=nginx<\/span><br \/>\n<span style=\"color: #0000ff;\">nginx=${NGINX-\/usr\/local\/nginx\/sbin\/nginx}<\/span><br \/>\n<span style=\"color: #0000ff;\">conffile=${CONFFILE-\/usr\/local\/nginx\/conf\/nginx.conf}<\/span><br \/>\n<span style=\"color: #0000ff;\">lockfile=${LOCKFILE-\/var\/lock\/subsys\/nginx}<\/span><br \/>\n<span style=\"color: #0000ff;\">pidfile=${PIDFILE-\/var\/run\/nginx.pid}<\/span><br \/>\n<span style=\"color: #0000ff;\">SLEEPMSEC=100000<\/span><br \/>\n<span style=\"color: #0000ff;\">RETVAL=0<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">start() {<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo -n $\"Starting $prog: \"<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">daemon --pidfile=${pidfile} ${nginx} -c ${conffile}<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo<\/span><br \/>\n<span style=\"color: #0000ff;\"> [ $RETVAL = 0 ] &amp;&amp; touch ${lockfile}<\/span><br \/>\n<span style=\"color: #0000ff;\"> return $RETVAL<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">stop() {<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo -n $\"Stopping $prog: \"<\/span><br \/>\n<span style=\"color: #0000ff;\"> killproc -p ${pidfile} ${prog}<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo<\/span><br \/>\n<span style=\"color: #0000ff;\"> [ $RETVAL = 0 ] &amp;&amp; rm -f ${lockfile} ${pidfile}<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">reload() {<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo -n $\"Reloading $prog: \"<\/span><br \/>\n<span style=\"color: #0000ff;\"> killproc -p ${pidfile} ${prog} -HUP<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">upgrade() {<\/span><br \/>\n<span style=\"color: #0000ff;\"> oldbinpidfile=${pidfile}.oldbin<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">configtest -q || return 6<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo -n $\"Staring new master $prog: \"<\/span><br \/>\n<span style=\"color: #0000ff;\"> killproc -p ${pidfile} ${prog} -USR2<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo<\/span><br \/>\n<span style=\"color: #0000ff;\"> \/bin\/usleep $SLEEPMSEC<\/span><br \/>\n<span style=\"color: #0000ff;\"> if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo -n $\"Graceful shutdown of old $prog: \"<\/span><br \/>\n<span style=\"color: #0000ff;\"> killproc -p ${oldbinpidfile} ${prog} -QUIT<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo <\/span><br \/>\n<span style=\"color: #0000ff;\"> else<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo $\"Upgrade failed!\"<\/span><br \/>\n<span style=\"color: #0000ff;\"> return 1<\/span><br \/>\n<span style=\"color: #0000ff;\"> fi<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">configtest() {<\/span><br \/>\n<span style=\"color: #0000ff;\"> if [ \"$#\" -ne 0 ] ; then<\/span><br \/>\n<span style=\"color: #0000ff;\"> case \"$1\" in<\/span><br \/>\n<span style=\"color: #0000ff;\"> -q)<\/span><br \/>\n<span style=\"color: #0000ff;\"> FLAG=$1<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> *)<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> esac<\/span><br \/>\n<span style=\"color: #0000ff;\"> shift<\/span><br \/>\n<span style=\"color: #0000ff;\"> fi<\/span><br \/>\n<span style=\"color: #0000ff;\"> ${nginx} -t -c ${conffile} $FLAG<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> return $RETVAL<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">rh_status() {<\/span><br \/>\n<span style=\"color: #0000ff;\"> status -p ${pidfile} ${nginx}<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\"># See how we were called.<\/span><br \/>\n<span style=\"color: #0000ff;\">case \"$1\" in<\/span><br \/>\n<span style=\"color: #0000ff;\"> start)<\/span><br \/>\n<span style=\"color: #0000ff;\"> rh_status &gt;\/dev\/null 2&gt;&amp;1 &amp;&amp; exit 0<\/span><br \/>\n<span style=\"color: #0000ff;\"> start<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> stop)<\/span><br \/>\n<span style=\"color: #0000ff;\"> stop<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> status)<\/span><br \/>\n<span style=\"color: #0000ff;\"> rh_status<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=$?<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> restart)<\/span><br \/>\n<span style=\"color: #0000ff;\"> configtest -q || exit $RETVAL<\/span><br \/>\n<span style=\"color: #0000ff;\"> stop<\/span><br \/>\n<span style=\"color: #0000ff;\"> start<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> upgrade)<\/span><br \/>\n<span style=\"color: #0000ff;\"> upgrade<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> condrestart|try-restart)<\/span><br \/>\n<span style=\"color: #0000ff;\"> if rh_status &gt;\/dev\/null 2&gt;&amp;1; then<\/span><br \/>\n<span style=\"color: #0000ff;\"> stop<\/span><br \/>\n<span style=\"color: #0000ff;\"> start<\/span><br \/>\n<span style=\"color: #0000ff;\"> fi<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> force-reload|reload)<\/span><br \/>\n<span style=\"color: #0000ff;\"> reload<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> configtest)<\/span><br \/>\n<span style=\"color: #0000ff;\"> configtest<\/span><br \/>\n<span style=\"color: #0000ff;\"> ;;<\/span><br \/>\n<span style=\"color: #0000ff;\"> *)<\/span><br \/>\n<span style=\"color: #0000ff;\"> echo $\"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}\"<\/span><br \/>\n<span style=\"color: #0000ff;\"> RETVAL=2<\/span><br \/>\n<span style=\"color: #0000ff;\">esac<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">exit $RETVAL<\/span><\/p>\n<\/blockquote>\n<p>#\u00a0 vi \/usr\/local\/nginx\/conf\/nginx.conf\u7684\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<blockquote>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">user www www;<\/span><br \/>\n<span style=\"color: #0000ff;\">worker_processes 8;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">error_log \/var\/log\/nginx\/error.log warn;<\/span><br \/>\n<span style=\"color: #0000ff;\">pid \/var\/run\/nginx.pid;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">events {<\/span><br \/>\n<span style=\"color: #0000ff;\"> worker_connections 1024;<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">http {<\/span><br \/>\n<span style=\"color: #0000ff;\"> include \/usr\/local\/nginx\/conf\/mime.types;<\/span><br \/>\n<span style=\"color: #0000ff;\"> default_type application\/octet-stream;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '<\/span><br \/>\n<span style=\"color: #0000ff;\"> '$status $body_bytes_sent \"$http_referer\" '<\/span><br \/>\n<span style=\"color: #0000ff;\"> '\"$http_user_agent\" \"$http_x_forwarded_for\"';<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">access_log \/var\/log\/nginx\/access.log main;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">sendfile on;<\/span><br \/>\n<span style=\"color: #0000ff;\"> #tcp_nopush on;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">keepalive_timeout 65;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">server_names_hash_bucket_size 128;<\/span><br \/>\n<span style=\"color: #0000ff;\"> client_header_buffer_size 64k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> large_client_header_buffers 4 64k;<\/span><br \/>\n<span style=\"color: #0000ff;\">client_max_body_size 16M;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">tcp_nopush on;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\"> tcp_nodelay on;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">fastcgi_connect_timeout 300;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_send_timeout 300;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_read_timeout 300;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_buffer_size 96k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_buffers 4 96k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_busy_buffers_size 160k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_temp_file_write_size 160k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> fastcgi_intercept_errors on;<\/span><\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">gzip on;<\/span><br \/>\n<span style=\"color: #0000ff;\"> gzip_min_length 1k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> gzip_buffers 4 16k;<\/span><br \/>\n<span style=\"color: #0000ff;\"> gzip_http_version 1.0;<\/span><br \/>\n<span style=\"color: #0000ff;\"> gzip_comp_level 2;<\/span><br \/>\n<span style=\"color: #0000ff;\"> gzip_types text\/plain application\/x-javascript text\/css application\/xml;<\/span><br \/>\n<span style=\"color: #0000ff;\"> gzip_vary on;<\/span><\/p>\n<p style=\"padding-left: 120px;\"><span style=\"color: #0000ff;\">include \/usr\/local\/nginx\/conf\/conf.d\/*.conf;<\/span><br \/>\n<span style=\"color: #0000ff;\">}<\/span><\/p>\n<\/blockquote>\n<p># mkdir -p \/usr\/local\/nginx\/conf\/conf.d\/<br \/>\n# touch \/usr\/local\/nginx\/conf\/conf.d\/bk.paidc.com.conf<br \/>\n# vi \/usr\/local\/nginx\/conf\/conf.d\/bk.paidc.com.conf \u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<blockquote>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\">server<\/span><br \/>\n<span style=\"color: #0000ff;\"> {<\/span><br \/>\n<span style=\"color: #0000ff;\"> listen 80;<\/span><br \/>\n<span style=\"color: #0000ff;\"> server_name bk.paidc.com;<\/span><br \/>\n<span style=\"color: #0000ff;\"> location \/ {<\/span><br \/>\n<span style=\"color: #0000ff;\">subs_filter 'https:\/\/docs.google.com' 'http:\/\/bk.paidc.com' gi;<\/span><br \/>\n<span style=\"color: #0000ff;\">subs_filter 'drive.google.com' 'dn.paidc.com\/email' gi;<\/span><br \/>\n<span style=\"color: #0000ff;\">subs_filter '\\?usp=form_footer' '\/' gi;<\/span><br \/>\n<span style=\"color: #0000ff;\">subs_filter 'https:\/\/ssl.gstatic.com\/docs\/forms\/drive_logo_small2.png' 'http:\/\/paidc.com\/acp\/userfile\/ivanpank\/company_logo.png' g<\/span><br \/>\n<span style=\"color: #0000ff;\">i;<\/span><br \/>\n<span style=\"color: #0000ff;\">subs_filter '&lt;\/body&gt;' '&lt;script language=\"javascript\" type=\"text\/javascript\" src=\"http:\/\/js.users.51.la\/16923110.js\"&gt;&lt;\/script&gt;&lt;\/body&gt;<\/span><br \/>\n<span style=\"color: #0000ff;\">' gi;<\/span><br \/>\n<span style=\"color: #0000ff;\">proxy_set_header X-Real-IP $remote_addr;<\/span><br \/>\n<span style=\"color: #0000ff;\">proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<\/span><br \/>\n<span style=\"color: #0000ff;\">proxy_set_header Referer https:\/\/docs.google.com;<\/span><br \/>\n<span style=\"color: #0000ff;\">proxy_set_header Host docs.google.com;<\/span><br \/>\n<span style=\"color: #0000ff;\">proxy_pass https:\/\/docs.google.com;<\/span><br \/>\n<span style=\"color: #0000ff;\">proxy_set_header Accept-Encoding \"\";<\/span><br \/>\n<span style=\"color: #0000ff;\"> }<\/span><br \/>\n<span style=\"color: #0000ff;\"> }<\/span><\/p>\n<\/blockquote>\n<p># chmod +x \/etc\/init.d\/nginx<br \/>\n# chkconfig --add nginx<br \/>\n# chkconfig --level 2345 nginx on<br \/>\n# mkdir \/var\/log\/nginx<br \/>\n# touch \/var\/log\/nginx\/error.log<br \/>\n# mv \/usr\/local\/nginx\/conf \/etc\/nginx<br \/>\n# ln -s \/etc\/nginx \/usr\/local\/nginx\/conf<br \/>\n# service nginx restart<\/p>\n","protected":false},"excerpt":{"rendered":"<p># yum -y install wget zip unzip gcc make pcre-devel ope...<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15329],"tags":[],"class_list":["post-101","post","type-post","status-publish","format-standard","hentry","category-nginx"],"_links":{"self":[{"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=\/wp\/v2\/posts\/101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=101"}],"version-history":[{"count":0,"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=\/wp\/v2\/posts\/101\/revisions"}],"wp:attachment":[{"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lnmp.ivan.xin\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}