nginx搭建负载均衡

发布于:2024-10-15 ⋅ 阅读:(108) ⋅ 点赞:(0)

准备工作

  1. 两台虚拟机,或者本地启动两个相同应用,在不同的端口上
  2. 安装好的nginx,在linux上
  3. 两个版本的hexo,或者其他应用,方便观察是否进行了负载均衡

启动服务

在两台虚拟机上启动项目,这里以hexo为例
服务器1:192.168.10.130
服务器2:192.168.10.129
nginx服务器的地址:192.168.10.128
hexo启动的端口号为4000

配置nginx的conf文件

使用yum安装的配置文件的地址为/etc/nginx/nginx.conf

   # 配置负载均衡服务器地址
   upstream backend {
   		# 站点2的ip地址
        server 192.168.10.129:4000 weight=3;
        # 站点1的ip地址
        server 192.168.10.130:4000 weight=1;
        # 容灾地址,当上述服务器都挂掉的时候,请求打到这个服务器上
        server 192.168.10.128 backup;
    }
	
	# 站点配置
     server {
        listen       80;
        listen       [::]:80;
        # 服务器站点名称,如果使用自定义的,需要进行域名解析。静态的是修改host文件,动态的是购买阿里云的域名进行解析
        # windows的host文件是 c:\\windows\\system\\drivers\\etc\\host
        # linux的host文件是 /etc/hosts
        server_name _;
        # server_name  rblgs.node0;
        index         index.html index.htm;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;


        # 路由根目录到远程地址上
        location / {
        	# 实现负载均衡
            proxy_pass http://backend;
			## 下面的四个是默认的配置,不需要修改
            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_set_header X-Forwarded-Proto $scheme;
        }
   		error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

重启nginx

  • nginx -s reload
  • systemctl restart nginx
    使用yum安装的自动交给systemctl管理,如果自定义安装,使用./ngxin 配置文件的方式启动,或者手动写.service文件在/etc/systemd/system/中,创建nginx.service服务就行了

结果

使用访问 http://192.168.10.28,也就是nginx服务器的地址。注意这里使用http访问,因为监听的是80端口。然后不断刷新,就能看到访问两个服务器的hexo项目了。


网站公告

今日签到

点亮在社区的每一天
去签到