sprinboot+vue项目详细部署步骤
文章目录
下面是实际项目部署完整详细步骤,仅供参考。
1、准备部署文件
首先需要以下文件:
- 后端包(关联交易需要:toplink-admin.jar后台管理包和toplink-rule-server.jar规则引擎服务包)Maven->clean->package
- 后端配置文件,比如application.ym等,用于后面把配置文件提取到和jar包同一路径进行修改
- sql文件
- 前端dist包 ,修改好ip,端口、路径等之后 npm run build命令进行打包
- mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar(如果有别人的mysql服务器这个就不需要,直接把sql在别人的服务器运行)
- redis安装包
- nginx安装包
以及两台linux服务器:一台放数据库,另一台放代码,nginx,redis
2、安装mysql
当然,一般的项目部署可能直接连接别人的数据库,就不需要自己安装数据库跑sql文件。
2.1、配置mysql
首先下载好mysql的压缩包上传到存放mysql的linux服务器,进行解压,再按照下面步骤:
MySQL的安装步骤:
1.先进入MySQL的安装包 cd mysql5.71/
2.检查依赖: rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
3.避免依赖: rpm -Uvh --force --nodeps *.rpm
4.配置MySQL: vi etc/my.cnf 在最后面添加lower_case_table_names=1
5.初始化:mysqld --initialize --user=mysql
6.启动MySQL: systemctl start mysqld
#查看mysql状态 停掉mmysql systemctl stop mysqld
#service mysqld status 或者ps -ef | grep mysql kill -9 PID可以关闭端口
7.查看防火墙状态: systemctl status firewalld systemctl stop firewalld 停止防火墙
禁用防火墙 systemctl disable firewalld.service
8.查看日志文件中密码:cat /var/log/mysqld.log | grep password root@localhost:这个后面的是密码 比如: @localhost: L*e8a5teI/_6
9.登陆MySQL: mysql -uroot -p
10.修改MySQL的密码: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
11.支持root用户允许远程连接mysql数据库
①show databases;
②use mysql;
③select user,host from user;
④update user set host = '%' where user = 'root';
⑤flush privileges;
12.刷新数据库: flush privileges;
13.建立一个用户
create user zmz identified by 'zmz';
grant all privileges on *.* to 'zmz'@'%';
flush privileges;
2.2、用navicat远程连接mysql导入数据
查看ip :
ifconfig
如果连接不上mysql:
ping linux的虚拟机ip
MySQL配置文件:检查MySQL服务器的配置文件(通常是/etc/mysql/my.cnf),确保bind-address参数的值设置为MySQL服务器的IP地址。如果该参数被设置为127.0.0.1,则只能本地访问MySQL,需要将其修改为服务器的IP地址。
bind-address = 服务器IP地址
还是连不上就查看防火墙关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
2.3、导入mysql数据
建立数据库 ->执行sql文件即可
3、安装jdk
在项目代码和nginx、redis所在的服务器安装jdk。
扫描二维码关注公众号,回复:
16870998 查看本文章
![](/qrcode.jpg)
- 我这里先建了个目录/usr/local/jdk1.8,直接使用Xftp把下载好的jdk1.8上传到该路径下
- 解压:
tar zxvf jdk-8u333-linux-x64.tar.gz
解压完成:
- 接下来就该配置环境变量了,输入以下指令进行配置:
vim /etc/profile
- 输入完毕并回车,在文件尾部添加如下信息: 注意自己的路径和jdk包名(输入i就可以进入编辑模式)
JAVA_HOME=/usr/local/jdk1.8/jdk1.8.0_333
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
- esc 然后 :wq 保存退出
- 编辑完之后,保存并退出,然后输入以下指令,刷新环境配置使其生效:
source /etc/profile
java -version
查看版本如下 ,ok
4、安装nginx
也是首先下载nginx的压缩包,用可视化工具上传到linux服务器。
安装步骤如下:
Nginx的安装步骤:
cd usr/local/
mkdir nginx
使用可视化工具把nginx压缩包放进/nginx目录下
1.解压nginx tar -xf nginx-make-1.19.5.tar.gz 或者yum install -y unzip 然后unzip 文件名.zip
2.进入sbin chmod +x nginx
3.启动nginx ./nginx
4.查看进程 ps -ef |grep nginx
5.返回上一级,进入conf,查看,ls |grep nginx.conf
6.检查是否安装成功: 访问本机ip
5、安装redis
1.解压redis unzip redis.zip
2.进入bin文件
3.赋予权限 chmod 744 .........(文件)
4.启动:./start.sh
或者 nohup ./redis-server /usr/local/redis/bin/redis.conf
5.查看进程: ps -ef |grep redis
netstat -ano |grep 6379(端口号)
6、创建对应的目录层级和启动
- 这个是项目的toplink-admin后台管理的层级
6.1 构建启动脚本
下面是启动脚本 server.sh 放在和jar包同一目录下(由于是两个服务,就改了两个脚本)
这里可能会出现脚本换行符的问题,如下为解决方式:
yum install dos2unix
dos2unix server.sh
chmod +x server.sh
#!/bin/bash
#下面分别改为你的服务名和jar名称
APP_NAME="toplink"
JAR_FILE="toplink-admin.jar"
JAVA_OPTS="-Xmx512m -Xms256m"
APP_ARGS=""
LOG_FILE="/var/log/${APP_NAME}.log"
start() {
echo "Starting $APP_NAME..."
nohup java $JAVA_OPTS -jar $JAR_FILE $APP_ARGS > $LOG_FILE 2>&1 &
echo "$APP_NAME started."
}
stop() {
echo "Stopping $APP_NAME..."
pkill -f $JAR_FILE
echo "$APP_NAME stopped."
}
status() {
pgrep -f $JAR_FILE > /dev/null && echo "$APP_NAME is running." || echo "$APP_NAME is not running."
}
case "$1" in
start) start ;;
stop) stop ;;
restart) stop; start ;;
status) status ;;
*) echo "Usage: $0 {start|stop|restart|status}"; exit 1 ;;
esac
exit 0
使用方式
启动命令:sh server.sh start 或者 ./server.sh start
停止命令:sh server.sh stop 或者 ./server.sh stop
重启命令:sh server.sh restart 或者 ./server.sh restart
查看状态:sh server.sh status 或者 ./server.sh status
6.2 、修改两个后台服务的配置文件并启动
由于配置文件已经被提取到与jar同一目录层级,所以会优先读取同一层级的配置文件,而不是里层的配置文件。
主要是修改数据库配置和文件路径等。
修改完之后用脚本启动toplink-admin服务
sh server.sh start
toplink-admin服务启动成功!
同理:这个是我的规则引擎服务的目录层级
执行脚本启动规则引擎服务。
#如果有字符报错先替换字符
dos2unix server.sh
chmod +x server.sh
sh server.sh start
6.3、存放前端目录
前端打好的dist文件层级如下
7、安装配置nginx
上面所有步骤完成后就是关键的步骤,安装配置nginx了,直接上传nginx.zip 用upzip nginx.zip就可以了
7.1、修改nginx配置
修改nginx的配置,注意自己的ip与前端拼接的地址,用来拦截后跳转到后端服务
#user nobody;
user root root;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8888;
server_name 172.20.10.12;
client_max_body_size 7m;
#charset koi8-r;
charset utf-8;
location / {
root /usr/local/gljy/gljy-ui/dist;
try_files $uri $uri/ /index.html;
index index.html;
error_page 404 /index.html;
}
#注意这里前后都要加/
location /urule/{
#这里8091后面没有加/是因为在规则引擎服务的properties配置文件没有加/
proxy_pass http://172.20.10.12:8091;
client_max_body_size 100M;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#注意这里前后都要加/
location /toplink/ {
#这里后面加了/是因为yml的项目路径默认加了一个 /
proxy_pass http://172.20.10.12:8081/;
client_max_body_size 100M;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
7.2、启动nginx
进入sbin目录,
cd /usr/local/nginx/sbin
./nginx
# 指定配置文件启动(我指定的就是默认的配置文件)
./nginx -c /usr/local/nginx/conf/nginx.conf
查看是否启动成功命令:ps -ef | grep nginx
停止nginx ./nginx -s stop
重启nginx ./nginx -s reload -c /usr/local/nginx/conf/nginx.conf
到两个指定后台服务脚本路径下重启两个后台服务:
sh server.sh restart
访问localhost:8888/
大功告成!!!