
1.环境准备
由于公司的业务需要,tomcat单应用环境不足以支持用户需求,所以采用了nginx进行负载均衡,但本案例没有centos7的系统,所以再window开发机上模拟实现。首先去官网下载对应的nginx版本
之后解压出来,为了方便启动,我们写个批处理文件 start.bat
taskkill /f /t /im nginx.exe start nginx.exe
差不多如下图:
进入conf文件,修改 nginx.conf
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; upstream tomcats { server localhost:8181 weight=1; # 可以配置多个 server localhost:8282 weight=1; } server{ listen 80; server_name localhost; location / { proxy_pass http://tomcats; # 这里要和上面的别名一致 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 多重代理下的真实地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
配置完成后我们双击 start.bat;启动nginx ,去浏览器 localhost
接下来我们打开 idea开发工具, 新建一个 springboot项目 不懂的小伙伴可以看我的另一篇博客https://blog.csdn.net/Mr_xiatian/article/details/80151593 里面有详细的快速搭建流程
建完之后项目结构如下图:
我们 首先把 配置文件中的 server端口配置 8181,然后把控制器里面的根据 ID查询用户信息 写死 为1
启动项目,这就是模拟了 server1 ;启动完不管他,继续修改 端口8282, 把 ID查询改为2,模拟server2。具体如下图
至此,已经模拟好了 两台服务器。我们去浏览器里访问我们配置的 nginx : http://localhost/user/findOne/1 然后多刷新几次如下图:
数据库里我事先放了两条数据
我们发现查询的不一样了。 通过看控制台的日志我们也可以发现日志的输出也会不一样。 以上就完成了 nginx负载均衡的模拟,其实在生成环境中原理也差不多。
文章来源: windos下配置nginx,实现负载均衡人吐槽 | 人点赞 |
发表评论