javaweb项目的导出及部署
1.在idea中导出项目
第一步,点击File,点击Project structure
第二步,点击Artifacts,然后点击+号,再点Web Application:Archive,然后点击Empty
第3步,点击name可以修改war包名字,然后点击'system' compile output,接着右键'system' compile output,点击Put into /WEB-INF/classes
第4步,右键system:war exploded,点击Put into Output Root,完成这一步就配置好了,然后点击确认
第5步,点击导航栏的Build,再点击Build Artifacts。 然后如下图,导出war包
其实在第二步可以也直接选择empty下面那个选项,点击确定,然后可以直接跳到第5步。
2.在宝塔部署项目
使用宝塔部署和管理项目都比较方便 宝塔的安装教程以及注意事项见宝塔官网教程:https://www.bt.cn/bbs/thread-79460-1-1.html
安装后登陆宝塔,在软件商店直接下载tomcat,会自动下载对应的jdk。 然后启动tomcat服务,此时就可以通过公网ip+默认端口8080访问默认主页,可以修改访问端口, 但修改的端口要未被使用,且已被放行。
上传war包
直接将上面导出的war包拖到tomcat的webapps文件夹中,然后刷新,war包会自动解压。 此时就可以通过ip+端口+war包名访问项目。
部署域名访问,以及https
在域名解析平台添加域名解析规则,修改tomcat的配置文件server.xml。
// 修改,端口号可以修改成80或者443,访问时可以不用加上端口
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
// 添加
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxThreads="150"
SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/buyphone-xhfblogsite-com-tomcat- 0612180646.jks"
certificateKeystorePassword="https证书密钥"
type="RSA" />
</SSLHostConfig>
</Connector>
// 添加
<Host name="buyphone.xhfblogsite.com" debug="0" appBase=""
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>buyphone.xhfblogsite.com</Alias>
<Context path="" docBase="/www/server/tomcat/webapps/mobilesale" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>
设置强制https访问配置如下: 在 tomcat /conf/web.xml 中的 后面加上以下内容:
<!--强制使用https,http请求会自动转为https -->
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<!--配置网站支持https,/* 表示全部请求都走https, transport-guarantee 标签设置为 CONFIDENTIAL以便使应用支持 SSL。 如果需要关闭 SSL ,将 CONFIDENTIAL 改为 NONE 即可 -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>