一. 环境部署
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
启动中
启动成功后就可以网页访问了
大功告成!