server:用於進行服務器訪問信息的配置
1 srever模塊配置是http模塊中的一個子模塊,用來定義一個虛擬訪問主機,也就是一個虛擬服務器的配置信息 2 server { 3 listen 80; 4 server_name localhost 192.168.1.100; 5 root /nginx/www; 6 index index.php index.html index.html; 7 charset utf-8; 8 access_log logs/access.log; 9 error_log logs/error.log; 10 ...... 11 } 12 13 server:一個虛擬主機的配置,一個http中可以配置多個server 14 15 server_name:用力啊指定ip地址或者域名,多個配置之間用空格分隔 16 17 root:表示整個server虛擬主機內的根目錄,所有當前主機中web項目的根目錄 18 19 index:用戶訪問web網站時的全局首頁 20 21 charset:用於設置www/路徑中配置的網頁的默認編碼格式 22 23 access_log:用於指定該虛擬主機服務器中的訪問記錄日志存放路徑 24 25 error_log:用於指定該虛擬主機服務器中訪問錯誤日志的存放路徑
location:用於進行訪問路由的配置
1 復制代碼 2 location模塊是nginx配置中出現最多的一個配置,主要用於配置路由訪問信息在路由訪問信息配置中關聯到反向代理、負載均衡等等各項功能,所以location模塊也是一個非常重要的配置模塊 3 4 location / { 5 root /nginx/www; 6 index index.php index.html index.htm; 7 } 8 9 location /:表示匹配訪問根目錄 10 11 root:用於指定訪問根目錄時,訪問虛擬主機的web目錄 12 13 index:在不指定訪問具體資源時,默認展示的資源文件列表 14 19 location /api { 20 proxy_pass http://www.baidu.com; 21 #以下是一些反向代理的配置可刪除 22 proxy_redirect off; 23 #后端的Web服務器可以通過X-Forwarded-For獲取用戶真實IP 24 proxy_set_header Host $host; 25 proxy_set_header X-Real-IP $remote_addr; 26 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 27 client_max_body_size 10m; #允許客戶端請求的最大單文件字節數 28 client_body_buffer_size 128k; #緩沖區代理緩沖用戶端請求的最大字節數 29 proxy_connect_timeout 300; #nginx跟后端服務器連接超時時間(代理連接超時) 30 proxy_send_timeout 300; #后端服務器數據回傳時間(代理發送超時) 31 proxy_read_timeout 300; #連接成功后,后端服務器響應時間(代理接收超時) 32 proxy_buffer_size 4k; #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小 33 proxy_buffers 4 32k; #proxy_buffers緩沖區,網頁平均在32k以下的話,這樣設置 34 proxy_busy_buffers_size 64k; #高負荷下緩沖大小(proxy_buffers*2) 35 proxy_temp_file_write_size 64k; #設定緩存文件夾大小,大於這個值,將從upstream服務器傳 36 }
upstream:用於進行負載均衡的配置
1 upstream模塊主要負責負載均衡的配置,通過默認的輪詢調度方式來分發請求到后端服務器 2 3 upstream name { 4 ip_hash; 5 server 192.168.1.100:8000; 6 server 192.168.1.100:8001 down; 7 server 192.168.1.100:8002 max_fails=3; 8 server 192.168.1.100:8003 fail_timeout=20s; 9 server 192.168.1.100:8004 max_fails=3 fail_timeout=20s; 10 } 11 12 13 14 ip_hash:指定請求調度算法,默認是weight權重輪詢調度,可以指定 15 server host:port:分發服務器的列表配置 16 -- down:表示該主機暫停服務 17 -- max_fails:表示失敗最大次數,超過失敗最大次數暫停服務 18 -- fail_timeout:表示如果請求受理失敗,暫停指定的時間之后重新發起請求
nginx基本命令
1 強制停止nginx服務器,如果有未處理的數據,丟棄 2 nginx -s stop 3 4 停止nginx服務器,如果有未處理的數據,等待處理完成之后停止 5 nginx -s quit 6 7 重啟nginx服務器 8 nginx -s reload