- 构成:spring boot + vue + mysql + redis-cluster + nginx
- 环境:linux + jdk1.8
- 工具:SshClient,navicat
- 准备材料:java代码打包(jar),vue代码打包,数据库备份文件(打包前代码中的地址与新服务器对应)
部署流程:
安装,使用SshClient(其他连接linux工具也可)连接服务器,安装jdk,mysql,nginx,redis-cluster等软件,安装步骤网上很多,注意下自己的安装路径
所有安装完成并启动后,使用navicat连接一下数据库,连接成功后,新建项目数据库,导入准备好的数据库sql文件
发布项目:
发布项目:root下新建项目jar包存放路径,例如 /root/project/项目名,cd到路径下,执行命令
nohup java -jar 项目包全程 &
jps -l 查看项目是否启动,启动成功
新建vue包存放路径,例如 /var/www/项目名/admin、/var/www/项目名/h5,建好之后直接把vue打包后的文件上传
至此,部署已完成大半,下面是最后一步
配置nginx:
配置nginx:找到nginx配置文件,打开编辑,
server { listen 80; server_name localhost; root /var/www; underscores_in_headers on; index index.html index.htm; location / { root /var/www; index index.html; } location /项目名_console/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:项目端口号/; client_max_body_size 100m; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
浏览器输入:服务器ip/项目名/admin/#/、服务器ip/项目名/h5/#/(一般用在移动端),打开成功,部署完成!
注意事项:
- Java项目打包前需要确认的路径信息:
- 数据库地址、账号、密码;
- Redis地址、端口;
- 文件上传地址、服务器ip等信息
- vue项目config.prod.js的接口路径
- 打开端口号(防火墙操作命令)
常用命令:
- linux查找命令:find / -name tomcat
- ls 显示文件和目录
- useradd –d /usr/sam -m sam 创建用户sam,并产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)
useradd su 创建用户
赋予管理员权限:vim /etc/sudoers 添加 su ALL=(ALL) ALL
passwd user1 修改用户user1的密码
userdel user1 删除user1用户
chown user1 /dir 将/dir目录设置为user1所有- 查看运行的jar文件:jps -l
- 杀掉进程:kill pid 8888, kill 8888, kill -9 8888(强制)
- 查看端口是否占用:netstat -anp|grep 8888
- 打包:tar -cvzf jdk1.7.0_51.tar.gz jdk1.7.0_51
- 解压:tar -xvf mysql.tar.gz
- 删除当前目录下的XXX:rm -rf XXX
- 创建文件夹:mkdir -p /usr/local/src/jdk
- 创建文件:touch a.txt
- 文件source更名:mv source target
- 远程登陆到其他主机,基于SSL加密:ssh root@192.168.20.182
- 远程拷贝:scp
- 防火墙常用命令:
- 查看:service iptables status (安装Linux虚拟机的)
- 开启:service iptables start
- 关闭:service iptables stop
// 安装firewalld 防火墙 yum install firewalld // 开启服务 systemctl start firewalld.service // 关闭防火墙 systemctl stop firewalld.service // 开机自动启动 systemctl enable firewalld.service // 关闭开机自动启动 systemctl disable firewalld.service // 查看状态 systemctl status firewalld // 查看状态 firewall-cmd --state //running 表示运行 // 查看开启的端口和服务 firewall-cmd --permanent --zone=public --list-services //服务空格隔开 例如 dhcpv6-client https ss firewall-cmd --permanent --zone=public --list-ports //端口空格隔开 例如 8080-8081/tcp 8388/tcp 80/tcp 开端口命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent 重启防火墙:systemctl restart firewalld.service firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent