今天记录下自己的情侣网站使用Nginx实现负载均衡(两个网站服务)。网站是部署在阿里云ecs服务器。
网站内容比较隐私就不写出来了。
首先,网站有域名,证书是以前配好的,一直用https访问。
443端口默认是转发8443,所以tomcat服务是监听8443。
下面开搞
整理下大概思路:
1.安装nginx
2.安装另一个tomcat服务器并配置ssl、端口、部署服务
3.阿里云控制台和服务器防火墙上都要开放需要的端口
4.配置负载均衡节点
整理下遇到的问题:
1.linux下免安装版tomcat启动遇到apr模块无效问题,因为我是有域名https访问用到apr。
2.Nginx配置负载节点后静态文件无法加载,404!
详细对以上步骤分析
1.安装Nginx,我用的oneinstack,命令安装很简单。https证书以前也配置好了。
2.免安装tomcat版本与现有的差别不大,直接拷贝server.xml配置,修改新的端口即可。
当然证书文件也要拷到相应位置。
localhost.xml
再说下免安装tomcat遇到的问题。单独整理出来了,问题原因很简单需要手动安装下apr模块。
https://blog.csdn.net/qq_34150524/article/details/107062126
3. 阿里云和服务器主机开放所需端口
Nginx: 443、8445、8446
tomcat:8443、8444
4.配置Nginx负载均衡
首先配置俩代理节点。测试保障俩代理节点都可以正常访问。
Nginx的8445 --> Tomcat的8443
Nginx的8446 --> Tomcat的8444
然后,使用upstream分组
最后,加个443端口的负载节点代理到分组节点即可实现负载。
最后再说下问题,在上图中443端口服务中,由于没去掉默认的静态文件localtion代理,导致网站静态文件都给拦截下来没有转发!都是不熟悉Nginx造成的。
总结:之前有windows本地搞过简单页面例子,负载基本配置流程是搞懂了。这次实际搞网站虽然也是简单的实现负载,但是会遇到很多Nginx和其他linux部署网站问题,总的来说收获很多。
后面继续学习企业级高可用负载均衡方案。
有需要Nginx负载均衡配置源码或交流的同学欢迎留言。
生命不息,编程不止!