Nginx #
常用方法 #
启动
./nginx -c nginx.conf
快速停止
nginx -s stop
验证配置语法
nginx -t -c nginx.conf
重新启动
nginx -s reload
配置文件 #
# 使用的用户(nobody, www, root 等),使用 nobody 可以提高安全性
user nobody;
# 工作进程数,通常设为 cpu 核心数或 2 倍
worker_processes 1;
# pid 存放路径
pid /run//nginx.pid;
# 最大连接数
events {
worker_connections 1024;
}
http {
# 开启gzip压缩
gzip on;
# 虚拟主机1
server {
# 根目录,用于配置相对路径
root /usr/share/nginx/serverl;
listen 80;
server_name localhost;
access_log logs/access.log;
error_log logs/error.log;
location / {
# 先按文件,目录匹配,失败后匹配index.php
root try_files $uri $uri/ /index.php?q=$uri&$args;
index index.html index.htm;
}
}
# 虚拟主机2
server {
listen 80;
server_name peer1;
access_log /usr/local/nginx/logs/access.log;
error_log /usr/local/nginx/logs/error.log;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
# 反向代理时保留原请求的域名信息
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 反向代理
proxy_pass http://127.0.0.1:10808;
}
}
# 负载均衡
# 通过upstream模型实现负载均衡集群,默认算法为轮询。
# 加权轮询格式为: server 118.144.78.52 weight=1
# ip_hash格式为:ip_hash; 然后再是虚拟server的配置。
upstream cluster01 {
server 182.18.22.2:80;
server 118.144.78.52;
# 当前服务器失败3次后会被屏蔽60s。
server 127.0.0.1:8001 fail_timeout=60s max_fails=3;
}
server {
listen 8080;
# 反向代理到指定的负载均衡集群
location / {
proxy_pass http://cluster01;
}
}
}