• 学派吧-由新云网络独家赞助-https://www.sq9.cn。

负载均衡之Nginx详解教程-学派吧

unix admin 5年前 (2019-01-15) 1922次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624
商祺云-阿里代理、景安代理、西部代理

目录

  • 简介
  • 常用命令
  • 功能
    • HTTP集群
    • TCP集群
    • 代理
    • 反向代理
    • 集群
    • 重定向
    • 静态文件
    • HTTPS配置
  • 常见问题

简介

Nginx (“engine x”) 是一款轻量级,高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
传输层的负载均衡有LVS(Linux) 和 NLB(Windows)

常用命令

  • nginx -v // nginx 版本
  • start nginx // 启动nginx,不阻塞命令窗口
  • nginx -s stop | nginx -s quit // 快速停止 | 有序退出
  • nginx -s reload // 加载配置重新启动

功能

代理

server {    listen 8080;                # 监听8080端口    resolver 114.114.114.114;   # dns解析地址      location / {        proxy_pass  $scheme://$host$request_uri; # 代理到哪个地址        proxy_set_header Host $http_host;        #allow 127.0.0.1;       # 允许127.0.0.1地址访问        #deny all;              # 禁止所有地址访问(allow位置在上面,所以127.0.0.1仍能访问)    }}

反向代理

server {    listen 8081;                    # 监听8080端口    server_name  localhost;         # 虚拟hostName    location / {        proxy_pass   http://127.0.0.1:8081; # 反向代理到的服务器    }}

集群

HTTP集群

upstream clusterName {    # 通过weight设置每台服务器分配请求站的权重,值越高分配的越多。    server  127.0.0.1:9000 weight=4;     server  127.0.0.1:8082 weight=1;     # ip_hash会计算ip对应hash值,然后分配到固定服务器    ip_hash; }location / {    proxy_pass   http://clusterName; # 反向代理到群集服务器    # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP    proxy_set_header   Host             $host;     proxy_set_header   X-Real-IP        $remote_addr;     proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}

TCP集群

  • 和http同级
    stream {server {    listen 1034;    proxy_pass app;}upstream app {    server 192.168.0.111:5672;    server 192.168.0.112:5672;}}

重定向

location / {    rewrite ^/(.*)$ $1 permanent;}
  • flag
  • last – 基本上都用这个Flag。
  • break – 中止Rewirte,不在继续匹配
  • redirect – 返回临时重定向的HTTP状态302
  • permanent – 返回永久重定向的HTTP状态301

静态文件

location /^(.*) {    root   html;                    # 根目录为html文件夹    index  $1 index.html index.htm; # $1表示正则匹配第一项}

绑定证书

# HTTPS server
#
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /nginx/server.cer; # 公钥(一般为公钥证书 + 中级证书)
    ssl_certificate_key  /nginx/server.key; # 私钥

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
}

常见问题

  • 与IIS(80端口)冲突
    • 停用IIS 80端口的网站
    • 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP下的Start修改其值为0,重启电脑即可
    • 被System占用
    • 被IIS占用
  • nginx群集
    • 如果nginx服务器挂了,那我们的站点就直接挂了,可以通过keepalived组件来搭建多台nginx服务提供服务。
  • error.log 错误日志:signal process started
    • 并非错误,只要执行-s reload就会发出

以上就是 负载均衡之Nginx详解的详细内容,更多请关注学派吧其它相关文章!


学派吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:负载均衡之Nginx详解教程-学派吧
喜欢 (0)
[pay@sq9.cn]
分享 (0)
关于作者:
腾讯云-运维运维 QQ 690624
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址