-
环境声明
系统统一为CentOS6.9
nginx的版本:nginx的-1.2.9.tar.gz
JDK版本:JDK-8u191-Linux的x64.tar.gz
Tomcat的版本:Apache的Tomcat的8.5.35.tar.gz
主机IP地址:
nginx的反向代理:192.168.0.2
tomcat的JDK +:192.168.0.3
本次实验为Tomcat的多实例(虚拟主机)
-
0.3主机安装JDK步骤
- 上传JDK + Tomcat的源码包至192.168.0.3主机
- 检查主机是否安装java中,如果有则卸载
rpm -q java #检查系统是否自带java rpm -e --nodeps java #如果有则卸载java
-
解压JDK包至/ Iur的/本地/下
tar -xf jdk-8u191-linux-x64.tar.gz -C /usr/local/ #解压jdk包至/usr/local/ cd /usr/local/ mv jdk1.8.0_191 jdk1.8 #为了方便找jdk,进入解压目录并重命名
-
配置JDK环境变量
vim /etc/profile #修改环境变量配置文件 #大G 跳到最后一行,添加 #JAVA export JAVA_HOME=/usr/local/jdk1.8 export JAVA_BIN=/usr/local/jdk1.8/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #退出 source /etc/profile #重新加载环境变量配置文件
-
0.3主机安装的Tomcat步骤
- 解压的Tomcat软件包值在/ usr /本地/目录下
tar -xf apache-tomcat-8.5.35.tar.gz -C /usr/local #将软件包解压至指定目录下 cd /usr/local/ mv apache-tomcat-8.5.35 /usr/local/apache-tomcat
- 配置Tomcat的环境变量
vim /etc/profile #打开环境变量配置文件,大G,添加tomcat环境变量 #TOMCAT export TOMCAT_HOME=/usr/local/tomcat-8080 export PATH=$PATH:$TOMCAT_HOME/bin source /etc/profile #刷新配置文件
- 将tomcat的的仓目录全部赋予执行权限
chmod +x /usr/local/apache-tomcat/bin/*
- 开启的tomcat
/usr/local/tomcat-8080/bin/startup.sh #开启taocat
-
配置Tomcat的多实例步骤
- 将运行的tomcat的停止
/usr/local/tomcat-8080/bin/shutdown.sh #关闭tomcat
- 拷贝解压目录,并删除实例下的日志文件
cd /usr/local/ cp -a apache-tomcat/ ./apache-tomcat-8090 #这里我拷贝的另一个实例为apache-tomcat-8090 cd apache-tomcat-8090/logs/ rm -rf * #进到8090实例的logs目录下,删除所有日志文件
- 打开Tomcat的配置文件,把把关机和连接器端口修改成自己想要的端口
cd /usr/local/apache-tomcat-8090/conf/ #进到tomcat的配置目录下 vim server.xml #打开tomcat配置文件 #这里的8005端口为默认关闭tomcat端口,因在第一个实例中8005以被占用,所以要修改为8006 <Server port="8005" shutdown="SHUTDOWN"> <Server port="8006" shutdown="SHUTDOWN"> #这一行为tomcat默认开启的端口,因第一个实例占用8080端口,所以改为8090端口 <Connector port="8080" protocol="HTTP/1.1" <Connector port="8090" protocol="HTTP/1.1" #修改端口可改成自己的端口,可随便改,没有限制,后面开始时记得访问自己修改的端口即可
- 启动tomcat的多实例
/usr/local/apache-tomcat/bin/startup.sh start #开启tomcat第一个实例 /usr/local/apache-tomcat-8090/bin/startup.sh start #开启tomcat第二个实例
02主机nginx的反向代理配置
- 解决nginx的源码安装时的依赖关系并安装GCC
yum -y install pcre-devel zlib-devel gcc*
- 解压软件包并创建用户
tar –xf nginx-1.2.9.tar.gz useradd -r -s /sbin/nologin nginx
- 进到软件目录,编译并安装
./configure --prefix=/usr/local/nginx –-user=nginx –-group=nginx #因为nginx做负载均衡,所以没有必要编译其他模块,只指定了一个运行用户和组 echo $? #查看是否有报错 make && make install
- 修改配置文件,添加负载均衡
cd /usr/local/nginx/conf/ cp -a nginx.conf nginx.conf.bak #备份一下nginx配置文件,留作以后还原 vim nginx.conf 2 user nginx; #修改了nginx运行时的用户 3 worker_processes auto; #修改了启动进程数量为自动 34 upstream tomcat { 35 server 192.168.0.3:8080; 36 server 192.168.0.3:8090; 37 } #添加了一个负载调度池 47 #location / { 48 # root html; 49 # index index.html index.htm; 50 #} #注释掉了location区域里并在下面添加了一个新的location区域 54 location / { 55 proxy_pass http://tomcat; #将来自jsp请求交给tomcat调度池处理 56 proxy_set_header Host $host; #后端的Web服务器可以通过X-Forwarded-For>获取用户真实IP 57 58 }
- 使用nginx的自带命令检查配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #使用nginx -t选项来测试配置文件是否正常
为了实验环境可以看出访问不同的Tomcat的实例,修改的Tomcat的首页文件以分别区分
需注意:
apache和tomcat网页默认保存位置
/usr/local/apache-tomcat/webapps 相当于apache的/var/www/html
#在tomcat下webapps目录下新建网站目录,存放网页,如果在webapps目录下新建网页tomcat是不认的
/usr/local/apache-tomcat/webapps/ROOT 相当于apache的/etc/httpd/conf.d/welcome.conf
#如果网站测试目录下没东西,则使用测试页
tomcat配置文件目录
/usr/local/apache-tomcat/conf
因不会写的Java网页,则去修改的Tomcat的测试页,来区分不同实例
vim /usr/local/apache-tomcat/webapps/ROOT/index.jsp
#修改测试页
在vim的末行模式下:
/Home
找到Home改为ROOT
保存并退出
再去nginx的上测试,就会发现两个实例一个为家庭,一个为ROOT
以上为所有试验步骤
当一台主机上运行多个Tomcat的实例时,可以理解为阿帕奇的虚拟主机
当多台主机上运行同一个tomcat的实例时,则为多机并存