Linux环境(jdk+tomcat+mysql)部署javaWeb项目

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

部署过程

1、虚拟机安装centos-linux系统,安装jdk1.7+tomcat7+mysql5.5软件环境;

2、编辑tomcat/conf/tomcat-users.xml,增加用户方便管理tomcat服务;

<role rolename="manager-status"/>

<role rolename="manager-gui"/>

<user username="tomcat" password="tomcat" roles="manager-status,manager-gui"/>
复制代码

3、再编辑tomcat/conf/server.xml,新增Context标签:path=工程名,docBase=项目绝对目录

<Context path="/ProjectName" docBase="/usr/local/tomcat/webapps" privileged="true" reloadable="false" debug="0"/>

如果上面配置信息导致war包不会自动加载工程,就换个方式,docBase写上包括工程名的绝对路径:

<Context path="/" docBase="/usr/local/tomcat/webapps/ProjectName" privileged="true" reloadable="false" debug="0"/>
复制代码

4、设置防火墙:vim   /etc/sysconfig/iptables 重启:/etc/init.d/iptables restart,注意端口号要匹配;

永久修改(修改防火墙):-A INPUT -p tcp -m state --state NEW -m tcp --dport 8181 -j ACCEPT

临时修改(开放端口号):iptables -I INPUT -p tcp --dport 8181-j ACCEPT

或者简单粗暴:service iotables stop,也只是临时的;
复制代码

5、加载项目在windows下部署成功,linux+mysql会提示错误,原因是:对于表名大小写敏感;

image.png

解决方法:vim /etc/my.cnf ,在[mysqld]节下添加 lower_case_table_names=1 参数 (注:默认0大小写敏感,1大小写不敏感)。

6、利用winScp工具,把war包放在tomcat的webapps绝对路径下,重启tomcat服务:

7、注意启动tomcat次数不能太频繁,会导致项目访问连接数据库占用太多内存,导致内存溢出:

Exception in thread "Druid-ConnectionPool-Destroy-1336730877"

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Druid-ConnectionPool-Destroy-1336730877"
复制代码

8、尝试部署了1年的javaWeb项目在linux环境下,终于跑起来了。

贴心提示:

linux环境下,建议不要将war直接放在webapps目录下,因为每启一次tomcat就会再次解压一次war包; 而是在外面创建一个目录存放war,然后再使用命令unzip解压war包到指定目录:unzip war/xxx.war -d webapps/xxx

在linux环境下部署多个tomcat应用服务器,则需要在/etc/profile 设置多个tomcat的启动路径变量:

vi /etc/profile 增加:

CATALINA_1_BASE=/usr/local/tomcat1

CATALINA_1_HOME=/usr/local/tomcat1

TOMCAT_1_HOME=/usr/local/tomcat1

export CATALINA_1_BASE CATALINA_1_HOME TOMCAT_1_HOME

source /etc/profile 使之生效
复制代码

再第二tomcat修改conf/server.xml文件,使之不同于第一个tomcat的端口号,三个端口号都需要不同。

猜你喜欢

转载自juejin.im/post/7019456383355453477