先讲一下我为什么写这篇文章:
我自己照猫画虎的写了一个项目,就想着将这个部署到服务器上,然而在这个过程中也踩到了不少坑,所以我一边问客服,一边自己尝试,最后终于部署成功了。顺便也记录记录我的过程。
第一步:拿到服务器(免费体验)
要想将程序部署到服务器上,第一件事就是自己先有一台服务器。
我们先到腾讯云中免费获得一个服务器。
然后进入活动页面,点击免费产品体验。
进来之后就可以选择你想要的服务器了,我是选择的一个轻量型服务器,对于我的程序来说已经是完全够用了,当然你们也可以选择其他的。 然后点进去走个付款流程就行了。
注意:这里我是拿了个数据库的做示范,我的服务器是CentOS系统,建议也用这个系统
在控制台就能看到你购买的服务器了,点击进去。
建议先把密码改了,以免后面忘掉。点击登录,或者也可以点击服务器进去看。
点击登录之后,先去宝塔官网复制这串代码,他的目的是通过宝塔面板来配置内容到服务器
然后将复制的代码粘贴到控制台中执行
执行完成之后会看到第三个框,当然你们的会比我多一些内容,但是最主要的是有个端口提示:请在安全组放行 ****** 端口。我这边是 22216 端口
第一个框是用户登录的指令:
登录面板:sudo su -
查看面板默认信息:bt 14
或
查看面板默认信息:/etc/init.d/bt default
第二个框是查看面板默认信息,或者也可以输入 bt
进入到服务器的防火墙界面,点击添加规则,规则里面来源一定要填写0.0.0.0/0,或则选择全部IPv4地址,端口处就输入上一个步骤里面提到的端口
顺便也像我那样点击 一键放通 ,里面可能也会有登录时用到的端口
然后就可以点击上面的外网的链接进去了
输入用户名和密码,登录进入宝塔面板。(账号和密码是生成的,在上面的步骤里,复制进去就行了)
登录成功后,先进入软件商店下载后面需要用到的软件,我这里下载了Nginx(部署前端的)、Mysql(数据库)、Redis(后端更新和删除令牌用的,没有用到就不管)
第二部分:开始配置
Mysql:
下载版本随意(有坑注意:我下载时是下载的默认版本,结果在导入数据库的时候一直导不出来,后面就删掉重新换了个版本'8.0.24')
先将本地数据库的数据导出(我使用的Navicat for Mysql),不管你使用的是什么数据库,总之先导出
然后就可以添加数据库了,个人建议密码输入简单一点(商业项目除外)
(有坑注意:切记切记,数据库名称不要使用“-”,不然后面导入数据库的时候会失败,可以像我这样使用“_”,别问我怎么知道,我就是这卡了半天)
然后就可以导入数据库了,当然也可以将root密码也修改了
导入完成之后可以点击“工具”,进去查看是否导入成功
现在我们MySQL算是完成了,接下来是将后端程序部署到服务器
部署后端:
可以先点击JAVA环境管理,下载所需的jdk版本,我这里用的是jdk17
然后就可以添加JAVA项目了。
注意:添加JAVA项目时 先将程序打包的jar文件存放到相应目录下(这里的big-event包是我自己创建的,dist文件包是我的前端代码)
Redis配置:
我这里的Redis没怎么配置,因为我的后端项目里就使用到了一个普通的令牌更新和删除功能,只需要Redis启动了就行,不需要额外的配置
前端部署:
首先就是部署后端项目时说的dist文件夹
先将前端程序打包,生成dist文件,然后将dist文件粘贴到相应文件夹中
程序打包:npm run build
然后点击设置进入配置修改添加代码(这里的端口用的默认的80端口,输入你的服务器久能直接进入,当然也可以换成其他端口,但是访问时就需要带上端口)
root:表示的是前端代码dist文件夹的位置
其他的就可以不用管了
server {
listen 80;
server_name localhost;
location / {
root /www/wwwroot/big-event/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html; # 解决刷新404
}
location /api/ {
# 设置代理目标
proxy_pass http://localhost:8090/;
}
}