Ubuntu安装nginx并配置负载均衡

Posted 智云-wjp

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个文件构成:

  1. conf.d:用户自己定义的conf配置文件
  2. sites-available:系统默认设置的配置文件
  3. sites-enabled:由sites-available中的配置文件转换生成
  4. 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实现高可用性负载均衡

Ubuntu下keepalived和nginx实现高可用性负载均衡

apt-get安装tomcat并测试nginx负载均衡

docker上配置nginx负载均衡

Nginx的安装以及反向代理和负载均衡的配置

Ubuntu 下 nginx 的安装卸载,以及tcp负载均衡示例