一. 环境部署
1. 安装 redis
· 下载所需版本的 redis(https://download.redis.io/releases/)
我这边选的是 5.0.14
· 本机上下载好后上传至服务器 , 通常上传至 /usr/local 下面 , 我这边使用 Filezila 上传的
并且在 /usr/local 目录下建了一个 redis 目录存放上面的压缩包
· 解压 redis 目录下的压缩包
tar -zvxf redis-5.0.14.tar.gz
·redis 是 c 语言开发 , 安装 redis 需要先将官网下载的源码进行编译 , 编译依赖 gcc 环境 , 如果
没有 gcc 环境 , 需要安装 gcc 需要输入以下命令
yum install gcc
· 以下三行代码用于升级版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
可通过 gcc -v 查看版本 , 如果在后面安装 ngnix 等需要 gcc 的时候报错找不到命令可能是环境变量导致的问题 , 需要上网查一下解决办法
gcc -v
· 进入到 redis 的解压目录下的 src 目录 , 执行 make
make
· 编译成功之后会出现“It's a good idea to run 'make test'”的提示
· make PREFIX=/usr/local/redis install 注意路径是否和自己的一样
make PREFIX=/usr/local/redis install
安装成功 !
·将 redis.config 文件从 redis 目录下的 redis-5.0.14 中复制一份到 redis 目录下
复制 redis.config 的命令
cp redis.conf /usr/local/redis/
· 可通过在 redis 目录下执行 ./bin/redis-server& ./redis.conf 启动 redis 此启动方式是采取后台进程方式
./bin/redis-server& ./redis.conf
·也可通过在 redis 目录下执行./bin/redis-server ./redis.conf 启动 redis 此方式采取显示启动方式 如在配置文件设置了 daemonize 属性为 yes 则跟后台进程方式启动其实一样
./bin/redis-server ./redis.conf
如想修改 redis.config 目录下 daemonize 属性为 yes, 可按照如下操作
redis 目录下执行 vi redis.conf
vi redis.conf
shift + : 进入命令行模式 通过 / + name 快速查找 如 / daemonize
将 no 改为 yes 我这边是改过的 , 所以图片里面是 yes
· 查看 redis 运行情况
ps -ef|grep redis
2 . 安装 MySQL (由于我这边很久以前就装了 mysql, 先省略)
略
3. 安装 ngnix
·下载 ngnix 安装包
打开 Nginx 官网 :nginx: download
然后我们找到一个版本 , 把鼠标移动到上面 , 右键 – 复制链接地址
· 也可图省事不选版本直接照着网上人家的来
· 安装 wget , 如果有请跳过这步
yum install -y wget
· 使用 weget 命令下载 nginx 安装包 通常放在 /usr/local 下 , 可自己再建个 ngnix 目录存放 , 方便管理
wget -c http://nginx.org/download/nginx-1.23.1.tar.gz
· 解压安装包
tar -zxvf nginx-1.23.1.tar.gz
· 在虚拟机中安装相关依赖
在虚拟机中安装相关依赖 : yum install pcre-devel yum install zlib zlib-devel yum install openssl openssl-devel // 也可用一条命令代替 yum install pcre-devel zlib zlib-devel openssl openssl-devel
分开拿出来以下 , 方便复制 , 嘿嘿
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
yum install pcre-devel zlib zlib-devel openssl openssl-devel
· 安装好之后 , 进入 nginx 目录
cd /usr/local/nginx-1.23.1
· 执行配置脚本
./configure
· 编译安装 (记得配 gcc, 如果没有的话)
make & make install
· 启动 ngnix
启动前要查看端口是否放行 , 或者是防火墙是否关闭 , 否则无法访问
查看已放行的端口
firewall-cmd --list-all
放行 8080 端口 , 并重载防火墙
firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload
( 这里 nginx 默认端口号是 80, 我们就放行 80 端口 )
或者直接关闭防火墙
临时关闭
systemctl stop firewalld.service
永久关闭
systemctl disable firewalld.service
可设置 nginx 开机自启动
vim /etc/rc.local 文本底部追加 /usr/local/nginx/sbin/nginx
启动 ngnix
/usr/local/nginx/sbin/nginx
查看运行情况
ps -ef | grep nginx
访问 nginx 页面
在浏览器中输入 ip + 端口号访问 ( 端口默认 80)
这样就算安装成功了
二. 部署项目
1. 后端打包
· 先 clean 一下如何在 package
· 将 jar 包上传至服务器 , 可以在服务器上建一个目录专门用来存放
2. 前端打包
· 到前端项目所在的目录下
· 在此路径下打开命令提示符 ( 注意路径 )
· 打包项目
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
npm run build:prod
打包好后在前端项目的目录下会出现一个 dict 文件夹
· 将 dict 文件上传至服务器上 , 可以和之前的 jar 包放一起
3. 配置 ngnix
· 修改配置文件
vi /usr/local/nginx/conf/nginx.conf
防止出现权限相关的问题 , 将文件开头的 user 修改为 root
修改前端访问路径以及添加代理
location /prod-api/ {proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080/;}
重启 ngnix 启动 redis 以及 后端 jar 包基本就可以运行了 , 不过可以添加一个脚本方便我们启动 jar 包
脚本名 appStart.sh
#!/bin/bash APP_NAME=/myproject/ruoyi/projectManage/ruoyi-admin.jar #使用说明 , 用来提示输入参数 usage() { echo "Usage: sh app.sh [start|stop|restart|status]" exit 1 } #检查程序是否在运行 is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` #如果不存在返回 1 , 存在返回 0 if [-z "${pid}" ]; then return 1 else return 0 fi } #启动方法 start(){ is_exist if [ $? -eq 0]; then echo "${APP_NAME} is already running. pid=${pid}" else nohup java -jar ${APP_NAME} >app.out 2>&1 & fi } #停止方法 stop(){ is_exist if [ $? -eq "0"]; then kill -9 $pid else echo "${APP_NAME} is not running" fi } #输出运行状态 status(){ is_exist if [ $? -eq "0"]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running." fi } #重启 restart(){ stop sleep 5 start} #根据输入参数 , 选择执行对应方法 , 不输入则执行使用说明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac
· 将脚本放到 jar 包同级目录下 , 并修改脚本开头 APP_NAME 后面的内容为自己 jar 的路径
vi ./appStart.sh
将路径改成自己 jar 包在 Linux 服务器上的路径
4. 启动项目
· 启动 redis ( 已启动请略过 )
./bin/redis-server ./redis.conf
· 启动 ngnix ( 已启动请略过 )
/usr/local/nginx/sbin/nginx
· 启动项目 ( 脚本中还有 stop、restart 等方法 , 调用方法相同 )
./appStart.sh start
· 查看日志 ( 项目同级目录下有个 app.out 文件 , 里面应该就是日志 )
tail -f app.out
启动中
启动成功后就可以网页访问了
大功告成!
原文链接:https://blog.csdn.net/m0_67305099/article/details/132484078