Server 块
可以在多个 server 块内监听相同端口,用不同的server_name
值区分
...
server {
listen 80;
listen [::]:80;
server_name domainname1.dom;
root /usr/share/nginx/domainname1.dom/html;
location / {
index index.php index.html index.htm;
}
}
server {
listen 80;
listen [::]:80;
server_name domainname2.dom;
root /usr/share/nginx/domainname2.dom/html;
...
}
可以将不同的 server 块置于不同的配置文件中,便于启用或禁用不同站点
新建如下两个新目录
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
在sites-available
目录内新建包含 server 块的配置文件
将include /etc/nginx/sites-enabled/*;
加入/etc/nginx/nginx.conf
的 http 块内
要启用一个站点时,创建相应配置文件的软链接(一定要使用绝对路径!不可用相对路径!)
ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/example.conf
要禁用一个站点时,取消其配置文件的软链接即可
unlink /etc/nginx/sites-enabled/example.conf
反向代理
Headers
Nginx 可自定义反向代理时的 headers
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
可置于 location 块内或 server 块内
HTTP/2
启用 HTTP/2
于 server 块内的指定行添加 http2
后缀:
server {
listen 443 ssl;
http2 on;
...
}
启用 Server Push
于 http / server / location 块内开启 http2_push_preload
:
...
http2_push_preload on;
...
Location
待补充…