我已经改变,但也来不及了。 --《搁浅》
1.环境准备
分别准备两台虚拟机,一台负责使用nginx进行负载均衡控制与动静分离,另一台则部署两个tomcat接收服务请求。
2.准备server2(部署tomcat的服务器)
在server2上安装tomcat,并解压至tomcat8081文件夹以及tomcat8082文件夹,然后分别配置其server.xml。
tomcat8081:
<Server port="8015" shutdown="SHUTDOWN">
and
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
tomcat8082:
<Server port="8025" shutdown="SHUTDOWN">
and
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
然后在其webapp文件夹下分别建立tomcat8081文件夹以及tomcat8082文件夹,分别在其中建立一个index.html,内容自定义可区分即可,分别到两个tomcat的bin目录下启动两个tomcat。
# 启动tomcat
./startup.sh
# 查看两个tomcat状态
[root@localhost tomcat8081]# ps -ef | grep tomcat
root 8053 1 0 03:22 pts/0 00:00:41 /usr/lib/jvm/java-1.8.0-openjdk/bin/java -Djava.util.logging.config.file=/tomcat/tomcat8081/apache-tomcat-8.5.78/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tomcat/tomcat8081/apache-tomcat-8.5.78/bin/bootstrap.jar:/tomcat/tomcat8081/apache-tomcat-8.5.78/bin/tomcat-juli.jar -Dcatalina.base=/tomcat/tomcat8081/apache-tomcat-8.5.78 -Dcatalina.home=/tomcat/tomcat8081/apache-tomcat-8.5.78 -Djava.io.tmpdir=/tomcat/tomcat8081/apache-tomcat-8.5.78/temp org.apache.catalina.startup.Bootstrap start
root 8096 1 0 03:25 pts/0 00:00:40 /usr/lib/jvm/java-1.8.0-openjdk/bin/java -Djava.util.logging.config.file=/tomcat/tomcat8082/apache-tomcat-8.5.78/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tomcat/tomcat8082/apache-tomcat-8.5.78/bin/bootstrap.jar:/tomcat/tomcat8082/apache-tomcat-8.5.78/bin/tomcat-juli.jar -Dcatalina.base=/tomcat/tomcat8082/apache-tomcat-8.5.78 -Dcatalina.home=/tomcat/tomcat8082/apache-tomcat-8.5.78 -Djava.io.tmpdir=/tomcat/tomcat8082/apache-tomcat-8.5.78/temp org.apache.catalina.startup.Bootstrap start
root 9867 7761 0 21:36 pts/0 00:00:00 grep --color=auto tomcat
3.准备server1(部署nginx的服务器)
3.1 准备静态资源(动静分离要用)
在根目录建立data文件夹,并在文件夹中建立images(存放图片)和www(存放静态网页)
3.2 配置nginx
nginx配置文件一般在下述位置:
vim /etc/nginx/nginx.conf
增加以下部分:其中192.168.125.12为tomcat所在虚拟机的IP地址,9001为nginx所在虚拟机的监听端口,这里采用NAT地址转换,要在vmware上设置对应的端口转发规则,如果采用的是桥接就不需要,这里设置的端口转发规则如下:
注意这里的虚拟IP地址,前9位必须对应vnet8的子网前九位如下:并且最后三位不能超过2^8-1=255
# 这里默认为轮换的算法,其他算法可自行查看官方文档操作
upstream myServers {
server 192.168.125.12:8081;
server 192.168.125.12:8082;
}
server{
listen 9001;
server_name www.cpf.com;
location ~ /tomcat8081/ {
proxy_pass http://192.168.125.12:8081;
}
location ~ /tomcat8082/ {
proxy_pass http://192.168.125.12:8082;
}
}
配置完后检查一下配置文件是否合规,如果有错误,它会给出相应的提示。
sudo nginx -t
重新加载 Nginx 配置:
sudo nginx -s reload
这会使 Nginx 重新加载配置文件,而不会中断现有的连接。
配置完后在宿主机浏览器就可以访问了。
至于动静分离,先在nginx.comf文件继续添加以下配置:location即刚刚在根目录文件下所创建的内容。
server{
listen 9003;
server_name www.cpf.com;
location / {
root /data/www;
}
location /images/ {
root /data;
}
}
这里端口转发规则为:
访问www.chhei.com:9003/index.html和www.chhei.com:9003/images/xxx.jpg即可直接访问到nginx服务器上的静态资源而不需要请求另一台服务器。