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;

        }
    }
复制代码

重启服务器

 

posted @   kobe龙篮  阅读(129)  评论(0编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示