部门接手公司内部需求的一个小项目,从设计到研发自主完成,期间遇到了不少困难。部署过程也是坎坷,特此写篇文章记录一下,也为新手们填个坑~高手请跳过~~
一、部署环境搭建(此步骤参考)
本人使用的公司內建的服务器,如有需求,可使用阿里云等云服务商的云主机,购买过程什么的就不说了,各位可以自行百度。下面主要介绍Java Web运行环境的搭建。
1、安装JDK
step1:下载JDK,由于部署的服务器是linux,所以选择x86的tar.gz包;下载完成后传到linux的目录下(本人放置的目录为/usr/java)
step2:解压jdk的tar文件到指定的目录
step3:配置环境变量
vi /etc/profile
添加如下代码
#set java environment
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_161
export JRE_HOME=/usr/java/jdk/jdk1.8.0_161/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存后执行
source /etc/profile
step4:验证安装是否成功
输入
java -version
出现如下界面即说明安装成功
2、安装Tomcat
step1:下载Tomcat,上传至服务器的相关目录下(本人的是/usr/java/tomcat)
step2:解压tomcat的tar文件到指定的目录
tar zxvf apache-tomcat-7.0.85
step3:配置Tomcat环境
进入Tomcat文件夹的bin目录下,打开setclasspath.sh
vi setclasspath.sh
添加路径
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_161
export JRE_HOME=/usr/java/jdk/jdk1.8.0_161/jre
保存后返回bin目录下执行
./startup.sh
step4:验证安装是否成功
出现如下界面说明安装成功
或输入IP:8080访问
至此部署环境就搭建好了,下面介绍将java web部署至服务器
二、上传Java Web项目
1、有几种部署方式,本文介绍是最简单的静态部署方式:直接将W eb项目文件拷贝到webapps目录中,其他部署方式请参见:Tomcat部署方式
2、上传方式
Step1:使用eclipse打包war包,右键项目-Export-WAR file
选择路径,一般而言不选择Export source file
Step2:上传至tomcat的webapps下,会自动解压
step3:访问http://IP:8080/TEST(项目名)即可
三、部署问题详解
部署会出现各种各样的问题,解决的话要看tomcat的log信息,根据报错解决;其中有个log文件比较重要
查看catalina.out
cat catalina.out
以下是我本次部署遇到的问题
1、静态页面可正常显示,凡是涉及数据库交互的页面均报错(本地程序无错误)
报错:java.net.BindException
解决方法:该问题是8005端口被占用,去Tomcat的tomcat/conf/server.xml中修改端口至未被使用的8006,然后重启Tomcat即可
2、数据库连接超时(此解决方法参考)
报错:
解决方法:该错误是由于MySql连接超时所致,在JDBC连接代码加入即可
?autoReconnect=true&autoReconnectForPools=true
四、部署更新(此步骤参考)
Step1: 停止tomcat
Step2: 清理tomcat下,webapps的war包解压目录、war包
Step3:上传新的war包
Step4:启动tomcat
五、修改配置文件使得通过访问域名可以直接访问主页
Step1:修改web.xml使得输入IP和端口号和项目名可直接访问项目主页
Step2:修改server.xml使得tomcat的8080端口变为域名默认端口80
Step3:修改server.xml使得tomcat默认为当前项目
在<Host></Host>内添加
<Context docBase="test" path="/" reloadable="true" source="org.eclipse.jst.jee.server:LeanFileUpload"/>
这样就大功告成啦~~~