环境准备
- 项目JDK1.8以上版本
- 准备好nginx环境
nginx配置
nginx的配置文件在/usr/local/nginx/conf目录下,配置文件nginx.conf
配置信息如下:
upstream web_app {
server 192.168.226.150:8089 max_fails=2 fail_timeout=30s;
}
- upstream web_app:定义一个名称,随意取名
- server + ip:端口 or 域名
在虚拟主机添加如下配置
#虚拟主机配置
server {
listen 80;
server_name localhost;
location / {
#root html; #定义服务器的默认根目录位置
#index index.html index.htm;
#反向代理的配置
#如果后端的服务器返回502,504,执行超时等错误,自动将请求转发到upstream负载均衡中的一台服务器
#实现故障转移
proxy_next_upstream http_502 http_504 error timeout invalid_header;
#将代理服务器收到的用户的信息传到真实服务器上
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_pass http://web_app;
}
说明:
- server:虚拟主机的名称,一个HTTP中可以配置多个server;
- listen:nginx默认的端口
- server_name:nginx服务的地址, 可以使用域名,多个用空格分隔
- proxy_pass :代理路径,一般配置upstream后面的名称用于实现负载均衡可以直接配置ip进行跳转
nginx.conf 简单的完整配置:
events {
worker_connections 1024;
}
error_log nginx-error.log info;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream web_app{
server 192.168.226.150:8089 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
root html;
proxy_pass http://web_app;
proxy_connect_timeout 3s;
proxy_read_timeout 5s;
proxy_send_timeout 3s;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
负载均衡测试
完成上面的Nginx配置之后,重启启动Nginx
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
微服务启动:
[root@pertest bin]# sh server.sh restart
访问接口,通过nginx的ip:端口+接口后缀地址
通过nginx的日志,也可以看到访问成功了
当有多个节点的时候,在nginx配置文件里面加上对应的ip:端口就可以了
欢迎来到testingpai.com!
注册 关于