Tomcat多实例部署
安装jdk
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost opt]
apache-tomcat-8.5.16.tar.gz jdk-8u91-linux-x64.tar.gz rh
[root@localhost opt]
[root@localhost opt]
apache-tomcat-8.5.16.tar.gz jdk1.8.0_91 jdk-8u91-linux-x64.tar.gz rh
[root@localhost opt]
jdk1.8.0_91/ jdk-8u91-linux-x64.tar.gz
[root@localhost opt]
[root@localhost opt]
bin etc games include jdk1.8.0_91 lib lib64 libexec sbin share src
[root@localhost opt]
[root@localhost profile.d]
256term.csh colorgrep.csh flatpak.sh less.sh vte.sh
256term.sh colorgrep.sh lang.csh PackageKit.sh which2.csh
abrt-console-notification.sh colorls.csh lang.sh vim.csh which2.sh
bash_completion.sh colorls.sh less.csh vim.sh
[root@localhost profile.d]
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[root@localhost profile.d]
部署Tomcat
[root@localhost profile.d]
[root@localhost opt]
apache-tomcat-8.5.16.tar.gz jdk-8u91-linux-x64.tar.gz rh
[root@localhost opt]
[root@localhost opt]
apache-tomcat-8.5.16 apache-tomcat-8.5.16.tar.gz jdk-8u91-linux-x64.tar.gz rh
[root@localhost opt]
[root@localhost opt]
[root@localhost opt]
bin games jdk1.8.0_91 lib64 sbin src tomcat2
etc include lib libexec share tomcat1
[root@localhost opt]
[root@localhost opt]
[root@localhost tomcat2]
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@localhost tomcat2]
[root@localhost bin]
bootstrap.jar configtest.bat setclasspath.sh tomcat-native.tar.gz
catalina.bat configtest.sh shutdown.bat tool-wrapper.bat
catalina.sh daemon.sh shutdown.sh tool-wrapper.sh
catalina-tasks.xml digest.bat startup.bat version.bat
commons-daemon.jar digest.sh startup.sh version.sh
commons-daemon-native.tar.gz setclasspath.bat tomcat-juli.jar
[root@localhost bin]
export CATALINA_BASE=/usr/local/tomcat2
export CATALINA_HOME=/usr/local/tomcat2
export TOMCAT_HOME=/usr/local/tomcat2
[root@localhost bin]
export CATALINA_BASE=/usr/local/tomcat2
export CATALINA_HOME=/usr/local/tomcat2
export TOMCAT_HOME=/usr/local/tomcat2
[root@localhost bin]
[root@localhost tomcat1]
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@localhost tomcat1]
[root@localhost bin]
bootstrap.jar configtest.bat setclasspath.sh tomcat-native.tar.gz
catalina.bat configtest.sh shutdown.bat tool-wrapper.bat
catalina.sh daemon.sh shutdown.sh tool-wrapper.sh
catalina-tasks.xml digest.bat startup.bat version.bat
commons-daemon.jar digest.sh startup.sh version.sh
commons-daemon-native.tar.gz setclasspath.bat tomcat-juli.jar
[root@localhost bin]
export CATALINA_BASE=/usr/local/tomcat1
export CATALINA_HOME=/usr/local/tomcat1
export TOMCAT_HOME=/usr/local/tomcat1
[root@localhost bin]
export CATALINA_BASE=/usr/local/tomcat1
export CATALINA_HOME=/usr/local/tomcat1
export TOMCAT_HOME=/usr/local/tomcat1
[root@localhost bin]
Using CATALINA_BASE: /usr/local/tomcat1
Using CATALINA_HOME: /usr/local/tomcat1
Using CATALINA_TMPDIR: /usr/local/tomcat1/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]
Using CATALINA_BASE: /usr/local/tomcat2
Using CATALINA_HOME: /usr/local/tomcat2
Using CATALINA_TMPDIR: /usr/local/tomcat2/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]
tcp6 0 0 :::8080 :::* LISTEN 40828/java
tcp6 0 0 :::8081 :::* LISTEN 40885/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 40828/java
tcp6 0 0 127.0.0.1:8006 :::* LISTEN 40885/java
tcp6 0 0 :::8009 :::* LISTEN 40828/java
tcp6 0 0 :::8010 :::* LISTEN 40885/java
网页输入http://192.168.65.102:8080
http://192.168.65.102:8081都可以出现画面
NGINX+Tomcat负载均衡、动静分离
部署Tomcat页面
Tomcat1
[root@localhost ~]
[root@localhost webapps]
docs examples host-manager manager ROOT
[root@localhost webapps]
[root@localhost webapps]
[root@localhost mm]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP tomcat1 page</title>
</head>
<body>
<% out.println("动态页面 1,Hello Tomcat1");%>
</body>
</html>
Tomcat2
[root@localhost mm]
[root@localhost webapps]
[root@localhost webapps]
[root@localhost webapps]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP tomcat2 page</title>
</head>
<body>
<% out.println("动态页面 2,Hello Tomcat2");%>
</body>
</html>
[root@www webapps]
[root@www webapps]
docs examples host-manager manager mm ROOT test1 test2
[root@www webapps]
[root@www mm]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP tomcat3 page</title>
</head>
<body>
<% out.println("动态页面 2,Hello Tomcat3");%>
</body>
</html>
配置NGINX服务
yum安装NGINX
[root@localhost opt]
[root@localhost yum.repos.d]
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]
[root@localhost yum.repos.d]
[root@localhost yum.repos.d]
repo.bak
[root@localhost yum.repos.d]
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[root@localhost yum.repos.d]
验证中 : 1:nginx-1.24.0-1.el7.ngx.x86_64 1/1
已安装:
nginx.x86_64 1:1.24.0-1.el7.ngx
完毕!
部署NGINX页面
[root@localhost ~]
[root@localhost html]
50x.html index.html
[root@localhost html]
[root@localhost html]
[root@localhost html]
[root@localhost mm]
test.html
实现动静分离
[root@localhost html]
[root@localhost nginx]
在
upstream tomcat {
server 192.168.65.101:8080 weight=1
server 192.168.65.102:8080 weight=1
server 192.168.65.102:8082 weight=1
}
[root@localhost nginx]
[root@localhost conf.d]
default.conf
[root@localhost conf.d]
location ~* .*\.jsp$ {
proxy_pass http://tomcat;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
[root@localhost nginx]
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost conf.d]
负载均衡
将192.168.65.104主机的nginx.repo拷贝到192.168.65.103
[root@localhost ~]
[root@localhost yum.repos.d]
nginx.repo repo.bak
[root@localhost yum.repos.d]
The authenticity of host '192.168.65.103 (192.168.65.103)' can't be established.
ECDSA key fingerprint is SHA256:63CrYDGmi+o9Wnfxyu+ceZXb8PaFjKl3Ob3EEWD50ag.
ECDSA key fingerprint is MD5:6e:96:3c:ab:13:8b:b9:d2:cd:34:80:46:3c:52:8e:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.65.103' (ECDSA) to the list of known hosts.
root@192.168.65.103's password:
nginx.repo 100% 178 134.9KB/s 00:00
192.168.65.103
[root@localhost ~]
[root@localhost yum.repos.d]
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
[root@localhost yum.repos.d]
[root@localhost yum.repos.d]
[root@localhost yum.repos.d]
repo.bak
[root@localhost yum.repos.d]
nginx.repo repo.bak
[root@localhost yum.repos.d]
验证中 : 1:nginx-1.24.0-1.el7.ngx.x86_64 1/1
已安装:
nginx.x86_64 1:1.24.0-1.el7.ngx
完毕!
104
[root@localhost yum.repos.d]
[root@localhost nginx]
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
[root@localhost nginx]
root@192.168.65.106's password:
default.conf 100% 1292 324.4KB/s 00:00
nginx.conf 100% 804 630.6KB/s 00:00
[root@localhost nginx]# cd /usr/share/nginx/html/
[root@localhost html]# ls
50x.html index.html mm
[root@localhost html]# vim mm/test.html
<h1>this is nginx static web1 page!</h1>
[root@localhost html]# scp -r mm/ 192.168.65.103:`pwd`
root@192.168.65.106's password:
test.html 100% 40 12.1KB/s 00:00
103
[root@localhost yum.repos.d]
[root@localhost html]
50x.html index.html mm
[root@localhost html]
<h1>this is nginx static web2 page!</h1>
[root@localhost html]
[root@localhost nginx]
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost nginx]
输入以下网址出现下图
http://192.168.65.103/mm/test.html
http://192.168.65.103/mm/test.jsp
192.168.65.105
[root@localhost ~]
[root@localhost opt]
nginx-1.18.0 .tar.gz rh
[root@localhost opt]
[root@localhost opt]
[root@localhost opt]
nginx-1.18.0 nginx-1.18.0 .tar.gz rh
[root@localhost opt]
[root@localhost nginx-1.18.0]
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module \
> --with-stream
[root@localhost nginx-1.18.0]
[root@localhost conf]
[root@localhost nginx]
conf html logs sbin
[root@localhost nginx]
[root@localhost conf]
fastcgi.conf koi-utf nginx.conf uwsgi_params
fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
fastcgi_params mime.types scgi_params win-utf
fastcgi_params.default mime.types.default scgi_params.default
[root@localhost conf]
在http上一行添加
stream {
upstream nginx_server{
server 192.168.65.103:80;
server 192.168.65.104:80;
}
server {
listen 80;
proxy_pass nginx_server;
}
}
下边的80监听端口改为8333
[root@localhost conf]
[root@localhost nginx]
[root@localhost sbin]
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
[root@localhost sbin]
[root@localhost sbin]
tcp 0 0 0.0.0.0:8333 0.0.0.0:* LISTEN 5480/nginx: master
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5480/nginx: master
[root@localhost sbin]
[root@localhost nginx]
client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp
[root@localhost nginx]
[root@localhost conf]
fastcgi.conf koi-utf nginx.conf uwsgi_params
fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
fastcgi_params mime.types scgi_params win-utf
fastcgi_params.default mime.types.default scgi_params.default
[root@localhost conf]
keepalive_timeout 0;
[root@localhost conf]
105未设置页面,但是可以访问其他的静态和动态页面