一定要弄懂项目部署的方方面面。当服务器上部署的项目过多时,端口号什么时候该放行、什么时候才会发生冲突?多个项目使用redis怎么防止覆盖?Nginx的配置会不会产生站点冲突?二级域名如何合理配置?空闲的时候要自己用服务器试试,不然书到用时方恨少,项目紧急时赶不出来……
[0] 部署SpringBoot前后端不分离项目步骤
1. 阿里云控制台“云解析DNS”添加二级域名站点 (可选)
2. 阿里云控制台添加防火墙端口号、宝塔面板放行同样端口号 (可选)
3. 宝塔面板安装JDK、Nginx、MySQL
4. 导入数据库
5. 修改数据库连接账号密码,打包项目
6. 上传项目到指定位置,宝塔中添加Java站点
[1] 阿里云控制台“云解析DNS”添加二级域名站点 (可选)
在阿里云控制台“云解析DNS”——“解析设置”中添加二级域名站点:
添加二级域名的话,只需要填写图中框中的地方即可。
为什么此步骤是可选的?因为有的人想要用一级域名(即www.xxxx.com)来访问站点,那么这里就不需要再来额外添加二级域名了。在DNS开始的时候,阿里云控制台就会解析几条域名数据,其中包含www。
[2] 阿里云控制台添加防火墙端口号、宝塔面板放行同样端口号 (可选)
阿里云控制台放行防火墙端口号:
在宝塔面板同样放行防火墙端口号:
为什么此步骤是可选的?因为默认端口号80是放行的,可以直接使用80端口号。使用了nginx之后,多个站点可以使用同一个端口号。例如多个站点使用了80端口,一个请求过来时,nginx会监听80端口,然后根据不同站点的配置文件,把请求转发到不同位置。这就叫做反向代理。
[3] 宝塔面板安装JDK、Nginx、MySQL
1、JDK是Java运行环境。
2、Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。
3、MySQL安装时要注意版本,一般是5.7或8.0。
以上三者直接去宝塔应用商店安装即可。
[4] 导入数据库
宝塔面板中创建数据库:
创建好之后,把sql文件导入。
[5] 修改数据库连接账号密码,打包项目
把SpringBoot项目中连接数据库文件的账号密码改成上图中的,然后把项目打包好成Jar包。
[6] 上传项目到指定位置,宝塔中添加Java站点
上传项目到指定位置,这里的位置不太重要,随便那里都可以。
宝塔中添加Java站点:
提交完成后,直接访问可能会报错502,耐心等一小会,项目就会完整启动了。
nginx采用反向代理。我们用二级域名不加端口去访问,nginx将80端口获得的请求转发到nginx中的对应端口中,如上图设置的8752。
【注意】
在阿里云“DNS解析”中添加放行端口时,有时间延迟,要耐心等一会;