tar xf openssl-1.0.2h.tar.gz -C /root
cd /root/openssl-1.0.2h
./config --prefix=/usr/local --openssldir=/usr/local/openssl
make
make install |
cd /root/nginx-1.6.2
make make install |
錯誤信息:
/usr/local/nginx/sbin/nginx: error
while
loading shared libraries: libpcre.so.
1
: cannot open shared object file: No such file or directory
解決方法:
cd /lib64
ln -s libpcre.so.
0.0
.
1
libpcre.so.
1
listen 80;
server_name www1.zyg.com;
root /etc/nginx/www1; #創建目錄
index index.html;
}
server {
listen 80;
server_name www2.zyg.com;
root /etc/nginx/www2;
index index.html;
}
listen 192.168.122.11:80;
root /etc/nginx/www1;
index index.html;
}
server {
listen 2.2.2.1:80;
root /etc/nginx/www2;
index index.html;
}
listen 8001;
root /etc/nginx/www1;
index index.html;
}
server {
listen 8002;
root /etc/nginx/www2;
index index.html;
}
listen 8001;
root www1;
index index.html;
auth_basic "test"; #一個提示
auth_basic_user_file /usr/local/nginx/passwd.db;
}
server {
listen 8002;
root www2;
index index.html;
allow 192.168.122.0/24;
deny all;
}
• 發送以下指令:
Kill USR2 <舊版本的nginx主進程號>
• 舊版本的主進程將重命名它的pid文件爲.oldbin (例如:/usr/local/nginx/logs/nginx.pid.oldbin),然後執行新版本的nginx可執行程序,依次啓動新的主進程和新的工作進程.
• 此時,新舊版本的nginx實例會同時運行,共同處理輸入的請求.要逐步停止舊版本的nginx實例,你必須發送WINCH信號給舊的主進程,然後,它的工作進程就將開始從容關閉:
kill WINCH <舊版本的Nginx主進程號>
• 一段時間後,舊的工作進程(worker process)處理了所有已連接的請求後退出,僅由新的工作進程來處理輸入的請求了.
• 這時候,我們可以決定是使用新版本,還是回覆到舊的版本;
Kill HUP <舊的主進程號>:Nginx將在不重載配置文件的情況下啓動它的工作進程;
Kill QUIT <新的主進程號>:正常關閉其它工作進程(woker process);
如果此時報錯, 提示還有進程沒有結束就用下面命令先關閉舊工作進程,再關閉主進程號:
Kill TERM <新的工作進程號>:強制退出工作進程;
Kill <新的主進程號或舊的主進程號>:如果因爲某些原因新的工作進程不能退出,則向其發送kill信號.
新的主進程退出後,舊的主進程會移除.oldbin前綴,恢復爲他的.pid文件,這樣,一切就都恢復到升級之前了,如果嘗試升級成功,而你也希望保留新的服務器時,可發送QUIT信號給舊的主進程,使其退出而只留下新的服務器運行
kill -USR1 'cat /var/run/nginx/nginx.pid' #這樣的話就不用ps查找Nginx主進程號了.
如果要讓它每天定時切割日誌,可以編寫shell腳本.並且利用crontab來每天定時運行.
#!/bin/bash
#定義Nginx日誌文件的存放路徑
logs_path = "/var/logs/nginx/"
mkdir -p ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday"+"%m")/access_$(date -d "yesterday" + "%Y%m%d").log
kill -USR1 'cat /var/run/nginx/nginx.pid'
再配置crontab,輸入crontab -e
輸入:
00 00 * * * /bin/bash /usr/loca/webserver/nginx/sbin/cut_nginx_log.sh