1. 程式人生 > 其它 >Nginx 平滑升級、Nginx的一些基礎配置

Nginx 平滑升級、Nginx的一些基礎配置

# Nginx 平滑升級
# 方案一:使用Nginx服務訊號進行升級
# 1.將就版本的sbin目錄下可執行nginx進行備份(mv nginx nginxold)
# 2.將新版本 configure、make 後會生成一個objs目錄,你只要將objs/sbin目錄下的nginx可執行檔案拷貝到nginxold相同目錄
# 3.傳送kill  -USR2 `more /usr/local/logs/nginx.pid` 訊號,這裡不明白可以往上節翻
# 4.傳送kill -QUIT `more /usr/local/logs/nginx.pid.oldbin`

# 方案二:Nginx實名make平滑升級
#
1.將就版本的sbin目錄下可執行nginx進行備份(mv nginx nginxold) # 2.將新版本 configure、make 後會生成一個objs目錄,你只要將objs/sbin目錄下的nginx可執行檔案拷貝到nginxold相同目錄 # 3.進入原始碼安裝的目錄執行 make upgrade
# Nginx 配置檔案
worker_processes  1;   # worker 程序數量

events {    # 配置與使用者網路連線
    worker_connections  1024;
}


http {        # 代理配置,一個http可以代理多個地址,所以這裡可以設定有多個server
include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80;# server_name localhost;# 伺服器名 location / { # 訪問路徑,localhost:80/ root html; #配置訪問目錄,如果配置了user pc1;那麼這裡的目錄指的是/home/pc1/html
index index.html index.htm; # 當訪問localhost:80/ 會在html目錄下依次查詢index.html index.htm檔案,找到了就返回 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } # 配置worker程序所屬使用者,所以你可以對使用者分配許可權,讓worker程序只能訪問到該訪問的內容 # user是配置指令,user_1使用者名稱,group使用者所屬組,group預設值是和使用者名稱一樣 user user_1 [group] # 配置master啟動多少個worker程序 # 是否可以開啟worker程序 master_process off/on; # 配置master最多啟動1個worker程序,master_process必須先註釋不然就沒用 worker_processes 1; # 是否守護程序啟動nginx,預設是on # daemon on/off; # 配置master 程序pid存放檔案 pid logs/nginx.pid; # 配置錯誤日誌路勁,info日誌級別 # 日誌級別有:debug 除錯|info 資訊|notice 通知|warn 警告|error 錯誤|crit 臨界|alter 報警|emerg 緊急, # info以下的等級都會帶來大量的磁碟io消耗,影響Nginx的效能 # error_log不僅可以在全域性配置,還可以在http/sever/location中配置 error_log logs/error.log [info]; # 多個檔案分開配置。 # 這裡是載入main.conf的配置資訊 include main.conf; # events塊配置:配置使用者與Nginx服務的網路連結,這裡的配置對伺服器的影響比較大 # 配置Nginx網路連結序列化 # 所謂連線序列化只的是, # 當有訪問請求的時候該配置開啟的時候所有worker程序都會過來拉取任務處理,而off的時候master會主動推給一個worker程序處理 # 預設off accept_mutex on|off; # 設定是否使用者worker程序可以同時接受多個網路連線,預設值off multi_accept on|off; # 和multi_accept on一起使用,設定worker程序最大連線數 # 預設512 worker_connections number; # 設定Nginx使用那種事件驅動來處理網路訊息 # 型別有:select|poll|epoll|kqueue等 # 預設值是根據不同的作業系統決定 use method; # 你也可以在原始碼安裝的時候來配置 # --with-select_module 加入select # --without-select_module 移除select # --with-poll_module # --without-poll_module # http塊 # NINE-Type 設定你對應的檔案型別 include mime.types; # 這裡是全域性配置引用的mime.types檔案 default_type application/octet-stream; # 這裡也是全域性配置 # 你可以檢視mime.types檔案,可以看到檔案型別對應的字尾 # 你可以在http、server、location中配置它,那樣的話location返回值的型別就是以配置的檔案型別進行返回 # 因為web端不同的檔案型別顯示的方式是不一樣的所以才需要該配置去進行協調 # 配置自定義伺服器日誌 # access_log 配置日誌路徑,log_format是日誌的內容,$http_user_agent這是forma中的內建變數。後面再詳細講解 # 他們可以配置在http\server\location塊中的 log_format mylog_format '============>This my format:$http_user_agent'; access_log logs/my.log log_format 1024; # 該引數開啟能大大提高磁碟讀寫的效能 # 預設是關閉的 sendfile on|off; # 長連線超時時間 keepalive_timeout 75s; # 長連線處理次數,當長連線處理100次後斷開連線。 keepalive_requests 100;