简介
本章主要聊聊项目部署至服务器的过程,大致包括服务器的申请,域名解析,宝塔面板配置安装等等过程。
项目导出
Springboot项目是自带tomcat容器的,可以直接导出为jar,机器上装有java环境便可运行,但同样的我们也可以使用传统的方式打成war,然后放入机器中的tomcat的容器进行运行。前者还是比较省事的,本次部署我也是使用的这种方式。使用的开发工具是Idea,导出项目非常方便,首先是得在pom中进行导出设置:
packaging节点用来配置我们是导出为jar还是war。
其次是点击idea右侧的Maven选项,选择项目名,并点击Lifecycle,会出现这样一个菜单:
菜单里便是maven对此项目的所有操作了,这个菜单相当于我们在命令行中的mvn -**操作了,省去了打命令的时间以及maven环境变量的配置,非常方便。
稍微一提到的是clean操作,可以清理项目的缓存,之前开发时我加入了新的静态资源,但项目启动后怎么也更新不出来,后面双击了这个选项后,再双击compile操作,项目就进行了更新了。这里也稍微说一下maven这几个操作的解释吧,其中compile和install操作是两个有点类似但不相同的:
1.compile,编译命令,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。
2.package,这个命令会在你的项目路径下生成一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。
3.install,该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用。
3.clean,执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。
可以看的出install命令最为全面,几乎囊括了其他几个命令的功能。
而此处我们导出项目选择package打包命令即可,双击后打包操作将会开始执行,控制台会输出一些日志,提示如下后就表示项目打包完成了:
并可以在项目路径中的target目录中找到它。至此项目打包就完成了。
服务器以及环境搭建
之前有说到,因为对方要求面对海外用户,那么服务器最好选择海外了,所以域名我们也选择海外,这样还可以省去国内的备案步骤。起初服务器和域名都是在阿里云国际站购买的,但阿里云海外的服务器实在是有点太贵了。。。最后在腾讯云的中国站中找到了美国的服务器,还比较便宜,30M带宽的大概35元左右,就果断选择它了。服务器系统搭载的是CentOS7,而为了简化部署过程,安装好服务器后又上了宝塔控制面板,待会细说。接下来先说说在服务器控制台我们需要做的一些事情以及域名解析等。
服务器控制台端口放行
端口放行的目的很简单,就是为了能够在外部访问到,默认的80端口是已经放行了,我们还可以放行几个经常用到的端口,比如tomcat的8080端口,以及mysql的3306端口,想要远程进行服务器的数据库管理,那么3306端口是必须得放行的。以及用于远程SSH的22端口等等。若我们的服务器上还有程序在其他的特定端口上运行,在此处也要放行。操作也非常简单,腾讯云与阿里云类似,这里以阿里云轻量级服务器为例,都是进入控制台,选择自己的服务器,然后点击安全组(轻量级服务器在防火墙中),这里偷懒借助了阿里云官方的图片( ̄▽ ̄):
点击添加规则,在弹出的窗口中输入想要放行的端口号,其他选项保持不变即可。