Nginx

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;
        }
    }
}
沪ICP备17055033号-2