ruoyi若依前后端分离版部署centos7服务器(全)

目录

VMware虚拟机 centos7 安装环境如下
一、msql 5.7
二、nginx1.23.3
三、java8
四、redis 3.2.1
五、部署若依前端
六、部署若依后端

前言

虚拟机的桥接与nat模式 : 重点 重点!!!
无线不可以用桥接模式 ,而你用了nat模式会导致除了宿主机跟虚拟机外
同一个路由器下其他设备访问不到 !!
尤其是宿主机的nginx更改为静态ip后会有可能出现虚拟机上不了网 互相ping不通!
强烈建议桥接模式!
由于安装其他环境设计到了ip地址,咱们先把虚拟机的ip更改为静态ip
方便后续做内网穿透
首先 ipconfig 查看宿主机ip地址 地址 网关 掩码配置到虚拟机上
在这里插入图片描述
其次 vmWare虚拟机设置里面 设置为桥接模式
在这里插入图片描述

进入虚拟机配置ipi地址 命令配置
IPADDR 192.168.0前端设置与宿主机一致 最后端的地址不一致就可以了
例如本宿主机ip为 192.168.0.116 虚拟机为 192.168.0.129

vi /etc/sysconfig/network-scripts/ifcfg-ens33

把BOOTPROTO设置为"static"
IPADDR GETWAY 设置下
在这里插入图片描述

服务界面化配置
在这里插入图片描述

接下来 咱们按照由难易简的来安装。

一、msql 5.7

这里值得注意的是 mysql版本的5.7有些语法不被8.0兼容 一定要与自己开发版本兼容

在这里插入图片描述
1 、检测 MySQL
注明:安装之前检测系统是否有自带的 MySQL

rpm -qa | grep mysql # 检查是否安装过 MySQL
rpm -qa | grep mariadb # 检查是否存在 mariadb 数据库(内置的 MySQL 数据库),有则强制删除
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 # 强制删除
rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64 # 强制删除

检索出来的全部删除掉
在这里插入图片描述
2、开始安装
获取mysql下载连接

wget -c https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

在这里插入图片描述
##安装rmp源

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

安装mysql服务

yum -y install mysql-server

3、mysq基础命令

启动mysql服务

systemctl status mysqld #查看systemctl start mysqld #启动systemctl stop mysqld #停止systemctl restart mysqld  #重启systemctl enable mysqld  #开机启动truesystemctl disable mysqld #开启启动false

4、mysql数据库配置
首先获得mysql数据的初始默认密码

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

在这里插入图片描述
登录mysql

mysql  -uroot -p 
#那我的Enter password为 PP?sW/(Zz8H7 

登录上去之后 咱们就是要更改密码 否则mysql不会让你操作其他语句生效
默认密码为最少8位 3级验证

alter user 'root'@'localhost' identified by '1qwerasdf@';

这样咱们就可以去修改mysql密码永久策略了

show variables like '%password%';

设置密码长度4位,密码验证等级0 不验证

set global validate_password.length = 4;
set global validate_password.policy = 0;

在这里插入图片描述
设置可远程访问服务器内数据库

update mysql.user set host ='%' where user ='root';

ok 再配置防火墙端口 这就可以打开navicat 进行调试了

firewall-cmd --permanent --add-port=3306/tcp  ##允许3306mysql端口进出firewall-cmd --reload  #重启下防火墙systemctl disable firewalld. ##禁止防火墙开启启动
systemctl stop firewalld # 关闭防火墙

直接使用

在这里插入图片描述

二、安装nginx

1、安装前依赖准备
安装nginx前需要先安装好nginx的依赖,直接安装nginx会报错

yum install -y gcc
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel

2、下载解压nginx安装包

wget http://nginx.org/download/nginx-1.23.3.tar.gz
tar -zxvf nginx-1.23.3.tar.gz

解压完成 直接进入

cd nginx-1.23.3
./configure  #想指定安装目录 那就加上 --prefix=/路径make #进行编译
make install

3、启动ngxin
按照自己的安装路径 进入到 sbin目录下

cd /usr/local/nginx/sbin

在这里插入图片描述

 ./nginx					    //启动nginx./nginx -s stop			 	//停止nginx./nginx -s quit 			    //完成接受到的连接请求后结束服务./nginx -s reload 			// 重新加载nginx

启动之后看到欢迎页面基本就完事了,在配置下开机启动与配置文件
在这里插入图片描述

4、启动与端口问题

firewall-cmd --zone=public --add-port=80/tcp --permanent 
##必须加上--permanent 否则重启后就失效了
systemctl  reload firewalld ##重启防火墙

5、设置成系统服务开机启动nginx
创建并编辑 nginx.service文件

vi /usr/lib/systemd/system/nginx.service

更换成自己的安装路径 复制进去
在这里插入图片描述


[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecReload=/usr/local/nginx/sbin/nginx -s reload
PrivateTmp=true
[Install]
WantedBy=multi-user.target

接下来就试试这些命令


#启动nginx
systemctl start nginx
#停止nginx
systemctl stop nginx
#重启nginx
systemctl restart nginx
#查看nginx运行状态
systemctl status nginx
#开机nginx开机自启动
systemctl enable nginx
#关闭nginx开机自启动
systemctl enable nginx

ok这就告一段落,待会部署前端的时候要去修改配置文件路径

三、安装java

1、安装源
cd至文件夹下
下载、解压源文件

wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
tar -zxvf jdk-8u202-linux-x64.tar.gz

2、配置环境变量

vim /etc/profile

shift +G 到文末 添加以下内容 看自己的安装地址

JAVA_HOME=/usr/local/jdk1.8.0_202
JRE_HOME=/usr/local/jdk1.8.0_202/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

使文件刷新配置

source /etc/profile

3、验证是否生效
查看版本

java -version

没出 java version “1.8.0_202” 就看自己下自己profile文件内是否配置正确

四、安装redis

1、安装redis数据库

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

2、redis服务命令

systemctl start redis  # 启动redis服务
systemctl stop redis  # 停止redis服务
systemctl restart redis # 重启redis服务
systemctl status redis  # 查看redis状态
systemctl enable redis #开机自动启动

redis已经启动状态了

在这里插入图片描述

3、开放端口号
注意:80端口是必须要开放的,而6379是redis的默认端口。

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent

4、防火墙设置

systemctl stop firewalld #停止防火墙
systemctl restart firewalld #重启防火墙
sudo systemctl disable firewalld #禁用防火墙服务
sudo systemctl status firewalld #查看防火墙状态
如下图,黑色原点就是关闭的,开启状态是个绿色点,
【不要禁用防火墙】,
如果在公网禁用防火墙跟一个妙龄萝莉在人迹罕及的乡野间裸奔无异。

在这里插入图片描述

5、查看端口

netstat -lnp|grep 6379


6、设置redis 远程连接和密码

vi  redis.conf  #找到自己的redis安装位置
找到 bind 127.0.0.1 修改为虚拟的ip

在这里插入图片描述

在查找 protected-mode  设置为no,关闭redis的保护模式

在这里插入图片描述

如果修改端口号 搜索6379 

在这里插入图片描述

# requirepass foobared 默认是不需要密码 
更改为
requirepass  123456
一定要去掉#号使之生效
配置完 wq!保存 

在这里插入图片描述
7、重启

systemctl restart redis  #重启redis配置就生效了

五、部署前端

http://192.168.10.129/prod-api/getInfo
如果部署启动之后获取不到验证码
或者取消验证码的 要F12试下登录 看自己发出去的请求是不是prod-api
否则那就是打包打成成stage了 这样无法访问到的
在这里插入图片描述

# 打包正式环境 推荐
npm run build:prod
# 打包预发布环境
npm run build:stage

构建打包成功之后,会在根目录(ruoyi-ui)生成 dist 文件夹,里面就是构建打包好的文件,通常是 .js .css、index.html 等静态文件。
接下来会用到若依官网的配置文件
Nginx 全文复制黏贴 root路径记号
在这里插入图片描述

vi /usr/local/nginx/conf/nginx.conf  ##检查自己的安装路径

更改下proxy_pass属性,换成自己的虚拟机的ip与暴露的端口
在这里插入图片描述

systemctl restart nginx #重启服务,使配置生效

图片内 root 后的目录 自己在服务器创建一下 路径对上就行
mkdir /home/ruoyi/projects/ 将打包好的dist前端文件放进下面 更改为ruoyi-ui
或者
mkdir /home/ruoyi/projects/ruoyi-ui/dist
我这里是将dist更名为ruoyi-ui
在这里插入图片描述
ok 输入自己的ip+端口号这就运行起来了
在这里插入图片描述

六、部署后端

1、修改yml文件的上传文件路径
在这里插入图片描述

2、更改数据库连接信息
在这里插入图片描述
3、修改redis的host
必须与redis内的配置文件redis.conf一致
在这里插入图片描述

4、上传jar包至服务器
在这里插入图片描述

java –jar energy.jar

在这里插入图片描述
在这里插入图片描述
前端访问ip+端口 点击登录
头像为null不是报错 更改的服务器上传路径里面没图片就为这样
在这里插入图片描述

后端部署至此完成,redis 跟数据库安装没问题 更改了jar包的配置文件 就不会出问题的

总结: 虚拟机桥接与nat模式 记住有线无线!!!
不然 要么 宿主机与虚拟机互相pin不通 又是什么虚拟机上不了网
推荐有线桥接模式!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/222098.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全狗云原生安全-云甲·云原生容器安全管理系统

随着云计算的快速发展,容器技术逐渐成为主流。然而,随着容器的普及,安全问题也日益突出。为了解决这一问题,安全狗推出了云原生容器安全管理系统——云甲。 云甲是安全狗云原生安全的重要组成部分,它采用了先进的云原生…

版本化数据库管理工具Flyway介绍和Spring Boot集成使用

文章目录 核心功能如何使用 Flyway最佳实践Spring Boot使用 Flyway 是一个版本化数据库管理工具,用于跟踪、管理和应用数据库的变化。它非常适合在团队开发环境中使用,其中多个人员可能会在数据库结构进行更改。Flyway 通过版本控制可以帮助你确保所有人…

Redis-Day3实战篇-商户查询缓存(缓存的添加和更新, 缓存穿透/雪崩/击穿, 缓存工具封装)

Redis-Day3实战篇-商户查询缓存 什么是缓存添加Redis缓存业务流程项目实现练习 - 给店铺类型查询业务添加缓存 缓存更新策略最佳实践方案案例 - 给查询商铺的缓存添加超时剔除和主动更新 缓存穿透/雪崩/击穿缓存穿透概述项目实现 - 商铺查询缓存 缓存雪崩缓存击穿概述互斥锁逻辑…

SpringCloudGateway网关处拦截并修改请求

SpringCloudGateway网关处拦截并修改请求 需求背景 老系统没有引入Token的概念,之前的租户Id拼接在请求上,有的是以Get,Param传参形式;有的是以Post,Body传参的。需要在网关层拦截请求并进行请求修改后转发到对应服务。…

使用pytest+selenium+allure实现web页面自动化测试

测试文件 base 基本方法data 测试数据page web页面相关操作image 测试截图log 日志文件report 测试报告文件temp 临时文件tool 文件读取,发邮件文件TestCases 测试用例 在page下的__init__.py文件下配置 import os import time from selenium.webdriver.common.by…

10 Vue3中v-html指令的用法

概述 v-html主要是用来渲染富文本内容,比如评论信息,新闻信息,文章信息等。 v-html是一个特别不安全的指令,因为它会将文本以HTML的显示进行渲染,一旦文本里面包含一些恶意的js代码,可能会导致整个网页发…

12、Qt:用QProcess类启动外部程序:简单使用

一、说明 简单使用:在一个函数中,使用QProcess类的临时对象调用可执行文件exe,只有这个exe执行完了,这个函数才往下执行,一次性打印出exe所有输出信息;复杂使用:创建QProcess类的全局对象&…

Python---TCP 客户端程序开发

1. 开发 TCP 客户端程序开发步骤回顾 创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字 2. socket 类的介绍 导入 socket 模块 import socket 创建客户端 socket 对象 socket.socket(AddressFamily, Type) 参数说明: AddressFamily 表示IP地…

重塑数字生产力体系,生成式AI将开启云计算未来新十年?

科技云报道原创。 今天我们正身处一个历史的洪流,一个巨变的十字路口。生成式AI让人工智能技术完全破圈,带来了机器学习被大规模采用的历史转折点。 它掀起的新一轮科技革命,远超出我们今天的想象,这意味着一个巨大的历史机遇正…

医院影像科PACS系统源码,医学影像系统,支持MPR、CPR、MIP、SSD、VR、VE三维图像处理

PACS系统是医院影像科室中应用的一种系统,主要用于获取、传输、存档和处理医学影像。它通过各种接口,如模拟、DICOM和网络,以数字化的方式将各种医学影像,如核磁共振、CT扫描、超声波等保存起来,并在需要时能够快速调取…

057:vue组件方法中加载匿名函数

第057个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

宽带阻抗匹配的工程实现-第一步,端口驻波仿真

概要 ADS仿真,Matlab仿真,宽带阻抗匹配,smith圆图。 其实阻抗匹配我工作以来经常说,也经常做,但是基本上都是直接在印制板上进行调试。现在想先用仿真软件直接设计出来,才发现很多东西嘴上说容易&#xf…

力扣每日一题day36[112.路径总和]

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点…

nuxt打包占用磁盘IO

目录 前言排除过程 前言 jenkins运行打包,总是要卡一段时间,磁盘IO很高。我手动执行后的确发现了这个问题,如下图所示。 排除过程 我的方案很原始,利用git恢复到以前的版本,抽检,搞了差不多两个小时&am…

Megatron模型并行研究

Megatron模型并行研究 1. 技术调研 a. Megatron-LM Megatron-LM针对的是特别大的语言模型,使用的是模型并行的训练方式。但和普通的模型并行不同,他采用的其实是张量并行的形式,具体来说就是将一个层切开放到不同的GPU上,属于层…

XC8284B 高效率12MHz,34V升压LED驱动器 LED背光驱动、闪光灯

XC8284B是一个升压转换器驱动多达9个系列白色LED的单节离子电池设计的。其300mV反馈电压降低功率损耗,提高效率。优化后的工作频率可以满足LC滤波器小值和低工作电流的要求,具有较高的效率。内置软启动功能,可减少浪涌电流。微型封装类型为节…

论文中公式怎么降重 papergpt

大家好,今天来聊聊论文中公式怎么降重,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 论文中公式怎么降重 一、引言 在论文撰写过程中,公式是表达学…

【网络技术设备安全】BGP 基础与概述-2-中转 AS 中的 IBGP 路由传递

0x01 中转 AS 中的 IBGP 路由传递 参考该图: 上图,我们模拟一个 1.0 的路由通过 AS 65101 来传递 1:通过图可知,A 与 B 之间的 Peer 为 EBGP,B 与 E 之间为 Peer IBGP,E 与 F 之间为 Peer EBGP 邻接 2&a…

安卓好用的python编辑器,安卓平台python编辑器

本篇文章给大家谈谈安卓上好用的python编辑软件有哪些,以及安卓上好用的python编辑软件推荐,希望对各位有所帮助,不要忘了收藏本站喔。 1. 简介 Thonny是基于python内置图形库tkinter开发出来的支持多平台(windows,Mac,Linux)的python IDE&am…

文献速递:生成对抗网络医学影像中的应用—— CG-3DSRGAN:用于从低剂量PET图像恢复图像质量的分类指导的3D生成对抗网络

文献速递:生成对抗网络医学影像中的应用—— CG-3DSRGAN:用于从低剂量PET图像恢复图像质量的分类指导的3D生成对抗网络 本周给大家分享文献的主题是生成对抗网络(Generative adversarial networks, GANs)在医学影像中的应用。文献…