一、檢視目前系統參數
[root@rhel6u3-2 ~]# uname –r //檢視系統核心版本号
2.6.32-279.el6.i686
[root@rhel6u3-2 ~]# cat /etc/redhat-release //檢視系統版本号
Red Hat Enterprise Linux Server release 6.3 (Santiago)
##二、編輯虛拟主機配置檔案
[root@rhel6u3-7 ~]# vim /usr/local/nginx/conf/nginx.conf //主配置檔案中http字段中添加以下語句,将虛拟主機的配置檔案指向www1.rsyslog.org
include /usr/local/nginx/server/www1.rsyslog.org;
[root@rhel6u3-7 ~]# vim /usr/local/nginx/server/www1.rsyslog.org
server {
listen 80; //監聽端口為80
server_name www1.rsyslog.org; //虛拟主機網址
location / {
root sites/www1; //虛拟主機網站根目錄
index index.html index.htm; //虛拟主機首頁
auth_basic "secret"; //虛拟主機認證命名
auth_basic_user_file /usr/local/nginx/passwd.db; //虛拟主機使用者名密碼認證資料庫
}
location /status {
stub_status on; //開啟網站監控狀态
access_log /usr/local/nginx/logs/www1_status.log; //監控日志
auth_basic "NginxStatus"; }
}
##三、通過htpasswd指令生成使用者名及對應密碼資料庫檔案。
[root@rhel6u3-7 server]# htpasswd -c /usr/local/nginx/passwd.db xiaonuo //建立認證資訊,xiaonuo 為認證使用者名
New password: ******* //輸入認證密碼
Re-type new password: ******** //再次輸入認證密碼
Adding password for user xiaonuo
也可使用OpenSSL生産使用者名密碼:printf "ssjlog:$(openssl passwd -crypt 123456)\n" >>conf/htpasswd
[root@rhel6u3-7 server]#
[root@rhel6u3-7 ~]# chmod 400 /usr/local/nginx/passwd.db //修改網站認證資料庫權限
[root@rhel6u3-7 ~]# chown nginx. /usr/local/nginx/passwd.db //修改網站認證資料庫屬主和屬組
[root@rhel6u3-7 ~]# cat /usr/local/nginx/passwd.db //可以看到通過htpasswd生成的密碼為加密格式
xiaonuo:8eZAz7BqcrXmY
[root@rhel6u3-7 ~]#
##四、平滑重新開機nginx服務
[root@rhel6u3-7 ~]# /etc/rc.d/init.d/nginx reload //平滑重新開機nginx服務
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Reloading nginx: [ OK ]
五、nginx運作狀态監控配置
1、通過web界面檢視時Nginx需要開啟status子產品,也就是安裝Nginx時加上--with-http_stub_status_module,在nginx.conf的server塊中添加如下代碼:
location /status {
# Turn on nginx stats
stub_status on;
# I do not need logs for stats
access_log off;
# Security: Only allow access from 192.168.1.100 IP #
#allow 192.168.1.100;
# Send rest of the world to /dev/null #
#deny all;
}
配置完後重新啟動Nginx後我們可以通過浏覽器通路http://localhost/status 檢視
2、解析:
Active connections //目前 Nginx 正處理的活動連接配接數。
server accepts handled requests //總共處理了8 個連接配接 , 成功建立 8 次握手,總共處理了500個請求。
Reading //nginx 讀取到用戶端的 Header 資訊數。
Writing //nginx 傳回給用戶端的 Header 資訊數。
Waiting //開啟 keep-alive 的情況下,這個值等于 active - (reading + writing),意思就是 Nginx 已經處理完正在等候下一次請求指令的駐留連接配接
3、通過指令檢視tcp狀态
#netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 17
ESTABLISHED 3254
LAST_ACK 236
FIN_WAIT_1 648
FIN_WAIT_2 581
CLOSING 7
CLOSE_WAIT 4916
解析:
CLOSED //無連接配接是活動的或正在進行
LISTEN //伺服器在等待進入呼叫
SYN_RECV //一個連接配接請求已經到達,等待确認
SYN_SENT //應用已經開始,打開一個連接配接
ESTABLISHED //正常資料傳輸狀态/目前并發連接配接數
FIN_WAIT1 //應用說它已經完成
FIN_WAIT2 //另一邊已同意釋放
ITMED_WAIT //等待所有分組死掉
CLOSING //兩邊同時嘗試關閉
TIME_WAIT //另一邊已初始化一個釋放
LAST_ACK //等待所有分組死掉
4、檢視程序打開檔案數量
lsof -p <PID>
本文轉自aaron428 51CTO部落格,原文連結:http://blog.51cto.com/aaronsa/1728264,如需轉載請自行聯系原作者