2016/7/9 18:02
2018/09/14 15:02
su檢視nginx的程序:
master:主程序,控制著子程序;
worker process:子程序;
hup:優雅的改變配置檔案,平滑的重讀配置檔案
ps aux | grep nginx 查詢主程序號
kill -hup 主程序號
kill -hup pid
其中 pid 是程序標識。如果想要更改配置而不需停止並重新啟動服務,請使用該命令。在對配置檔案作必要的更改後,發出該命令以動態更新服務配置。
更改/etc/ssh/sshd_config,將裡面的port改為新埠,比如28,然後 kill -hup `cat /var/run/sshd.pid` 就行了。
現有連線自己不會斷,因為kill -hup `cat /var/run/sshd.pid` 只是hup監聽的那個,已經建立的連線(不同的 pid)不會斷。
然後你在現有賬號下面exit,在用新的埠登陸就可以了。
檢視錯誤日誌
tail 10 ./logs/error.log
nginx的重啟:
/usr/local/nginx/sbin/nginx -s reload
nginx的停止:
/usr/local/nginx/sbin/nginx -s stop
nginx的啟動:
/usr/local/nginx/sbin/nginx
nginx的重讀日誌
/usr/local/nginx/sbin/nginx -s reopen 相當於 kill -use1 `cat logs/nginx.pid`
nginx的優雅退出
/usr/local/nginx/sbin/nginx -s quit
測試配置檔案是否出錯:
nginx的配置:
worker_processes :auto # 工作的程序有幾個,一般設定為cpu數* 核數
配置nginx的連線特性:
events
use epoll;
worker_connections 51200; // 指的是乙個子程序最大允許51200個連線
multi_accept on;
nginx的日誌管理:
總日誌:access_log /home/wwwlogs/access.log access;
日誌的分割槽:
#! /bin/bash
logpath=/home/wwwlogs/pma.soft35.cn.log # 定義logpath路徑
#定義basepath路徑
basepath=/home/wwwlogs/data/$(date -d yesterday +%y%m)
#echo $basepath
#建立當前目錄 如果不存在
mkdir -p $basepath
#定義bak路徑
bak=$basepath/$(date -d yesterday +%d%h%m).pma.soft35.cn.log
#移動基礎日誌檔案到新的路徑中
mv $logpath $bak
#重新建立乙份日誌檔案
touch $logpath
#平滑載入配置檔案
kill -usr1 `cat /usr/local/nginx/logs/nginx.pid`
建立計畫任務:crontab -e * */10 * * * sh /home/wwwlogs/pma.sh
nginx的location配置檔案:
location = / "
匹配除「\n」之外的任何單個字元,若要匹配包括「\n」在內的任意字元,請使用諸如「[.\n]」之類的模式。
(pattern)
匹配括號內pattern並可以在後面獲取對應的匹配,常用$0...$9屬性獲取小括號中的匹配內容,要匹配圓括號字元需要\(content\)
nginx的rewrite功能在企業裡應用非常廣泛:
u 可以調整使用者瀏覽的url,看起來更規範,合乎開發及產品人員的需求。
u **換新網域名稱後,讓舊的訪問跳轉到新的網域名稱上。例如,訪問京東的360buy.com會跳轉到jd.com
u 根據特殊變數、目錄、客戶端的資訊進行url調整等
(1)建立rewrite語句
vi conf/vhost/www.abc.com.conf
#vi編輯虛擬主機配置檔案
檔案內容
server {
listen 80;
server_name abc.com;
rewrite ^/(.*) permanent;
server {
listen 80;
server_name www.abc.com;
location / {
root /data/www/www;
index index.html index.htm;
error_log logs/error_www.abc.com.log error;
access_log logs/access_www.abc.com.log main;
或者server {
listen 80;
server_name abc.com
www.abc.com;
if ( $host != 'www.abc.com' ) {
rewrite ^/(.*) permanent;
location / {
root /data/www/www;
index index.html index.htm;
error_log logs/error_www.abc.com.log error;
access_log logs/access_www.abc.com.log main;
(2)重啟服務
確認無誤便可重啟,操作如下:
nginx -t
#結果顯示ok和success沒問題便可重啟
nginx -s reload
(3)檢視跳轉效果
開啟瀏覽器訪問abc.com
頁面開啟後,url位址列的abc.com變成了www.abc.com說明url重寫成功。
Nginx訊號量學習總結
總結如下 訊號選項 含義term int quick shutdown 立即停止 quit 優雅的關閉程序,即等請求結束後再關閉 hup改變配置檔案之後,平滑的重讀配置檔案,即重新讀取新的配置重啟 user1 重讀日誌,在日誌按月 日進行分割時有用,例如每天備份乙個檔案,然後重新建立access.l...
nginx的訊號量
在研發過程中,修改nginx的配置檔案nginx.conf是很平常的事,需要重啟nginx。如果我們直接reload是有一定風險的,我們可以通過傳送系統訊號給nginx主程序的方式來進行。第一步 確認nginx配置檔案的語法是否正確,否則nginx將不會載入新的配置檔案。如果出現這樣的資訊說明配置檔...
VxWorks學習筆記 訊號量
是實現任務互斥 同步操作的主要機制。vxworks 提供的訊號量經過了高度優化,在所有任務間通訊機制中,速度最快。二 訊號量的分類 binary semaphores 二進位制 完成互斥 同步操作的最佳方式 速度最快,最常用。mutual exclusion semaphores 互斥 一種特殊的二...