標籤:nginx
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5E/wKiom1YbVAHxXGywAAGjQDFA6PQ913.jpg" title="nginx.png" alt="wKiom1YbVAHxXGywAAGjQDFA6PQ913.jpg" />
yum install gccgcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel make–y
建立nginx的系統使用者與組(-r :建立指定系統中的使用者、組)
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
驗證
id nginx
配置nginx的模組
./configure --prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx --group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
--with-http_stub_status_module
make && make install
啟動nginx
/usr/sbin/nginx -c /etc/nginx/nginx.conf
查看服務是否啟動
ps -ef | grep nginx
netstat -antulp | grep nginx
啟動的時候會報錯,是因為剛才自己手動指定了臨時目錄,所以這時你要自己手動建立一個這個目錄即可。
mkdir /var/tmp/nginx/client -pv
nginx -c /etc/nginx/nginx.conf
停止nginx
從容關閉QUIT
kill -QUIT $(cat /var/run/nginx/nginx.pid)
快速停止
kill -TERM $(cat /var/run/nginx/nginx.pid)
強制結束所有的nginx進程
kill -9 nginx
平滑重啟nginx
kill -HUP $(cat /var/run/nginx/nginx.pid)
/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
可以把rpm包中的nginx指令檔複製過來自己修改後再用
rpm2cpio nginx-1.9.0.rpm | cpio -div 解壓rpm包
cp nginx /etc/init.d/
chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --list nginx
修改/etc/init.d/nginx指令檔,否則服務無法用這個指令碼啟動,因為在安裝的過程中,這些都是自己指定的檔案和路徑。(已修改)
prog=nginx
nginx=${nginx-/usr/sbin/nginx}
conffile=${CONFFILE-/etc/nginx/nginx.conf}
lockfile=${LOCKFILE-/var/lock/nginx.lock}
pidfile=${PIDFILE-/var/run/nginx/nginx.pid}
SLEEPMSEC=100000
RETVAL=0
編譯nginx.conf 詳解
worker_processes 2 這裡建議有幾個cpu就分給它幾個進程即可。
worker_connections 1024;設定可以最大的串連請求數(預設1024),超過過就在隊列裡等待
sendfile on ; 記憶體分為兩段,一段椒user,另一段是kernel,而使用者去訪問請求時,就會去訪問核心,而這個是把訪問的這個過程記錄下來,放入記憶體中,而不用每次去核心中讀取了。頻繁訪問東西都會放在記憶體當中。(是否開啟帶有緩衝的這種機制)
gzip on ; 是否啟動壓縮功能,在大並發的時候會有所體現。
Location類似於apache的directory,而root旁沒寫絕對路徑那麼它的根就是你安裝時指定的那個路徑。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5A/wKioL1YbXhGScjaUAACJnsQQyB8412.jpg" title="1.png" alt="wKioL1YbXhGScjaUAACJnsQQyB8412.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5A/wKioL1YbXenzJQl3AABLTvd7UmM019.jpg" title="2.png" alt="wKioL1YbXenzJQl3AABLTvd7UmM019.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5A/wKioL1YbXf7i1AquAAB5r-YWBas338.jpg" title="3.png" alt="wKioL1YbXf7i1AquAAB5r-YWBas338.jpg" />
而這裡的/(根)是從/usr/html這裡開始的,下面有定義。(從安裝路徑的html開始)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5E/wKiom1YbXkCilicbAAB5r-YWBas828.jpg" title="4.png" alt="wKiom1YbXkCilicbAAB5r-YWBas828.jpg" />
虛擬機器主機的配置過程。
我在一個主機裡用一個Ip對應多個網域名稱來配置,寫在/etc/hosts裡
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5E/wKiom1YbXoaCCUPcAABMW-2-Z_U051.jpg" title="5.png" alt="wKiom1YbXoaCCUPcAABMW-2-Z_U051.jpg" />
1、虛擬機器主機配置過程,/etc/nginx/nginx.conf
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5E/wKiom1YbXr6iVKTXAADALZ4jAQA871.jpg" title="6.png" alt="wKiom1YbXr6iVKTXAADALZ4jAQA871.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5E/wKiom1YbXuej0Xb8AAEn3QZLK8I445.jpg" title="7.png" alt="wKiom1YbXuej0Xb8AAEn3QZLK8I445.jpg" />
最後:killall -1 nginx (與service nginx reload結果一樣)
建立目錄與在目錄中寫入內容,命令為index.html
mkdir –p/var/www/virtual2
mkdir –p /var/www/virtual
驗證:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5B/wKioL1YbXzrxHUG9AACt9KusK9Y463.jpg" title="8.png" alt="wKioL1YbXzrxHUG9AACt9KusK9Y463.jpg" />
下面設定檔中會用到大量的Regex。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbX3nTbOHdAAF-kHyJVeQ176.jpg" title="9.png" alt="wKioL1YbX3nTbOHdAAF-kHyJVeQ176.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5E/wKiom1YbX5bA5YObAAKP8P5Tctk488.jpg" title="1.png" alt="wKiom1YbX5bA5YObAAKP8P5Tctk488.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5B/wKioL1YbX_jDNDUOAAGfQAx4ydo294.jpg" title="2.png" alt="wKioL1YbX_jDNDUOAAGfQAx4ydo294.jpg" />
把這個開啟
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5B/wKioL1YbYE3SieRBAAD3szZLENQ848.jpg" title="3.png" alt="wKioL1YbYE3SieRBAAD3szZLENQ848.jpg" />
以這個為例,再繼續修改配置一下。(warn是日誌錯誤層級)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5E/wKiom1YbYF7BRflLAAEOfXj2TFo356.jpg" title="4.png" alt="wKiom1YbYF7BRflLAAEOfXj2TFo356.jpg" />重啟服務,然後日誌查看
tailf /var/log/nginx/www.example.com-error.log
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbYMbhH3jFAAHDccEsBpA857.jpg" title="5.png" alt="wKioL1YbYMbhH3jFAAHDccEsBpA857.jpg" />
403錯誤:索引檔案未找到
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5B/wKioL1YbYRXBl1pQAACV2k7TpVs992.jpg" title="6.png" alt="wKioL1YbYRXBl1pQAACV2k7TpVs992.jpg" />然後自己定義錯誤頁面
編輯/etc/nginx/nginx.conf
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5B/wKioL1YbYV3xHrt-AAGN8crtsU4103.jpg" title="7.png" alt="wKioL1YbYV3xHrt-AAGN8crtsU4103.jpg" />接著建立目錄,和編輯錯誤頁面的內容
mkdir /var/www/error
cd /var/www/error
echo This is error > 40x.html
接著重啟服務並驗證結果:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5E/wKiom1YbYcugbd-wAAGj99PT8O0000.jpg" title="8.png" alt="wKiom1YbYcugbd-wAAGj99PT8O0000.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5B/wKioL1YbYouhJKIbAAGIUACjxPk178.jpg" title="1.png" alt="wKioL1YbYouhJKIbAAGIUACjxPk178.jpg" />
首先:還是繼續修改我們的這個設定檔,把我們原有的再進行一下改造即可。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbYrahxQdxAAG0lw2Hqv4606.jpg" title="2.png" alt="wKioL1YbYrahxQdxAAG0lw2Hqv4606.jpg" />
服務重啟並驗證結果
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5E/wKiom1YbYuSh6ujOAAD2sV1aLHs750.jpg" title="3.png" alt="wKiom1YbYuSh6ujOAAD2sV1aLHs750.jpg" />
之前我複製過來的這個檔案
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5E/wKiom1YbYwmxBEnuAAFgU6gf-D4779.jpg" title="4.png" alt="wKiom1YbYwmxBEnuAAFgU6gf-D4779.jpg" />別名功能:
1、編輯/etc/nginx/nginx.conf 設定檔。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5B/wKioL1YbY0qjaQ4CAAIEIant_wA637.jpg" title="5.png" alt="wKioL1YbY0qjaQ4CAAIEIant_wA637.jpg" />
2、建立目錄及索引檔案
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5B/wKioL1YbY32RchRkAACmpoKcavo721.jpg" title="6.png" alt="wKioL1YbY32RchRkAACmpoKcavo721.jpg" />
3、重新啟動服務
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5B/wKioL1YbY6uDchXiAAD5uOS68_U737.jpg" title="7.png" alt="wKioL1YbY6uDchXiAAD5uOS68_U737.jpg" />
4、驗證結果:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5E/wKiom1YbY86Czat5AABXk-2mBkw052.jpg" title="8.png" alt="wKiom1YbY86Czat5AABXk-2mBkw052.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbZEGhL7jjAAGKJTKvRnk444.jpg" title="1.png" alt="wKioL1YbZEGhL7jjAAGKJTKvRnk444.jpg" />
沒有明確拒絕都是允許所有
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5E/wKiom1YbZFiQL922AAKhLByajjY667.jpg" title="2.png" alt="wKiom1YbZFiQL922AAKhLByajjY667.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbZJqgSxZdAAD4Vk_KIlY110.jpg" title="3.png" alt="wKioL1YbZJqgSxZdAAD4Vk_KIlY110.jpg" />
編譯安裝的時候必須指定這個模組,否則是沒有這個功能的。
--with-http_stub_status_module
1、編輯 /etc/nginx/nginx.conf
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbZR7hkru8AAJKLM36lbE743.jpg" title="1.png" alt="wKioL1YbZR7hkru8AAJKLM36lbE743.jpg" />
2、重新啟動服務
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5B/wKioL1YbZU3QmKfSAADz0woGJYI220.jpg" title="2.png" alt="wKioL1YbZU3QmKfSAADz0woGJYI220.jpg" />
3、驗證結果:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5B/wKioL1YbZXvjZwCVAADfQFUaCjw901.jpg" title="3.png" alt="wKioL1YbZXvjZwCVAADfQFUaCjw901.jpg" />
這個nginx_status目錄之前是不用建立的,按以上操作完成即可。還可以對這個目錄進行加密,不讓其他人看到這個結果,這個是可以傳給類似ngios與cacti來作監控用的一個功能。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5F/wKiom1YbZ8rxg0DMAANZg8lJHBw411.jpg" title="1.png" alt="wKiom1YbZ8rxg0DMAANZg8lJHBw411.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5F/wKiom1YbZ-TidLBpAAGMvZlkyt0320.jpg" title="2.png" alt="wKiom1YbZ-TidLBpAAGMvZlkyt0320.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5F/wKiom1YbaBaxOXSVAALnTxwJv2Q286.jpg" title="3.png" alt="wKiom1YbaBaxOXSVAALnTxwJv2Q286.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5C/wKioL1YbaFLC8xmrAAFJbsXF0tA382.jpg" title="4.png" alt="wKioL1YbaFLC8xmrAAFJbsXF0tA382.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5F/wKiom1YbaFmANEbkAAFTkvx9jjc269.jpg" title="5.png" alt="wKiom1YbaFmANEbkAAFTkvx9jjc269.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5F/wKiom1YbaG_R393rAANHstMyF0E385.jpg" title="6.png" alt="wKiom1YbaG_R393rAANHstMyF0E385.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/5F/wKiom1YbaJHwcw0YAAJsITiUWoc314.jpg" title="7.png" alt="wKiom1YbaJHwcw0YAAJsITiUWoc314.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/5F/wKiom1YbaKSCit0mAAJzDBnHgc4647.jpg" title="8.png" alt="wKiom1YbaKSCit0mAAJzDBnHgc4647.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/5C/wKioL1YbaObyTkLnAAHAJqaBs70575.jpg" title="9.png" alt="wKioL1YbaObyTkLnAAHAJqaBs70575.jpg" />
nginx 安裝配置指南