若依系列(一):centos7部署若依项目;在CentOS中从零部署若依开源项目(ruoyi-vue、前后端分离)过程记录,史上最全,超级详细,最适合小白从0到1部署

专栏简介:本专栏主要分享一些优秀的开源项目等。

本文用一万五千多字,详细记录了在CentOS服务器上从 0 到 1 部署 ruoyi 项目(前后端分离版)的全过程,从 MySQL、Redis、Nodejs、Nginx 软件的安装和配置,到前后端配置修改,本地测试,最后将前后端都部署到CentOS服务器上;非常适合小白跟着一步步的成功部署若依项目。

安装环境说明:

一、前置软件安装

1.1 在Windows上安装IntelliJ IDEA

IDEA被众多Java程序员视为最好用的Java集成开发环境。

安装过程参考:https://zhuanlan.zhihu.com/p/702208495

工具也可以从以下链接获取https://download.csdn.net/download/AnChenliang_1002/89425931
解压密码:12138@Asd

在这里插入图片描述
注意:到了上图这一步,即运行完install-current-user.vbs后(出现done后),重新打开JDEA软件,去复制下图文件里的code,粘贴JH就行。在这里插入图片描述

1.2 在Windows上安装webStorm

WebStorm号称最智能的前端开发IDE, 适用于前端开发和相关技术的集成开发环境,作为前端开发。
俗话说得好, 你可以不用它,但不可以没有它!

安装过程参考:【开发工具】WebStorm 前端开发神器菜鸟必备,全网最稳定靠谱的安装教程 一镜到底、全程图文并茂、通俗易懂!,参考安装过程就行,JH过程还要按照下面:

JH过程记录:

关闭webStorm,运行以下脚本,下载链接:https://download.csdn.net/download/AnChenliang_1002/89425931
解压密码:12138@Asd

在这里插入图片描述
再打开软件,就发现已经可以了

在这里插入图片描述

1.3 在Windows上安装Navicat Premium

Navicat Premium 是一套可创建多个连接的数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 。

安装参考:Navicat16.3.9安装和免费试用教程 - Windows(2024)

1.4 在Windows上安装node.js

从链接https://nodejs.org/en进行下载,然后安装:

无脑下一步即可,这个安装路径要记好
在这里插入图片描述

二、环境搭建

2.1 服务器环境确认

2.1.1 设置虚拟机网络环境

我是使用的虚拟机中的CentOS7.6作为服务器,你如果使用云服务器也是一样的。

以下是我使用的虚拟机:
在这里插入图片描述

在这里插入图片描述

可以看到,我这台设备的虚拟机里的CentOS服务器的ip是192.168.181.128,hostname是bogon;
我们ping一下bogon,如下,可以看到ip确实是192.168.181.128:
在这里插入图片描述

然后配置VMWare里的CentOS与主机互相能PING通,且CentOS能ping通外网:参考:Vmware虚拟机CentOS7、Ubuntu20系统设置静态IP,且主机和虚拟机系统能相互ping通。

配置完成后,可以ping通虚拟机里的网络了:
在这里插入图片描述

2.1.2 更换yum为阿里源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache

2.1.3 安装MySQL5.7

先更新一下yum:

yum update

在这里插入图片描述

然后安装MySQL:

# 1、下载yum源的rmp包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

# 2、安装yum源
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm

# 3、清理yum缓存
yum clean all

# 4、安装
yum -y install mysql-community-server

如果遇到因为公钥未安装而失败的问题:
在这里插入图片描述
则下载并导入 MySQL 官方的 GPG 公钥:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

确认公钥已成功导入:

您可以使用以下命令来列出已导入的 GPG 公钥:

rpm -qa gpg-pubkey*

您应该能看到 MySQL 的公钥信息。
然后再次安装MySQL:yum -y install mysql-community-server

就可以安装成功了:
在这里插入图片描述
启动:

systemctl start mysqld

查看初始密码

grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述
登录

mysql -u root -p 
Z5G_G%Em7OzY # 输入上面的密码

在这里插入图片描述
修改密码为Asd123456_

SET PASSWORD = PASSWORD('Asd123456_');

在这里插入图片描述
那我就想把密码设简单点怎么办?

1、查看 mysql 初始的密码策略,
输入语句 SHOW VARIABLES LIKE 'validate_password%'; 进行查看,

2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 set global validate_password_policy=LOW; 进行设值,

3、设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句 set global validate_password_length=6; 进行设值,

在这里插入图片描述

4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; 可以看到修改成功,表示密码策略修改成功了!!!
在这里插入图片描述

然后设置允许远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

在这里插入图片描述
刷新

flush privileges;

然后quit退出数据库,并对mysql进行设置:

vim /etc/my.cnf

# 在[mysqld]下面添加,不需要分号
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# 设置时区
default-time_zone = '+8:00'

# 新建数据库添加的配置信息
lower_case_table_names=1
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
max_connections=10000
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

在这里插入图片描述
配置好编码和时区之后重启数据库

systemctl restart mysqld

设置开机自启

systemctl enable mysqld
systemctl daemon-reload

其他指令

systemctl start mysqld  #启动
systemctl stop mysqld   #停止
systemctl status mysqld #状态

2.1.4 安装Redis 3.2

将yum源换回阿里源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum update

然后安装redis:

#下载epel仓库:
yum install epel-release

#安装redis数据库
yum install redis

在这里插入图片描述

配置 redis.conf 配置文件,做如下修改:

cd /etc
vim redis.conf

注释掉 bind 127.0.0.1,bind 用于限制访问 Redis 的机器 ip,直接关掉
在这里插入图片描述
修改 daemonize no 为 yes,让 Redis 可以后台启动:

在这里插入图片描述
日志的路径要记好,当然如果你想修改也是可以的:
在这里插入图片描述
设置密码:

requirepass 123456

在这里插入图片描述
redis常用命令:
(1)启动:service redis start
(2)停止:service redis stop
(3)检查状态:service redis status
(4)查看进程:ps -ef | grep redis
(5)设置redis开机自启:chkconfig redis on
(5)进入客户端:redis-cli
(6)列出所有key:keys *
(7)修改配置文件:vim /etc/redis.conf
(8)使用端口登录客户端:redis-cli -h 127.0.0.1 -p 6379
如果输入指令发现没有权限,那么输入auth 密码,即可:
在这里插入图片描述

2.1.5 安装JDK

我看到我的CentOS上有JDK 1.8,所以就没有再安装:
在这里插入图片描述

2.1.6 安装nginx

yum install nginx

在这里插入图片描述

启动nginx:

nginx

在这里插入图片描述
在CentOS的浏览器中输入本机ip,可以看到centos的欢迎界面,说明nginx安装成功了。
在这里插入图片描述
但是我在虚拟机外面访问centos的ip还是访问不了,试着把防火墙关一下:

systemctl stop firewalld.service

好了,防火墙关掉外面就能访问了。
在这里插入图片描述
禁止firewall开机启动

systemctl disable firewalld.service

2.2 若依后端环境搭建

2.2.1 下载若依源码

在Windows上新建一个文件夹,用于存放若依的工程,然后在命令行中打开该文件夹:
在这里插入图片描述

克隆若依的源码:

git clone https://gitee.com/y_project/RuoYi-Vue.git

在这里插入图片描述

可以发现我们的文件夹里有源码文件了:
在这里插入图片描述
打开IDEA,导入这套源码:
在这里插入图片描述
在这里插入图片描述

2.2.2 创建若依数据库

首先我们需要创建一个若依的数据库,这个数据库是后端需要用到的,在这个数据库里创建后端使用的一些表;
在这里插入图片描述
打开Navicat Premium 16软件,连接->MySQL:
在这里插入图片描述
输入服务器的ip和数据库的密码,当然也可以先测试一下是否能连接:
在这里插入图片描述
添加成功后,右键->打开连接:
在这里插入图片描述
然后继续在centos上右键->新建数据库:
在这里插入图片描述
进行如下配置:
在这里插入图片描述
在新建的ruoyi数据库上右键->打开数据库
在这里插入图片描述
新建查询:
在这里插入图片描述
然后将以下文件的内容全选,复制:
在这里插入图片描述
粘贴到新建的查询中,如下:
在这里插入图片描述

然后再最前面加入USE ruoyi;,然后点击运行,如下:
在这里插入图片描述

执行成功后,在ruoyi->表那里右键刷新,就会发现出现了很多表,如下图:
在这里插入图片描述
同样的,复制quartz.sql文件中的内容:
在这里插入图片描述
执行刚刚同样的步骤:

在这里插入图片描述
然后会发现又多出来一些表:
在这里插入图片描述
到这里所有数据库的表就建好了。

2.2.3 修改数据库配置文件

回到我们的IDEA里面,
1、修改mysql的配置:
在这里插入图片描述
2、修改redis的配置:
在这里插入图片描述
3、修改日志路径
因为我们需要现在本地测试一下,所以将日志路径改为以下:
在这里插入图片描述

2.2.4 启动后端

在这里插入图片描述
在这里插入图片描述

第一次启动可能会比较慢:

在这里插入图片描述
运行遇到错误:
在这里插入图片描述
redis的密码不对?

这里发现有个格式问题,冒号和123之间要有个空格,
在这里插入图片描述
改一下,加上空格:

在这里插入图片描述

再运行:
在这里插入图片描述

看到以上界面,就说明后端运行成功了,证明本地启动没问题,也证明他能连上我们的mysql和redis,到此后端就改好了。

2.3 若依前端环境搭建

打开WebStorm 软件:
在这里插入图片描述
在这里插入图片描述
打开后,打开README.md文件,并打开终端,执行文件里的命令:
在这里插入图片描述
如果以下有这个界面,可以点:
在这里插入图片描述
运行过程可能比较长,耐心等待,完成后:
在这里插入图片描述
继续在终端中输入下一个指令npm run dev,启动前端服务,如下:
在这里插入图片描述

运行成功之后,那么我们的前端也就起来了,此时浏览器会跳出来如下页面:
在这里插入图片描述
能看到验证码说明前后端都通了,因为验证码就是后端生成的。

2.4 修改后端日志路径

因为前面在2.2.3节为了本地测试我们修改了日志的存储路径,后面我们要在服务器部署,所以肯定还是需要使用服务器的路径的,所以还是需要将日志路径改为服务器的路径:
在这里插入图片描述

如上图,将路径改为服务器的路径。

三、项目部署

前面我们已经测试了前端后端均能正常使用了,下一步就是将前端后端分别部署到服务器上了。

3.1 若依后端打包

将后端打包,
在IDEA中,打开Maven:
在这里插入图片描述
商家package进行打包,如下图:
在这里插入图片描述

打包完成后如下图所示:

在这里插入图片描述
然后我们会发现,在target路径下,生成了ruoyi-admin.jar文件,这就是我们打包好的后端的jar文件,如下图:

在这里插入图片描述

3.2 若依前端打包

打开webStorm,在终端里输入npm run build:prod指令用于将我们的前端进行生产的构建:
在这里插入图片描述
构建成功后如下图所示:
在这里插入图片描述
打包好的成果物是dist文件夹,如下:

在这里插入图片描述

3.3 在服务器上部署若依前后端

3.3.1 服务器准备

在服务器上,在opt下面新建project文件夹,然后再project文件夹里,新建ruoyi文件夹:

在这里插入图片描述
我们前端和后端打包好的文件,后面都会放到ruoyi这个文件夹里。

创建用于存放日志的目录:

 mkdir -p /opt/project/ruoyi/logs

在这里插入图片描述

3.3.2 配置nginx

修改Nginx的配置文件(在Nginx的安装目录下):

 vim /etc/nginx/nginx.conf

将user改为root:
在这里插入图片描述

然后将ruoyi工程的前端加进去:

location / {
    root   /opt/project/ruoyi/ruoyi-ui/dist;
    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://192.168.181.128:8080/;
}

注意改成你自己的ip:

在这里插入图片描述

proxy_set_header 指令用于设置向后端服务器发送的 HTTP 请求头。这里设置了四个请求头:
Host:将客户端发送的 Host 头信息传递给后端服务器,以便后端服务器能够正确识别请求的目标主机
X-Real-IP:将客户端的真实 IP 地址传递给后端服务器
REMOTE-HOST:设置了一个自定义的请求头 REMOTE-HOST,并将客户端的 IP 地址传递给后端服务器
X-Forwarded-For:用于记录请求经过的 HTTP 代理服务器的 IP 地址

保存退出即可。

3.3.3 部署后端

将后端的jar包(3.1节生成的ruoyi-admin.jar)上传到服务器
在这里插入图片描述
上传后如下所示:
在这里插入图片描述

使用以下启动后端:

nohup java -jar /opt/project/ruoyi/ruoyi-admin.jar &

在这里插入图片描述

返回了进程号说明成功了,至于他的执行情况怎么查看呢?

在这里插入图片描述
可以看到,新增了nohup.out文件,用cat看一看:
在这里插入图片描述
可以看到,若依后端部署成功了。

3.3.4 部署前端

前端的是3.2节生成的dist文件夹,可以将dist文件夹压缩成压缩包整体上传到服务器,再加压,这样文件容易传输,且不容易丢失:

在这里插入图片描述
上传到服务器后如下所示:
在这里插入图片描述
将dist.zip解压到ruoyi-ui文件夹:

unzip dist.zip -d ruoyi-ui

解压后如下所示:
在这里插入图片描述

重启nginx:

nginx -s reload

访问服务器ip,打开这个有验证码的界面,证明前后端均部署成功了:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS是一款流行的Linux操作系统,适合部署各种类型的项目若依是一个基于SpringBoot框架开发的通用权限管理系统,采用前后端分离的架构。下面将详细讲述如何在CentOS部署若依前后端分离项目。 1.安装Java环境。 若依是基于Java开发的系统,所以需要安装Java环境。可通过以下命令进行安装: yum install java-1.8.0-openjdk-devel 2.安装MySQL数据库。 若依需要使用MySQL数据库进行数据存储。可通过以下命令进行安装: yum install mysql-server mysql 3.安装Nginx。 Nginx是一款高性能的Web服务器,也是实现前后端分离的关键组件。可通过以下命令进行安装: yum install nginx 4.部署若依后端。 将若依的后端代码部署CentOS服务器上,并在MySQL数据库创建对应的数据库和数据表。在application-*.yml配置文件设置数据库连接信息和端口号等相关配置。 5.部署若依前端。 将若依的前端代码部署到Nginx服务器上,并在Nginx配置文件设置代理转发规则。例如,将/api开头的请求转发到后端的对应接口上。 6.启动服务。 分别启动后端服务和Nginx服务,可通过Systemd进行管理。在后端接口正常提供服务的情况下,可以通过浏览器访问Nginx服务器的IP地址和端口号,查看前端界面。 总之,通过上述步骤可以在CentOS服务器上成功部署若依前后端分离项目,实现良好的用户体验和数据存储。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值