Tomcat站点部署

  • 2019 年 11 月 20 日
  • 筆記

1、简介

Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在一台机器上配置好web 服务器,就代表可利用它响应别人访问自己建立的网站页面的请求。Tomcat的安装过程很简单,这里直接跳过(需要的小伙伴可以看之前的公众号文章)。

以部署jspxcms为例,在上面已部署的环境下继续操作。

2、安装MySQL及创建库

 [root@ansible ~]# yum -y install mariadb mariadb-server   [root@ansible ~]# systemctl enable mariadb   [root@ansible ~]# systemctl start mariadb

3、创建数据库并授权

 ##创建数据库密码,我这里先设置为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;

4、tomcat默认的网站目录

 [root@ansible webapps]# ls /usr/local/tomcat/webapps/   docs examples host-manager manager ROOT   [root@ansible webapps]# ls /usr/local/tomcat/webapps/ROOT/

5、部署jspxcms

1.jspxcms下载地址http://www.jspxcms.com,上传jspxcms安装包并解压

 [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/

2.导入sql文件

 [root@ansible tools]# mysql -D jspxcms_test < database/mysql.sql -p123456

3.编辑配置文件配置数据库连接信息

 [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

4.重启tomcat

 [root@ansible tools]# /usr/local/tomcat/bin/shutdown.sh   [root@ansible tools]# /usr/local/tomcat/bin/startup.sh 

6、web页面访问 前台地址:http://172.17.120.10:8080/

7、后台地址:http://172.17.120.10:8080/cmscp/index.do   默认账号:admin 密码为空

8、Tomcat多实例站点部署

多实例作用运行不同的应用(类似虚拟主机)多实例运行相同的应用(实现负载均衡,支持高并发处理,session问题)

1.拷贝tomcat目录

 [root@ansible local]# cp -a /usr/local/tomcat/ /usr/local/tomcat9_1   [root@ansible local]# cp -a /usr/local/tomcat/ /usr/local/tomcat9_2

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">

3.创建站点家目录,及测试页面准备

 [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>

4.删除掉之前的站点目录里面的东西,对这里没有用了。可以直接删掉

 [root@ansible local]# rm -rf /usr/local/tomcat9_2/webapps/*   [root@ansible local]# rm -rf /usr/local/tomcat9_1/webapps/*

5.启动tomcat1和tomcat2

 [root@ansible local]# for i in {1..2};do /usr/local/tomcat9_$i/bin/startup.sh; done

6.端口查看

 [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))

9、访问测试

10、Tomcat多实例启动脚本

 [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