一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 詳解Nginx服務器中的nginx.conf配置文件

詳解Nginx服務器中的nginx.conf配置文件

2019-10-31 16:54goldensun Nginx

這篇文章主要介紹了詳解Nginx服務器中的nginx.conf配置文件,包括對HTTP服務的基本配置方法,需要的朋友可以參考下

Nginx 配置文件主要分成四部分:main(全局設置)、http(HTTP 的通用設置)、server(虛擬主機設置)、location(匹配 URL 路徑)。還有一些其他的配置段,如 event,upstream 等。
通用設置

    user nginx
    指定運行 nginx workre 進程的用戶和組

    worker_rlimit_nofile #
    指定所有 worker 進程能夠打開的最大文件數

    worker_cpu_affinity
    設置 worker 進程的 CPU 粘性,以避免進程在 CPU 間切換帶來的性能消耗。如 worker_cpu_affinity 0001 0010 0100 1000;(四核)

    worker_processes 4
    worker 工作進程的個數,這個值可以設置為與 CPU 數量相同,如果開啟了 SSL 和 Gzip,那么可以適當增加此數值

    worker_connections 1000
    單個 worker 進程能接受的最大并發連接數,放在 event 段中

    error_log logs/error.log info
    錯誤日志的存放路徑和記錄級別

    use epoll
    使用 epoll 事件模型,放在 event 段中

http 服務器

    server {}:
    定義一個虛擬主機

    listen 80;
    定義監聽的地址和端口,默認監聽在本機所有地址上

    server_name NAME [...];
    定義虛擬主機名,可以使用多個名稱,還可以使用正則表達式或通配符。

    sendfile on
    開啟 sendfile 調用來快速的響應客戶端

    keepalive_timeout 65
    長連接超時時間,單位是秒。

    send_timeout
    指定響應客戶端的超時時間

    client_max_body_size 10m
    允許客戶端請求的實體最大大小

    root PATH
    設置請求 URL 所對應資源所在文件系統上的根目錄

    location [ = | ~ | ~* | ^~ ] URI { ... }
    設置一個 URI 匹配路徑

  •     =:精確匹配
  •     ~:正則表達式匹配,區分字符大小寫
  •     ~*:正則表達式匹配,不區分字符大小寫
  •     ^~:URI 的前半部分匹配,且不實用正則表達式
  •     優先級:
  •     = > location 完整路徑 > ^~ > ~ > ~* > location 起始路徑 > location /

    allow 和 deny
    基于 IP 訪問控制,如:

僅允許 192.168.0.0/24 網段客戶端訪問

?
1
2
allow 192.168.0.0/24;
deny all;

    stub_status on
    開啟狀態顯式,僅能用于 location 中:

開啟狀態顯式頁面

?
1
2
3
4
5
location /status {
  stub_status on;
  allow 172.16.0.0/16;
  deny all;
}

    rewrite <REGEX> <REPL> <FLAG>
    URL 重寫,可以使用多種標記

例如:

?
1
rewrite ^/images/(.*\.jpg)$ /imgs/$1 break;

可用的 flag:

  • - last:重寫完成后,繼續匹配其他 rewrite 規則
  • - break:重寫完成后不再繼續匹配
  • - redirect:返回 302 重定向(臨時重定向),客戶端對重定向的 URL 發起新的請求
  • - permanent:返回 301 重定向(永久重定向),客戶端對重定向的 URL 發起新的請求

 

詳盡配置說明

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#定義Nginx運行的用戶和用戶組
user www www;
 
#nginx進程數,建議設置為等于CPU總核心數。
worker_processes 8;
 
#全局錯誤日志定義類型,[ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;
 
#進程文件
pid /var/run/nginx.pid;
 
#一個nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(系統的值ulimit -n)與nginx進程數相除,但是nginx分配請求并不均勻,所以建議與ulimit -n的值保持一致。
worker_rlimit_nofile 65535;
 
#工作模式與連接數上限
events
{
#參考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本內核中的高性能網絡I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
use epoll;
#單個進程最大連接數(最大連接數=連接數*進程數)
worker_connections 65535;
}
 
#設定http服務器
http
{
include mime.types; #文件擴展名與文件類型映射表
default_type application/octet-stream; #默認文件類型
#charset utf-8; #默認編碼
server_names_hash_bucket_size 128; #服務器名字的hash表大小
client_header_buffer_size 32k; #上傳文件大小限制
large_client_header_buffers 4 64k; #設定請求緩
client_max_body_size 8m; #設定請求緩
sendfile on; #開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對于普通應用設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統的負載。注意:如果圖片顯示不正常把這個改成off。
autoindex on; #開啟目錄列表訪問,合適下載服務器,默認關閉。
tcp_nopush on; #防止網絡阻塞
tcp_nodelay on; #防止網絡阻塞
keepalive_timeout 120; #長連接超時時間,單位是秒
 
#FastCGI相關參數是為了改善網站的性能:減少資源占用,提高訪問速度。下面參數看字面意思都能理解。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
 
#gzip模塊設置
gzip on; #開啟gzip壓縮輸出
gzip_min_length 1k; #最小壓縮文件大小
gzip_buffers 4 16k; #壓縮緩沖區
gzip_http_version 1.0; #壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)
gzip_comp_level 2; #壓縮等級
gzip_types text/plain application/x-javascript text/css application/xml;
#壓縮類型,默認就已經包含text/html,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn。
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m; #開啟限制IP連接數的時候需要使用
 
upstream blog.ha97.com {
#upstream的負載均衡,weight是權重,可以根據機器配置定義權重。weigth參數表示權值,權值越高被分配到的幾率越大。
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}
 
#虛擬主機的配置
server
{
#監聽端口
listen 80;
#域名可以有多個,用空格隔開
server_name www.ha97.com ha97.com;
index index.html index.htm index.php;
root /data/www/ha97;
location ~ .*.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
#圖片緩存時間設置
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 10d;
}
#JS和CSS緩存時間設置
location ~ .*.(js|css)?$
{
expires 1h;
}
#日志格式設定
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#定義本虛擬主機的訪問日志
access_log /var/log/nginx/ha97access.log access;
 
#對 "/" 啟用反向代理
location / {
proxy_pass http://127.0.0.1:88;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
#后端的Web服務器可以通過X-Forwarded-For獲取用戶真實IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#以下是一些反向代理的配置,可選。
proxy_set_header Host $host;
client_max_body_size 10m; #允許客戶端請求的最大單文件字節數
client_body_buffer_size 128k; #緩沖區代理緩沖用戶端請求的最大字節數,
proxy_connect_timeout 90; #nginx跟后端服務器連接超時時間(代理連接超時)
proxy_send_timeout 90; #后端服務器數據回傳時間(代理發送超時)
proxy_read_timeout 90; #連接成功后,后端服務器響應時間(代理接收超時)
proxy_buffer_size 4k; #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小
proxy_buffers 4 32k; #proxy_buffers緩沖區,網頁平均在32k以下的設置
proxy_busy_buffers_size 64k; #高負荷下緩沖大小(proxy_buffers*2)
proxy_temp_file_write_size 64k;
#設定緩存文件夾大小,大于這個值,將從upstream服務器傳
}
 
#設定查看Nginx狀態的地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
#htpasswd文件的內容可以用apache提供的htpasswd工具來產生。
}
 
#本地動靜分離反向代理配置
#所有jsp的頁面均交由tomcat或resin處理
location ~ .(jsp|jspx|do)?$ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
#所有靜態文件由nginx直接讀取不經過tomcat或resin
location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{ expires 15d; }
location ~ .*.(js|css)?$
{ expires 1h; }
}
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲 综合 欧美在线视频 | 羞羞视频污 | 色久久一个亚洲综合网 | 夫妻性生活在线 | 91在线精品老司机免费播放 | 99视频在线观看视频 | 夫承子液by免费阅读 | 纲手被comic天堂 | 精品国产一区二区三区久久久蜜臀 | 亚洲精品91| 五月色婷婷久久综合 | 国产午夜精品一区二区三区不卡 | 青柠影院在线观看免费完整版1 | 精品在线免费播放 | 欧美在线国产 | 日韩精品一区二区三区中文在线 | 99爱免费| 国产日韩欧美一区 | 無码一区中文字幕少妇熟女网站 | 成人资源影音先锋久久资源网 | 精品久久久久久影院免费 | 亚洲国产精品无码中文在线 | 日韩精品1| 99草| 国产精品久久久久不卡绿巨人 | 俄罗斯美女毛茸茸bbwbbw | 妇伦小说 | 欧美亚洲第一页 | 免费大片a一级一级 | 亚洲激情自拍偷拍 | 亚洲一级视频在线观看 | 国产卡一卡二卡三卡四 | 免费一级欧美片在线观免看 | 99久女女精品视频在线观看 | 国内精品久久久久小说网 | 青青草国产精品久久久久 | 国产精品思瑞在线观看 | 亚洲精品中文字幕在线 | 被夫上司强迫中文 | 嫩草视频在线观看视频播放 | 三级理论在线观看 |