Tomcat部署项目(八)

单项目部署(pinter 项)

前提:数据库及表已经建立好
1、 先将项目放到 Linux 上某个目录下,如/root/app
image
注意:如果项目是 war 包形式的,需要先创建 pinter 文件夹,然后在文件夹内对 war 包进行解压:unzip pinter.war

2、数据库配置 (数据库已经建好:CREATE DATABASE pinter CHARACTER SET utf8 COLLATE utf8_general_ci;

项目的数据库安装在 192.168.1.29 机器上

cd /root/app/pinter/WEB-INF/classes
vi application.properties

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.1.29:3306/pinter?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=Admin#1234

3、修改 tomcat 的 /tomcat-pinter/conf/server.xml 文件,在标签内,添加如下配置

<Context path="/pinter" docBase="/root/app/pinter" debug="0" reloadable="true"/>

windows系统:
<Context path="/pinter" docBase="E:/Project/app/pinter" debug="0" reloadable="true"/>

注意:docBase部分改为自己项目的目录,具体见下面

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
	<Context path="/pinter" docBase="/root/app/pinter" debug="0" reloadable="true"/>
</Host>

4、进到 bin 目录下,执行命令:

cd /tomcat-pinter/bin
chmod +x ./*        // 给当前目录下所有的可执行文件授权
./startup.sh         // 启动 Tomcat

image

ps -ef|grep tomcat

image

5、 启动项目及查看控制台日志,项目是否启动成功

./startup.sh & tail -f ../logs/catalina.out

注意:第一次启动 tomcat 的时候,没有 catalina.out 文件,只需要执行./startup.sh

6、 浏览器访问 pinter 项目进行验证
http://{ip}:{port}/pinter

多项目部署(增加 TestOA 项目)

1、 将 OA 项目放到 Linux 目录下(和 pinter 同级目录)
image

2、 配置 OA 项目所需要的数据库信息(数据库必须启动,且已经导入了 oa.sql)
TestOA/WEB-INF/classes/jdbc.properties 文件,修改数据库的连接信息

3、 复制一份 tomcat,重命名为 tomcat-oa
image

4、 修改 tomcat-oa/conf/server.xml 文件

1、 <Server port="8005" shutdown="SHUTDOWN">

	将 8005 改为其他的,监听停止tomcat服务的端口

2、<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

	将 8080 改为其他的:tomcat 启动的端口

3、 <Connector port="8009" protocol="AJP/1.3" 将 8009 改为其他的

4、 <Host></Host>标签中添加项目路径配置,参考 pinter 项目

5、 启动 tomcat,查看控制台日志,项目是否启动成功

cd /tomcat-oa/bin
chmod +x ./*        // 给当前目录下所有的可执行文件授权
./startup.sh         // 启动 Tomcat

6、 浏览器访问 OA 项目进行验证
http://{ip}:{port}/homeAction_index.action

在配置项目过程中遇到的坑

  • navicat连接虚拟机CentOS7系统上的MySQL出现:2003-Can't connect to Mysql server on '192.168.1.29'(61 connection refuse)

  • 项目配置完,远程机器无法访问

关闭防火墙均无法解决:systemctl stop firewalled.service

后来查询了解到CentOS7使用的是 firewall-cmd

顺序执行命令

1、yum install firewalld firewall-config    // 安装firewall-config

2、firewall-cmd --state        // 防火墙状态为 runing

3、firewall-cmd --zone=public --permanent --add-port=8010/tcp        // 添加要开放的端口号

4、firewall-cmd --reload       // 使最新的防火墙规则生效

再次访问使用Navicat连接数据库,成功
网页访问部署的项目,成功

端口号被占用处理

  • 安装扩展包
    yum install -y systools

  • 使用命令查看端口号被占用的程序

netstat -anp       // 展示所有的端口号信息
netstat -anp|grep 8080   // 查看端口号为8080的程序,假设为1345
ps -ef|grep 1345      // 检查进程号为1345的程序
kill -9 1345     // 杀掉进程号 1345 的程序
posted @ 2021-07-25 16:31  DeyouKong  阅读(96)  评论(0编辑  收藏  举报