Nginx 的简单使用

正向代理

描述:A 无法直接访问 C,但是 B 可以访问 C,那么就可以在 B 上开启代理服务,A 连上 B 的代理服务后就可以访问 C
代理对象:客户端
使用场景:科学上网

server {
    listen                         3128;
    resolver                       114.114.114.114;

    location / {
        proxy_pass http://$host;
        proxy_set_header Host $host;
    }
}

反向代理

描述:A 向 B 发了一个请求,但是 B 本身没有该请求资源,这时就可以在 B 上开启代理服务,把请求转发到 C,然后 C 返回请求资源
代理对象:服务端
使用场景:统一 Webapi

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_pass    https://www.youku.com/;
    }
}

负载匀衡

描述:当一台服务器单位时间内的访问量大到一定程度时,服务器就会崩溃,解决方法是多建立几个服务器(集群),这时就可以使用代理服务,智能选择服务器,最终达到服务器压力均衡的目的
原理:反向代理

# 轮询
upstream  load-server {
    server    localhost:8081;
    server    localhost:8082;
}
# 或者权重
upstream  load-server {
    server    localhost:8081 weight=1;
    server    localhost:8082 weight=2;
}
# 或者 iphash,可与权重结合使用
upstream  load-server {
    ip_hash;  # 根据访客 ip_hash 分配服务器,每个访客会固定一个服务器
    server    localhost:8081;
    server    localhost:8082;
}
# 或者最少连接
upstream  load-server {
    least_conn;  # 将请求分配到连接数最少的服务器上
    server    localhost:8081;
    server    localhost:8082;
}

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_pass    http://load-server;
    }
}

常用命令

命令 描述
nginx 启动 Nginx
nginx -s stop 停止 Nginx
nginx -s quit 退出 Nginx
nginx -s reload 重新加载配置文件
nginx -s reopen 重启 Nginx 服务
nginx -t 检测配置文件是否有语法错误
nginx -v 查看 Nginx 版本信息
nginx -h 查看帮助
除特殊说明外本人博客均属原创,转载请注明出处:http://blog.johnhan.cn/blog_1000.html
京ICP备19044523号-1