实操Nginx实现负载均衡

    技术2022-07-11  87

    今天记录下自己的情侣网站使用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负载均衡配置源码或交流的同学欢迎留言。

    生命不息,编程不止!

    Processed: 0.008, SQL: 9