如何部署Java+vue?

79 阅读2分钟

最近写了一个Java+Vue+Mysql的项目。具体就是一个校园BBS 熟练一下Java Crud , 前端样式抄 “北大未名”,大概写了五天实现了网站的基本功能。

简述一下部署流程和一些坑 前期bug apt update | apt install mysql-server 死活装不上去 我发现我更新软件源的时候签名也是过期的 然后我 df-h 一下发现 /dev/vda1 分区下 40G 38G , 磁盘满了。 排查发现是原来docker拉的几个项目太大了,把磁盘空间占满了。

1 删除docker images

docker images docker rmi -f {id} # id是镜像的哈希id , 一般有依赖直接 -f 强制删了

3 AutoRemove

其实docker有自动化清理命令减少 /var/lib/docker/overlay2 的体积

du -hs /var/lib/docker/ # 查看磁盘使用情况
docker system df # 查看磁盘使用情况
docker system prune -a # 删除所有没有启动的镜像

有了空间之后软件装的十分丝滑 前端部署 vue run build 打包编译之后,上传Nginx。 # 添加配置 cd /etc/nginx/sites-available touch vue-app vue-app server { listen 80; server_name jiwaicat.top; # 将此替换为你的域名或IP地址

root /root/vue/dist;
index index.html;

location / {
    try_files $uri $uri/ /index.html;
}

} 启用Nginx 站点 ln -s /etc/nginx/sites-available/vue-app /etc/nginx/sites-enabled/ 之后去 nginx.conf , 把user改成root (我用root启动,不然出现权限问题,可以在log查到) user root; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf;

events { worker_connections 768; # multi_accept on; } 常用命令 nginx -t # 测试 nginx -s reload # 软重载 后端部署

1 打包成Jar

在Maven下Compile最新的代码,之后package一下。就可以在target目录里面看到编译好的jar包

2 上传服务器

scp xxx.jar root@192.168.1.x:/root/

3 运行Jar包

java -jar xxx.jar server.port=xxxx # 后台启动 nohup ~ 数据部署

##### 1
选择对应的数据库,使用mysqldump.exe -> 导出为sql (对应的idea里面也可以操作)

##### 2
scp到服务器,scp res.sql root@192.168.1.x:/root  # 上传到/root下

##### 3 
登录mysql,创建对应的数据库名。
source res.sql 即可

##### 4 
注意Mysql的账号问题,如果第一次安装,mysql -u root -p 的密码随便输都是对的
说明密码是初始状态,要在数据库中修改成jdbc连接的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'xxxx';