Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在一台机器上配置好web 服务器,就代表可利用它响应别人访问自己建立的网站页面的请求。Tomcat的安装过程很简单,这里直接跳过(需要的小伙伴可以看之前的公众号文章)。
以部署jspxcms
为例,在上面已部署的环境下继续操作。
MySQL
及创建库 [root@ansible ~]# yum -y install mariadb mariadb-server
[root@ansible ~]# systemctl enable mariadb
[root@ansible ~]# systemctl start mariadb
##创建数据库密码,我这里先设置为123456
[root@ansible ~]# mysql_secure_installation
##创建数据库并授权
[root@ansible ~]# mysql -uroot -p123456
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 25
Server version: 5.5.64-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;'or '\h'forhelp. Type '\c'to clearthe current input statement.
MariaDB [(none)]> create database jspxcms_test character setutf8;
MariaDB [(none)]> grant all on jspxcms_test.* to 'jspxcmsuser'@'localhost'identified by '123';
MariaDB [(none)]> flush privileges;
[root@ansible webapps]# ls /usr/local/tomcat/webapps/
docs examples host-manager manager ROOT
[root@ansible webapps]# ls /usr/local/tomcat/webapps/ROOT/
[root@ansible ~]# mkdir tools
[root@ansible tools]# ls
jspxcms-9-2.zip
[root@ansible tools]# unzip jspxcms-9-2.zip
[root@ansible tools]# ls
CHANGELOG.txt jspxcms-9-2.zip __MACOSX
database Jspxcms安装手册.pdf tomcat
jspxcms-9-2 Jspxcms安装说明_tomcat版.txt 用户许可协议.txt
[root@ansible tools]# rm -rf /usr/local/tomcat/webapps/*
[root@ansible webapps]# cd /root/tools/tomcat/webapps
[root@ansible webapps]# cp -a ROOT /usr/local/tomcat/webapps/
[root@ansible tools]# mysql -D jspxcms_test < database/mysql.sql -p123456
[root@ansible tools]# vim /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/application.properties
##第5行左右
spring.datasource.url=jdbc:mysql://{host}:{port}/{name}?characterEncoding=utf8
改为:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jspxcms_test?characterEncoding=utf8
##第7行左右
spring.datasource.username=root
改为:
spring.datasource.username=jspxcmsuser
##第10行左右
spring.datasource.password=password
改为:
spring.datasource.password=123
[root@ansible tools]# /usr/local/tomcat/bin/shutdown.sh
[root@ansible tools]# /usr/local/tomcat/bin/startup.sh
web
页面访问 前台地址:http://172.17.120.10:8080/多实例作用运行不同的应用(类似虚拟主机)多实例运行相同的应用(实现负载均衡,支持高并发处理,session问题)
[root@ansible local]# cp -a /usr/local/tomcat/ /usr/local/tomcat9_1
[root@ansible local]# cp -a /usr/local/tomcat/ /usr/local/tomcat9_2
[root@ansible local]# vim /usr/local/tomcat9_1/conf/server.xml
##第22行左右
<Server port="8091"shutdown="SHUTDOWN">
##第69行左右
<Connector port="8081"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
##第148行左右
<Host name="localhost" appBase="/webapps/tomcat9_1"
unpackWARs="true"autoDeploy="true">
[root@ansible local]# vim /usr/local/tomcat9_2/conf/server.xml
##第22行左右
<Server port="8092"shutdown="SHUTDOWN">
##第69行左右
<Connector port="8082"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
##第148行左右
<Host name="localhost" appBase="/webapps/tomcat9_2"
unpackWARs="true"autoDeploy="true">
[root@ansible local]# mkdir -p /webapps/tomcat9_{1,2}
[root@ansible local]# mkdir /webapps/tomcat9_{1,2}/ROOT
##tomcat9_1测试页面准备
<html>
<body>
<center>
<H1><%=new java.util.Date()%></H1>
<H2>tomcat9_1</H2>
</center>
</body>
</html>
##tomcat9_2测试页面准备
<html>
<body>
<center>
<H1><%=new java.util.Date()%></H1>
<H2>tomcat9_2</H2>
</center>
</body>
</html>
[root@ansible local]# rm -rf /usr/local/tomcat9_2/webapps/*
[root@ansible local]# rm -rf /usr/local/tomcat9_1/webapps/*
[root@ansible local]# for i in {1..2};do /usr/local/tomcat9_$i/bin/startup.sh; done
[root@ansible local]# ss -tnlp |grep :80
LISTEN 0 100 *:8009 *:* users:(("java",pid=50354,fd=59))
LISTEN 0 100 *:8080 *:* users:(("java",pid=50354,fd=54))
LISTEN 0 100 *:8081 *:* users:(("java",pid=51326,fd=54))
LISTEN 0 100 *:8082 *:* users:(("java",pid=51340,fd=54))
LISTEN 0 1 127.0.0.1:8091 *:* users:(("java",pid=51326,fd=67))
LISTEN 0 1 127.0.0.1:8092 *:* users:(("java",pid=51340,fd=67))
LISTEN 0 1 127.0.0.1:8005 *:* users:(("java",pid=50354,fd=72))
[root@ansible ~]# vim TomcatSys.sh
#!/bin/bash
#Desc:用于tomcat多实例部署启动脚本。
#Date:2019-11-19
#by:yunweimao
if[ "$1"=="tomcat1"];then
exportCATALINA_HOME="/usr/local/tomcat9_1"
elif[ "$1"=="tomcat2"];then
exportCATALINA_HOME="/usr/local/tomcat9_2"
else
echo$"Usage: $0{[tomcat1|tomcat2] start|stop|restart}"&& exit
fi
case "$2"in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep3
$CATALINA_HOME/bin/startup.sh
;;
*)
echo$"Usage: $0{[tomcat1|tomcat2] start|stop|restart}"&& exit
;;
esac
--------------------------------------------------------------------------
##使用说明:
[root@ansible ~]# ./TomcatSys.sh tomcat1 stop ##停止tomcat1
[root@ansible ~]# ./TomcatSys.sh tomcat1 start ##启动tomcat1
[root@ansible ~]# ./TomcatSys.sh tomcat2 restart ##重启tomcat2