Tomcat部署项目(八)
单项目部署(pinter 项)
前提:数据库及表已经建立好
1、 先将项目放到 Linux 上某个目录下,如/root/app
注意:如果项目是 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 "%r" %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
ps -ef|grep tomcat
5、 启动项目及查看控制台日志,项目是否启动成功
./startup.sh & tail -f ../logs/catalina.out
注意:第一次启动 tomcat 的时候,没有 catalina.out 文件,只需要执行./startup.sh
6、 浏览器访问 pinter 项目进行验证
http://{ip}:{port}/pinter
多项目部署(增加 TestOA 项目)
1、 将 OA 项目放到 Linux 目录下(和 pinter 同级目录)
2、 配置 OA 项目所需要的数据库信息(数据库必须启动,且已经导入了 oa.sql)
TestOA/WEB-INF/classes/jdbc.properties 文件,修改数据库的连接信息
3、 复制一份 tomcat,重命名为 tomcat-oa
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 的程序