负载均衡之Nginx详解

目录

简介

常用命令

功能

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 // 加载配置重新启动

Spacely AI Spacely AI

为您的房间提供AI室内设计解决方案,寻找无限的创意

Spacely AI 67 查看详情 Spacely AI

功能

代理

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详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/847209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月27日 15:54:30
下一篇 2025年11月27日 16:08:35

相关推荐

发表回复

登录后才能评论
关注微信