一、准备
你需要一台服务器(2核2g以上),这里推荐阿里云或腾讯云。
1、服务器准备
宝塔面板下载
比如使用centos服务器:
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_lts.sh && bash install.sh ed8484bec
2、打包前端代码:
配置开发和生产环境变量
运行npm run build
打包
在前端项目目录下将dist压缩为dist.tar.gz,比如在Linux环境下可以使用tar czf dist.tar.gz dist/
,之前整理了一份Linux基本命令,里面就有tar命令的基本用法:
【随笔】Linux常见基本命令
在宝塔上创建对应的文件夹来放前端页面,上传dist.tar.gz
到服务器上面并解压。
3、打包后端代码:
配置开发和生产环境:
运行mvn clean package -P prod
打包
在宝塔上创建对应的文件夹来放后端jar包,上传target./XXXX.jar
到服务器上面.
二、部署网站:
1、服务器
一个带有端口的网站需要开放对应的端口,需要在腾讯云或阿里以及宝塔上修改安全组开放对应的端口:
- 前端项目端口
- 后端项目端口
- 开启SLL需要开放
80
和433
端口 - 开放对应的mysql数据库端口
3306
2、部署前端项目:
网站
->PHP项目
-> 添加PHP项目
由于本地运行项目的时候,使用vite构建的项目有配置代理文件,但是需要使用到nginx代理,将配置文件添加一行:
location ^~ /pro-api/ {
proxy_pass http://服务器IP:后端端口号/;
}
修改配置:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
因为需要有png和jpeg以及对应的图片文件:
location ~ .*\.(gif|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
3、部署后端项目
(1)、修改宝塔上面的数据库密码:
(2)、新建一个MySQL远程连接用户:
可以参考之前发过的文章:
【Linux】安装mysql并配置远程连接用户
mysql -u root -p;
use mysql;
CREATE USER 'remote'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';
FLUSH PRIVILEGES;
EXIT;
网站
-> Java项目
-> 添加Java项目
:
三、总结:
1、当前端项目使用https
协议,后端项目确是一个http
协议的网站时候,使用nginx进行代理可以解决https网站不能访问http内容的问题,特别是后端用http协议储存媒体内容的时候,可以采用:
这种形式进行储存,后面nginx自动会反向代理到:
http://服务器地址:后端端口/files/xxxx.png
,这样就可以访问到对应的资源了。
2、网站使用https协议的时候,要先域名解析
,然后才配置对应的SSL证书
。
如果该文章对您帮助很大,希望能够点赞踩一下