适合小白练习的NGINX+tomcat集群搭建攻略(centos)

最近几天一直在研究nginx+tomcat集群的搭建,作为一名年轻程序猿,必不可少的走了不少弯路,所以写下这篇文章,希望对和我一样刚刚踏上程序猿之路的小白有所帮助,如果有大触愿意伸出猿手指点一二,那就太感谢不过了,废话不多说,上正文

工具:centOS7   NGINX   tomcat8  jdk1.8

NGINX 安装准备

    1.下载centOS虚拟机镜像,这里用到的是CentOS-7-x86_64-Minimal-1708.iso系统

    2.安装centOS虚拟机之后,先修改网卡配置文件,注意centOS7网卡配置文件不再是eth0,1,2,而是ens33文件

         vi /etc/sysconfig/network-scripts/ifcfg-ens33 


将该文件中最后一行的ONBOOT=no修改为为ONBOOT=yes,执行 service network restart将网络重启


执行yum -y install vim进行测试,如果下载成功则表示网络已连接

(vim 文本编辑器,后面需要使用,可以选择性下载,如果不下载只需将后面的命令中的vim修改为vi即可)

安装NGINX:

    战前准备:

           NGINX安装需要本地已经安装以下支持

            gcc g++、pcre库,zlib、及openssl

                    由于centos7自带后三种,所以这里我们只需要安装gcc 即可

                    1:安装make
            yum -y install gcc automake autoconf libtool make
            2:安装gcc

            yum -y install gcc gcc-c++

   安装实战:

        前面的准备工作我们已经做完了,下面直接上干货

        cd /usr/local/src/
wget http://nginx.org/download/ngnix-1.12.0.tar.gz
tar -zvxf ngnix-1.12.0.tar.gz
cd nginx-1.12.0
./configure

make && make install

        这里使用的是默认安装,考虑到很多和我一样白的不能在白的小白,有时候指定文件路径会把兴趣打消掉,学习嘛,循序渐进就好,所以现在用无脑的方式,等大家熟练了再往深处研究

    如果上面的命令没有报错的话,那么恭喜你,nginx已经成功安装到你的虚拟机上了,现在我们启动它,执行            /usr/local/nginx/sbin/nginx

    此时nginx启动完毕
由于虚拟机的端口并未开放,以此时无法用宿主机访问虚拟机IP

那么怎么查看nginx是否启动呢?有两种方法查看nginx是否成功启动

        1.命令查看url页面代码

            curl http://localhost

        curl命令:将后面的url的访问页面中的代码返回

        由于nginx的默认端口是80,所以我们用http://locahost即可获得nginx的欢迎页代码


看到那个硕大的Welcome to nginx没有!!,恭喜你,现在nginx已经牢牢的安装在你的虚拟机里了!

2.修改centos7防火墙设置,将80端口开放出来

考虑到一会还要搭建nginx+tomcat集群,如果每次都要用命令去访问,真的累眼睛

所以这里在介绍一种centos7开放端口的方法

如果大家上网查询开放段口的方法,大家会发现很多都是要你修改iptables文件,但是等你一个字母一个字母把cd /etc/sysconfig/路径敲完,按下回车就会发现,WTF???,说好的iptables文件呢???

所以为了避免大家来来回回的找浪费大家的时间,这里我就直接把我来来回回找完的结果告诉大家

首先centos7中并没有iptables-services,所以要开放端口需要先下载iptables-services,在下载之前需要关闭防火墙

        systemctl stop firewalld 
yum -y install iptables-services
systemctl start iptables

systemctl enable iptables

这个时候再进入/etc/sysconfig/文件夹,你会发现iptables文件已经像你女朋友一样在等你了(希望大家都有)

此时我们需要做的就是好好照顾自己的女朋友

vim iptables

打开这个文件


在-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  下面(或者上面)填写一条新的端口,最好是挨着22不要在最下面,因为之前查资料时有人说在最下面可能出问题

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

编辑完毕之后按下ESC 然后输入:wq 按下回车即可保存,此时要开放的端口号已经放进iptables文件中

systemctl restart iptables

重启之后意味着80端口已经开放出来了,我们要做的就是查询虚拟机的IP,然后用宿主机去访问它

ip addr  查询ip命令


ens33下面的inet 就是虚拟机的IP,用宿主机浏览器直接访问,可以看到你的nginx首页,也就证明你的第一个nginx已经搭建完毕啦

nginx+tomcat8 负载均衡集群

工具:已经搭建好的nginx、tomcat8.5.tar.gz、jdk1.8.tar.gz

 战前准备:

    在opt文件夹下新建tools文件夹

cd /opt/tools

        mkdir tools

由于jdk不支持wget下载,所以此时我们需要xftp工具,将下载好的jdk.tar.gz及tomcat8.5.tar.gz上传的我们的centos中,用我们上文查到的ip以及安装centos系统时的root账号即可连接,如果xftp工具连接出现问题(连接失败),可以换用xshell工具,

一样的填写虚拟机IP、用户名、密码即可连接

 

如果连接则操作台应如上图,此时按下ctrl+alt+F,即可打开文件上传工具,


将左侧已经下载好的jdk1.8及tomcat8.5的包放进/opt/tools文件夹下

此时我们回到虚拟机界面(其实用xshell也可以继续搭建),ll查看tools文件夹,就能发现刚才上传的包

安装实战:

安装JDK:
tar -zvxf jdk-8u161-linux=x64.tar.gz
mv jdk1.8.0_161 jdk
此时我们需要配置JAVA环境,
vim /etc/profile 在该文件最后填写以下代码

编写完成后esc + :wq保存退出
source /etc/profile

java -version查询,如果出现下面就证明jdk安装完毕

                

安装tomcat8.5
tar -zvxf apache-tomcat-8.5.28.tar.gz
mv apche-tomcat-8.5.28/ tomcat1
tar -zvxf apache-tomcat-8.5.28.tar.gz

mv apche-tomcat-8.5.28/ tomcat2

        在搭建nginx集群时我们需要修改个地方
1.修改两个tomcat的server.xml信息用以区别这是两个不同tomcat

2.修改nginx配置文件nginx.conf,将请求转发到某个tomcat上

        修改tomcat配置文件:

            tomcat1:

            

            

            

               tomcat2:

                           

        

        

另外,为了更只直观的区别两只cat,我们将两个tomcat/webapps/ROOT/index.jsp删除

rm -rf /opt/tools/tomcat1/webapps/ROOT/index.jsp

rm -rf /opt/tools/tomcat2/webapps/ROOT/index.jsp

在分别重建一个新的index.jsp

cd /opt/tools/tomcat1/webapps/ROOT/

vim  index.jsp

在打开的jsp文件中分别键入以下代码



按esc  输入 :wq保存退出

此时两只cat的区别已经修改完毕我们分别进入两个tomcat/bin文件夹执行

./startup.sh

即可启动这两只修改完的cat

修改nginx配置文件


        执行vim /usr/local/nginx/conf/nginx.conf

        在上图中1位置添加upstream 代码,即服务器集群,test.com是集群的名称,server:集群的服务器列表,最终我们访问的请求对装发给列表中的服务器,weight:服务器权重,后面的数值越大,则被分配到的几率越大

        将上图中2位置location中的代码删除,添加图中 的代码,需注意的是proxy_pass后面的http://test.com必须和1框中的服务器集群名称相同

确认修改完毕之后,按下ESC 输入:wq保存退出

重启nginx

/usr/nginx/sbin/nginx -s reload

用宿主机上的浏览器直接访问虚拟机ip



刷新几次,你会发现tomcat2的页面要多于tomcat1,这就是nginx.conf文件中配置的tomcat2 weight=2结果


至此,nginx+tomcat负载均衡集群已经搭建完毕,以上是我最近自己查了各位大神的文章慢慢总结的,以下是原文网址

http://blog.csdn.net/wang379275614/article/details/47778201 
http://blog.csdn.net/iamzhangyouzhi/article/details/41978537 
https://www.cnblogs.com/gscq073240/articles/6773000.html 


由于本人第一次写这种文章,如果有不对的地方希望大家尽量指出,以免误导各位其他人,还有就是感谢大神们写的文章,让其他人学习的路上避免了许许多多的弯路,祝大家新年快乐,一生平安

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值