所需材料
工具:安装宝塔面板服务器至少一台、域名一个
前端:生成dist文件(前端运行build命令)
后端:生成jar包(maven运行package命令)
准备:
打开宝塔面板,点击进入软件商店安装:nginx、mysql
进入终端输入命令自动安装java
yum install -y java-1.8.0-openjdk*
开始
前端
点击添加前端站点
输入自己的域名,不输入端口则默认80端口
添加完成后会自动生成网站目录,点击目录可跳转,删除目录中原有文件,并将前端dist文件夹中所有文件上传到本目录
这样前端就部署好了
后端
在/www/wwwroot/目录中新建文件夹,在新建的文件夹中上传已有的jar包
点击添加java项目,选择刚刚上传的jar包,然后会自动填写下面的信息,根据自己的需求修改,项目端口为后端设置运行的端口,项目执行命令为java的运行路径、程序运行时的内存限制等、最后加上一行命令 --spring.profiles.active=prod使得程序运行在生产环境中并提交
这样你的后端也部署好了,提交后程序会自动启动
mysql数据库
点击添加数据库,输入你的数据库名称,用户名会自动与数据库名一致,设置你的密码,访问权限可以修改为指定ip,然后填写你自己本地的公网ip即可在自己电脑连接服务器的数据库,更方便操作数据库
解决前端刷新404的问题
然后可以配置前端nginx,打开之前部署的前端,点击左侧配置文件,在文件中添加以下代码,使所有的路由都指向index.html文件,解决前端打开后跳转如果刷新就出现404的问题。
location / {
try_files $uri $uri/ /index.html;
}
使用nginx反向代理解决前端跨站访问后端的问题
保存后再次点击添加站点,输入后端访问的域名,直接提交。
点击左侧反向代理,添加反向代理,代理目录是 / 根目录,目标url修改为 http://127.0.0.1:【后端访问端口】
这样当前端向后端域名发起请求时,会将请求发到nginx服务器,然后nginx会将你的请求转发到后端域名,继而绕过跨域,也能不暴露后端的端口