搭建集群图例
- 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分:
环境说明
- Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + Tomcat 1.8 + Nginx 1.15
Linux 下安装 Nginx
下载nginx的tar包
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.g
安装gcc依赖
Nginx与Redis一样,都是C语言开发的,所以都需要在Linux上使用C语言编译后才能使用,所以得先安装用于编译的c环境
安装Redis时,只需要安装下面第一项的"yum install gcc-c++"即可;nginx则需要安装下面4项
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
Nginx 编译
先进入 nginx 减压后的目录 ,执行“./configure”
编译完成后,这个目录下会多一个“Makefile”文件
然后执行"make"命令进行编译,安装Redis时也有"make"操作
Nginx 安装
进入nginx减压后的目录,即上面的编译位置执行安装命令:make PREFIX=/usr/local/nginx install
PREFIX:指定安装到哪个目录下,否则默认安装时很容易找不到地方
在减压后的 nginx-1.15.0下执行安装命令"make PREFIX=/usr/local/nginx install",然后就有了安装后的目录“nginx”
Nginx 操作
进入nginx安装目录下的sbin目录:
测试nginx配置文件是否配置正确:"./nginx -t"
启动nginx:“ ./nginx ”
关闭nginx:"./nginx -s stop",也可以采用直接杀进程的方式
退出命令:“./nginx-s quit”,等程序执行关闭后,建议使用此命令。
动态加载配置文件:"./nginx -s reload",可以在不关闭nginx的情况下更新配置文件,使其生效。
开启防火墙端口
虽然上面启动了nginx,但是默认除了linux系统自身的浏览器可以访问之外,其它的电脑还是访问不了,因为CentOS的防火墙默认阻止了22以外的所有端口
可以使用CentOS 7.2系统自带firewall命令进行开启80端口,使用命令: firewall-cmd --zone=public --add-port=80/tcp --permanent
- firewall-cmd --reload
-
- firewall-cmd --zone=public --list-ports
浏览器访问
Nginx 集群
-
Nginx 集群
- 集群所有的操作与在Windows下完全一样,这里只做简要描述,可以参考《Nginx下载与 Windows下搭建集群》
准备web应用
- 仍然使用《Nginx下载与 Windows下搭建集群》中的nginxApp
准备tomcat1
- apache-tomcat-8_1的server.xml配置文件采用默认值,不做任何修改
准备tomcat2
- 修改apache-tomcat-8_2的server.xml配置文件
开放防火墙端口
默认情况下,这两个tomcat的端口防火墙是没有开放的,如果需要从windows电脑上直接访问CentOS中Tomcat服务器,则需要开启8080,8090端口
而现在使用nginx反向代理,用户不再需要直接访问Tomcat了,而是访问Nginx服务器,再由nginx转发到tomcat,所以此时不开启8080、8090端口也没事了
永久开启8090端口:firewall-cmd --zone=public --add-port=8090/tcp –permanent
刷新防火墙:firewall-cmd –reload
查看端口开放状态:firewall-cmd--zone=public --list-ports
Nginx设置
设置与windows完全也一样
- 修改nginx.conf文件