Ubuntu安装nginx并配置负载均衡
Posted bkzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu安装nginx并配置负载均衡相关的知识,希望对你有一定的参考价值。
概述
1. 系统环境
Ubuntu 20.04.2 LTS 桌面版(192.168.229.128)
Ubuntu 20.04.2 LTS 服务器版(192.168.229.129)
2. 本文项目目标
需要配置两台服务器,IP地址分别是192.168.229.128,192.168.229.129,都安装nginx,两台服务器的81端口运行项目页面(用于模拟网站页面,可以替换为项目IP和端口),在192.168.229.128的80端口上配置负载均衡,通过192.168.229.128访问两台服务器的页面。
安装nginx
1. 下载安装
sudo apt-get install nginx
如果安装成功,出现下面的画面:
2. 测试安装是否成功
sudo nginx -t
如果安装成功,出现下面的画面:
在浏览器中输入ip地址,可以看到nignx的页面:
3. 重启Nginx
# 下面两句的效果一样,都是重启
sudo service nginx restart
# sudo systemctl restart nginx
4. 查看nginx正在运行的进程,如果有就kill掉
# 查询nginx进程号
ps -ef |grep nginx
# 以下都可以停止进程
#nginx从容停止命令,等待所有请求结束后关闭服务
sudo kill -QUIT nginx主进程号
# 快速停止命令,立即关闭nginx进程
sudo kill -TERM nginx主进程号
# 以上两个停止命令如果不管用,可以强制停止
sudo kill -9 nginx主进程号
5. 删除nginx,-purge包括配置文件
sudo apt-get --purge remove nginx
配置Nginx
1. nginx的配置文件位置
最新版本nginx配置是由4个文件构成:
- conf.d:用户自己定义的conf配置文件
- sites-available:系统默认设置的配置文件
- sites-enabled:由sites-available中的配置文件转换生成
- nginx.conf:汇总以上三个配置文件的内容,同时配置我们所需要的参数
2. 修改nginx默认web服务的端口
nginx默认配置文件是/etc/nginx/sites-enabled/default
,
修改其端口(修改其端口是为了不让该服务占用80端口,实际项目上使用的时候也需要改端口):
sudo vim /etc/nginx/sites-enabled/default
保存修改后的文件,重启nginx服务:
sudo systemctl restart nginx
检查默认的80端口是否能访问:
80端口已经访问不到了。
检查81端口是否可以访问:
81端口访问正常。
要将 192.168.229.128, 192.168.229.129两台服务器的ningx默认端口都改了。
3. 修改nginx的默认页面,做上标记,便于区分
nginx默认页面文件为/var/www/html/index.nginx-debian.html
, 编辑之。
sudo vim /var/www/html/index.nginx-debian.html
192.168.229.128服务器上增加这样一行:
192.168.229.129服务器上也增加这么一行,不过文本中的IP地址由128改为129:
保存关闭之后分别检查:
4. 配置负载均衡
在129.168.229.128服务器上配置负载均衡。
有关负载均衡方法的说明,请参考:https://www.cnblogs.com/1214804270hacker/p/9325150.html
在/etc/nginx/conf.d/
目录下新建文件,命名为nginx.conf(可以为任意*.conf
,即文件名可以任意,后缀名必须为.conf
)
sudo /etc/nginx/conf.d/nginx.conf
填写内容如下:
upstream load_banance
#负载均衡方法,可选:least_conn,ip_hash等,不填写则为轮询方式;
# 服务器的访问地址,最好使用服务器的私有IP以获得更好的性能和安全性。
server 192.168.229.128:81 weight=1;
server 192.168.229.129:81 weight=2;
server
# 负载均衡的监听端口
listen 80 default_server;
listen [::]:80 default_server;
# 负载均衡服务器的服务名称,没有时填写 _
server_name _;
location /
# 代理转发,注意这个load_banance要与 upstream 后的字符串相同
proxy_pass http://load_banance;
保存后重启nginx服务。
sudo systemctl restart nginx
5. 测试负载均衡
在浏览器中输入192.168.229.128
,刷新页面后发现来自 192.168.229.128服务器的页面和来自192.168.229.129服务器的页面轮番出现,且129页面出现的概率是128页面的两倍(填写两个服务器权重的时候,weight值不同)。
配置高可用性负载均衡
下一步配置高可用性负载均衡,请参阅《Ubuntu下keepalived和nginx实现高可用性负载均衡》
参考文献
https://www.nginx.cn/4996.html
https://www.cnblogs.com/1214804270hacker/p/9325150.html
以上是关于Ubuntu安装nginx并配置负载均衡的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu下keepalived和nginx实现高可用性负载均衡