Java web项目部署总结
一、本地部署
开发平台:eclipse , 配置好java web 项目相关的jdk、maven等。
通过maven的jetty插件部署web项目。
1、pom文件中引入jetty插件
部分配置如下:
详细的介绍可以参考:http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.13.v20130916</version>
<configuration>
<stopPort>9966</stopPort> //关闭jetty服务,jetty:stop
<stopKey>shutdown</stopKey>
<scanIntervalSeconds>1</scanIntervalSeconds> //扫描进行热部署的间隔时间,默认值为0
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port> //端口号
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
<webAppConfig>
<contextPath>/</contextPath> //web上下文
</webAppConfig>
</configuration>
</plugin>
2、jetty:run
jetty:run 直接使用源代码运行web程序,不将其打成war包。右键Java web项目, 选择run as -> Maven build...,打开Configuration的对话框; 或者 run Configurations... , 打开配置对话框, 最上面Name一栏可以看到项目名, 如果没有,在左侧maven build中选择对应的项目;
Goals处,写入jetty:run的命令,点击底部run 即可。
访问方式:127.0.0.1:端口号/项目名,上面pom文件中配置的端口号为8080,web上下文路径为/, 所以这个地方通过127.0.0.1:8080即可。如果不希望每次访问都需要加端口号,可以将端口号改为80(80为默认时的端口号)。
二、部署云服务器
环境: tomcat
1、打包:将web项目达成web包并上传服务器
1.1 修改pom文件:
修改packaging :<packaging>war</packaging>
加入war插件, 指定war名 :
<build>
<finalName>XX</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!-- <webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory> -->
</configuration>
</plugin>
</plugins>
</build>
1.2 maven install
右键项目,选择run as ->maven install, 在target目录下,或本地maven仓库中会有build 成功的war包。
2、部署war包
2.1 部署
将war包上传到服务器tomcat目录下的 /webapps中; webapps目录是tomcat的默认应用目录,是可配置的。下面主要总结下tomcat的conf/server.xml配置文件。
2.2 配置文件
打开tomcat目录下conf/server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
使用8080端口,通过http协议访问。这地方不是默认的80端口,在实际中,会在tomcat和客户端之间加一层代理服务器nginx,用于请求转发等。
<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false">
<Context path="/" docBase="/opt/web/Demo/webapps" crossContext="true" reloadable="true" maxPostSize="2048">
</Context>
</Host>
appBase:指定web应用所在的目录,默认值是webapps,这是一个相对路径,代表tomcat根目录下webapps文件夹。
Context 中docBase、 和path很重要。 docBase指定了web应用使用的应用目录。path指定了访问该web应用的上下文路径。
3、重启访问
通过tomcat/bin 目录下 ./startup.sh的脚本启动服务即可 , 日志文件:/logs/catalina.out
可以通过 http://localhost:8080/访问的文件名 访问服务。