若依前后端分离项目部署
1.环境准备
1.centos 7
2.docker
3.mysql5.x 8.x
4.redis
5.nginx
2.拉取代码
前往Gitee
下载页面(https://gitee.com/y_project/RuoYi-Vue (opens new window))下载解压到工作目录
3.本地运行系统
3.1 后端
1.下载代码到本地后,解压完成,用idea打开项目
2.创建数据库:ry-vue
3.在创建好数据库后,运行以下两个sql文件生成数据表(quartz.sql、ry_20220814.sql)
4.更改数据库配置
5.更改redis配置
6.启动项目成功就OK了
7.打包
双击package.bat,项目就自己进行打包了,jar存放位置如下图:
3.2 前端
运行启动
1.从git下载下来的代码包含后端、前端一起,前端项目名:ruoyi-ui
2.使用开发工具打开项目(我这里使用的是vs code)
3.使用命令安装工程所需要的依赖
# 1.进入项目目录
cd ruoyi-ui
# 2.安装依赖 (可以使用npm install 但是网络不好时会很慢,所以直接指定源下载)
npm install --registry=https://registry.npmmirror.com
# 3.启动工程
npm run dev
4.访问:http://localhost:80/,并且正常进行登录系统,说明本地服务启动成功!
打包
npm run build:prod
构建打包成功之后,会在根目录生成 dist
文件夹,里面就是构建打包好的文件,通常是 ***.js
、***.css
、index.html
等静态文件。
4.云部署
4.1 在linux上安装docker
由于我已经安装过docker了,所以不太方便从头安装,推荐如下博客,自己也可以百度
参考csdn:
4.2 在docker中创建mysql容器
参考:
4.3 在docker中创建redis容器
# 1.搜索redis镜像
docker search redis
# 2.下载镜像
docker pull redis
# 启动容器
docker run -d -p 6379:6379 --name redis-01 redis
4.4 在docker中创建nginx容器
1.拉取镜像
docker pull nginx
2.创建本地文件夹(与nginx容器做卷挂载)
3.启动nginx容器
docker run -d -p 80:80 --name rynginx \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/log:/var/log/nginx \
nginx
4.把前端工程打包好的dist文件夹拷贝到/mydata/nginx/html目录下
5.编辑nginx.conf配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name xxx.xxx.xxx.xxx # 你的IP地址
charset utf-8;
location / {
root /usr/share/nginx/html/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
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://xxx.xxx.xxx.xxx:8080/; # 你的IP地址
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include /etc/nginx/conf.d/*.conf;
}
这样,nginx就配置OK了!
4.5在docker中使用Dockerfile创建镜像
1.新建Dockerfile文件
FROM java:8
VOLUME /tmp
ADD *.jar /app.jar
EXPOSE 8080
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
2.创建一个文件夹docker,把后端打包好的jar包和Dockerfile文件拷贝到该目录中
3.创建镜像
docker build -t ruo-yi-admin . # 注意后面有个 .
4.6 使用自己的镜像启动容器
1.启动容器
docker run -d -p 8080:8080 --name ruoyi-admin ruo-yi-admin
# 使用 docker ps -a 查看容器是否正常运行
2.访问路径=> ip地址:80
出现登录界面,并且能正常登录,说明我们的项目就部署成功了!