petstore idea调试以及centos下部署
**
1. windows环境
(1) 安装java1.8、mysql5.7、tomcat9,maven,git,idea,navicat,xshell,vm(centos7),。
(2) 在github新增petstore项目,生成并配置好rsa公钥。git@github.com:csuzhouyi/petstore.git
(3) 使用idea打开petstore,并使用maven进行编译打包,在idea中进行tomcat配置
(4)更改petstore中的数据库源,将petstore中原先使用的hsql数据源去除并同时删除pom依赖,新增mysql的pom依赖以及数据源。
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<!-- mysql数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/petstore?
useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="Mysqlzy"/>
</bean>
(5)初始化mysql数据库,新增petstore数据库,使用utf8mb4字符集以及utf8mb4_unicode_ci排序规则。新增相关表并插入初始化数据。
(6)使用idea进行debug调试,在浏览器中打开petstore网页。git提交代码。
2.centos7环境
(1)下载centos7镜像并在vm中安装。
(2)在centos7中已经自带jdk,所以只需要安装mariadb数据库、tomcat、git、maven。
(3)修改防火墙配置,开放8080、22、3306端口。
(4)mariadb数据库启动以后测试windows能正常访问。ps:此处由于VMware虚拟机使用nat,所以数据库的远程访问地址限制要使用虚拟网卡中的ip。
(5)启动tomcat,测试本地能正常访问tomcat首页。
(6)通过git clone一份petstore代码到centos7中,同样使用maven编译打包,将生成的war包复制到tomcat的webapps目录下,启动tomcat。此处tomcat版本应高于jdk版本,否则会因为不兼容导致报错。由于centos7中自带的jdk是1.8版本,而通过yum下载的tomcat却是7版本,所以第一次将war包部署到tomcat中后,在windows系统中访问会报404。通过查询catalina日志,发现有报错。在WEB-INF/classes下面新增一个logging.properties。
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
然后重新启动tomcat,在error-debug日志中查看具体报错信息,可以看到是因为一些类找不到。但是将同一个war包放到windows环境下是正常运行的,可以确定是tomcat版本过低。这里因为是通过yum安装,开始以为会是最新的tomcat9版本,没想到还是tomcat7, 不能兼容jdk1.8。所以卸载tomcat7后,重新下载tomcat9(或者8)到centos中。重新将war包部署到tomcat9上。成功通过windows访问petstore页面。