项目上线
思维导图
云服务器
选的阿里云,系统是ubentu20.04,ecs和轻量级服务器都无所谓。
配置mysql
sudo apt-get update
- 安装mysql
sudo apt-get install mysql-server
- 启动
sudo service mysql. start
- 登录
sudo mysql -u root
- 设置root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
- 创建数据库
然后利用IDEA或者别的数据库管理软件,将本地数据库项目的SQL脚本(DDL)复制到剪贴板。在服务器上直接输命令或者创建脚本然后运行脚本,就能复制本地数据库到云端上去了。
安装oracle-19(巨坑)
可以参考这篇博客
-
前往官网下载jdk
- 本地下好后scp到服务器上
- 服务器上用wget命令下载
-
解压缩到指定目录。以我为例是
/usr/lib/jvm
。然后输入命令sudo tar -zxvf xxxx.tar.gz -C /usr/lib/jvm
-
配置环境变量。注意ubentu是
~/.bashrc
,貌似centos是~/.bash_profile
1
2
3
4
5jdk19
export JAVA_HOME=/usr/lib/jvm/jdk-19.0.2 ## 这里要注意目录要换成自己解压的jdk 目录
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH -
使修改生效
source ~/.bashrc
-
系统注册此jdk。我看很多博客没有这行命令,我不知道他们是怎么跑起来的,我试了很多次这行命令必须加上。
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/"your-jdk-package"/bin/java 300
-
回到Home目录,输入
java -version
检查安装是否成功。
如果我们在服务器上安装了多个java版本,可以使用update-alternatives系统更改默认版本。
sudo update-alternatives --config java
服务器安全组设置
开放20000端口用户ssh登录,443端口用于https,80端口用于http。
后端
没啥要干的,主要修改下api地址,用于适配acwing给我提供的nginx配置。
- 前缀加上api
- localhost换成域名
- 配置网关
打包代码
在三个服务的pom.xml
上写入以下代码:
1 | <packaging>jar</packaging> |
然后打开IDE右侧maven,点开backendcloud/生命周期,先clean在package。
如果过程中没报错的话,应该就能在目录下看到三个可执行jar包。将这三个jar包scp到服务器上即可。
在服务端上运行
将之前传来的三个jar包放到 kob/backendcloud
下,输入命令:
1 | java -jar backend-0.0.1-SNAPSHOT.jar |
不出意外的话就可以看到后端在服务器上跑起来了。
前端
- 将
http://127.0.0.1:3000
替换为https://appxxxx.acapp.acwing.com.cn/api
- 将
vs://127.0.0.1:3000
替换为wss://appxxxx.acapp.acwing.con.cn
打包代码
- 打开vue脚手架,点击build。如果不报错目录下会生成
dist
文件夹 - 通过scp将
dist
文件夹上传到服务器scp -r dist/ kobserver:kob/web/
mv dist/* .
配置nginx
这里真的巨坑。首先和之前的django项目一样,nginx相关的配置文件只能用acterminal来复制粘贴,否则会多出来很多莫名其妙的东西
- 创建文件夹
/etc/nginx/cert
- 将
acapp.key
和acapp.pem
这两个文件复制到该文件中去 - 覆盖
/etc/nginx
种的nginx.conf
文件- 若用户名不是acs,需要把
nginx.conf
中的acs全部改成自己的用户名
- 若用户名不是acs,需要把
- 启动nginx命令
sudo /etc/init.d/nginx start
- 若报错可以在
var/log/nginx/error.log
查看日志 - 修改nginx配置文件后要
sudo /etc/init.d/nginx reload
再start
- 若报错可以在
此时在浏览器输入你的域名,即可验证是否成功。