如何让自己开发的web项目实现外网访问
这是小编第一次写博客,记录一下这些天一直在做的一件事情,如何把自己开发的springboot项目部署到华为云的远程服务器上,实现外网访问,如果对于此问题说的有什么不对的问题,欢迎各位大佬们在评论区留言指正。
大体思路:将springboot项目打包成war包,在远程服务器下下载tomcat,在服务器的tomcat上运行项目的war包,最终简化访问项目路径,实现输入域名就能直接访问网站首页的效果
(此步骤是在域名已经解析完成,并通过网站备案之后完成的)
需要的工具:IntelliJ IDEA 2020.1.4 x64();apache-tomcat-8.5.57-windows-x64
将项目部署成war包在tomcat中运行
- 将springboot项目部署成web项目并打包成war包
idea–>Project structure–>Modules–>添加web框架
此时Web Resource Directory的路径会变红,双击确认,一般默认的路径就可以
Project structure–>Artifacts–>添加Web application Exploded–>From Module–>选择项目名称
然后修改pom.xml文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<!--添加servlet-api的依赖-->
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<artifactId>项目名称</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
然后更新maven
2.修改启动类
3、打包部署
ij里面Build–>Build Artifact–>选择需要部署的war包
4、打包之后在项目的target文件夹中找到war包,复制到本地tomcatwebapp的下面,可以不用解压
5、本地配置好tomcat路径,然后运行,此时自动解压tomcatwebapp下的war包,然后在浏览器输入localhost:8080/项目名称即可访问项目网站(8080为默认端口,若在tomcat/conf/server.xml下修改了端口号,则改为对应的端口号)
参考博客:如何将spring boot项目打包成war包.
访问路径简化
1、 去掉项目名称:如果在浏览器输入localhost:8080会进入tomcat的首页,说明在此路径下,tomcat会默认运行webapps/ROOT文件夹里面的内容,所以我们可以让我们的项目直接变成ROOT文件夹,删掉原有的ROOT文件夹,将自己项目的war包命名为ROOT.war,重启tomcat
此时输入localhost:8080即可访问到项目文件
2、修改默认端口号(8080):如果不想用户在访问此网页时输入端口号,可以将端口号改为80(网页默认80端口号不显示)
进入到tomcat/conf/server.xml文件中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将此处的8080修改为80,重新启动tomcat,即可通过localhost访问
3、将localhost改成远程电脑的公网ip:如果远程服务器上安装Tomcat并执行前两步操作,此操作后,其他电脑也可以通过此ip地址访问到项目网页,实现远程访问(当然如果你域名解析并网站备案通过之后,也可通过域名访问到你的网页)
同样去到tomcat/conf/server.xml文件中
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
将上面两处的localhost修改为你的公网ip地址,然后就可以通过公网访问你的网页啦~~
参考博客:Tomcat访问路径去掉发布项目的项目目录
祝大家发布网站顺利~
如果博客中有什么内容有误,欢迎在评论区指出~