Nginx负载均衡配置
1.安装Nginx
使用 sudo apt-get install nginx 就能自动安装 Nginx,为了确保获得最新的 Nginx,可以先使用 sudo apt-get update 命令更新源列表。
安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件,可以从命令显示结果看出 Nginx默认的安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。
此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。
启动 Nginx服务,使用下面两个命令任意一个即可:
sudo /etc/init.d/nginx start
sudo service nginx start
使用 netstat -anp 则可以看到80端口已经处于 LISTEN状态了。
直接查看80端口可以使用命令:sudo lsof -i :80
在浏览器输入 127.0.0.1后,就可以看见 Nginx的欢迎页面了。
之后安装LNMP环境
2.配置反向代理
将nginx的请求代理到
IP为139.196.142.229的服务器上
在nginx中新建配置文件(/etc/nginx/sites-available/defualt/),文件名自己取(例:qqlong.top)
写入
server { listen 80; listen [::]:80; root /var/www/html/qql/; index index.html index.htm index.nginx-debian.html index.php; server_name ng.qqlong.top; location /{ #设置主机头和客户端真实地址,以便服务器获取客户端真实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; #禁用缓存 proxy_buffering off; #设置反向代理的地址 proxy_pass http://139.196.142.229; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } } #}
建立软连接到 ln -s ./qqlong.top /etc/nginx/sites-enabled/下
重启nginx服务(/etc/init.d/nginx restart)
3.配置负载均衡
修改上面的配置文件
#server上添加此upstream节点 upstream mytomcat{ ip_hash;(用来使同一个IP访问同一个服务器,如果做好session共享可舍去) #分权 即访问131与134的次数比例为1比1 server 139.196.142.229 weight=1; server 139.224.135.180 weight=1; } server { listen 80; root /var/www/html/qql/; index index.html index.htm index.nginx-debian.html index.php; server_name ng.qqlong.top; #即所有请求都到这里去找分配 location / { #设置主机头和客户端真实地址,以便服务器获取客户端真实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; #禁用缓存 proxy_buffering off; #使用mytomcat分配规则,即刚自定义添加的upstream节点 proxy_pass http://mytomcat; } }
重启服务器
keep my first heart
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构