银河麒麟系统项目部署

使用服务器信息

软件:VMware Workstation Pro

虚拟机:ubtun 内存:20G

虚拟机连接工具: MobaXterm

Redis连接工具: RedisDesktopManager

镜像:F:\Kylin-Server-10-8.2-Release-Build09-20211104-X86_64.iso

使用软件信息

Jdk: 1.8.0_151

Apache Tomcat: 8.5.20

Redis: 6.0.5

Nginx: 1.14.2

创建文件夹,将成为软件的安装位置
mkdir  /tools/

将安装包全部上传到/tools/文件夹下 安装包有(jdk1.8 tomcat8.5.30 mysql5.7 )

rz ...

1.安装配置jdk

解压安装包

[root@localhost tools]# tar -zxvf jdk-8u151-linux-x64.tar.gz

配置环境变量

[root@localhost tools]# vim /etc/profile

将jdk的环境变量粘贴在最后一行代码的下一行(写jdk的解压安装路径,我这里是/tools/

#java environment
export JAVA_HOME=/tools/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

查看是否安装成功,首先刷新配置文件

[root@localhost tools]# source /etc/profile

查看版本(是否安装成功)

 
[root@localhost tools]# java -version

2.安装配置Tomcat

在/tools/目录下解压安装包

[root@localhost tools]# tar -zxvf apache-tomcat-8.5.20.tar.gz

进入解压好的文件夹

[root@localhost tools]# cd apache-tomcat-8.5.20/

进入配置文件

[root@localhost apache-tomcat-8.5.20]# cd conf/
[root@localhost conf]# vim server.xml

Host节点下添加

<Context docBase="" path="/" reloadable="true" source=""/>

2.1设置Tomcat自启动

进入本地目录

[root@localhost apache-tomcat-8.5.20]# cd /usr/lib/systemd/system

在这个目录下创建tomcat.service自启动配置文件

[root@localhost system]# vi tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
Environment='JAVA_HOME=/lky/jdk1.8.0_151'
Environment='CATALINA_PID=/lky/apache-tomcat-8.5.20/tomcat.pid'
Environment='CATALINA_HOME=/lky/apache-tomcat-8.5.20/'
Environment='CATALINA_BASE=/lky/apache-tomcat-8.5.20/'
#Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'PIDFile=/lky/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/lky/apache-tomcat-8.5.20/bin/catalina.sh start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target

将里面的tomcat安装位置改成我们的安装目录 lky改成/tools/(tomcat解压安装目录)

设置自启动

[root@localhost system]# systemctl enable tomcat

重载服务

[root@localhost system]# systemctl daemon-reload

重启服务

[root@localhost system]# systemctl restart tomcat

查看服务状态

[root@localhost system]# systemctl status tomcat

设置自启成功

2.2双节点配置

进入安装目录

[root@localhost system]# cd /tools/

复制一个tomcat02

[root@localhost tools]# cp -R apache-tomcat-8.5.20 tomcat02

进入tomcat02文件夹的配置文件

[root@localhost tools]# cd tomcat02/

进入配置文件夹conf

[root@localhost tomcat02]# cd conf/

修改配置文件夹,修改端口号,不然会与tomcat01端口冲突

[root@localhost conf]# vim server.xml

8005改成8006

8080改成8081

8009改成8010

修改server.xmlHost节点下添加(若依配置)

<Context docBase="" path="/" reloadable="true" source=""/>

进入tomcat02运行目录启动服务

[root@localhost conf]# cd ../bin/

启动服务

[root@localhost bin]# ./startup.sh

开放tomcat端口,两个端口号 8080 8081

[root@localhost bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
[root@localhost bin]# firewall-cmd --zone=public --add-port=8081/tcp --permanent

刷新防火墙

[root@localhost bin]# firewall-cmd --reload

网页测试tomcat是否可以访问

虚拟机ip+端口号

访问成功,部署我们的后端war包

进入tomcat01部署项目目录webapps

[root@localhost bin]# cd /tools/apache-tomcat-8.5.20/webapps/

上传war包

rz ...

 

刷新webapps目录,tomcat是自启动的,war包自动解压

进入解压文件夹

[root@localhost webapps]# cd ruoyi-admin/

进入配置目录WEB-INF/classes/

[root@localhost ruoyi-admin]# cd WEB-INF/classes/

配置前面两个yml文件

[root@localhost classes]# vim application.yml

给redis上密码123456()

[root@localhost classes]# vim application-druid.yml

记住下面配置文件的数据库名字和数据库密码,我们安装MySQL时根据以下(数据库名字及密码)要求进行安装配置

接下来配置tomcat02,配置操作和tomcat01配置一样

进入安装目录

[root@localhost classes]# cd /tools/tomcat02/

进入软件部署目录

[root@localhost tomcat02]# cd webapps/

上传war包

rz ...

因为不是自启动,所有需要关闭在重启服务

[root@localhost webapps]# cd ../bin/
[root@localhost bin]# ./shutdown.sh
[root@localhost bin]# ./startup.sh

在进入软件部署文件

[root@localhost bin]# cd ../webapps/

进入解压好的文件夹

[root@localhost webapps]# cd ruoyi-admin/

进入配置文件目录

[root@localhost ruoyi-admin]# cd WEB-INF/classes/

修改两个配置文件

记得数据库密码,数据库名字,待会安装好mysql了,根据需求建库建表

记得把localhost改成我们虚拟机的ip

给redis加上密码,我们待会安装redis会有密码

[root@localhost classes]# vim application.yml

tomcat双击点安装配置完成

3.安装配置MySQL

回到安装目录

[root@localhost classes]# cd /tools/

测试是否有数据库,有的话删掉重新安装配置

.卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看)

[root@localhost tools]# rpm -qa|grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@localhost tools]# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
[root@localhost tools]# rpm -qa|grep mariadb
[root@localhost tools]#

解压安装包

[root@localhost tools]# tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm --nodeps

如果报错,后面加上 --nodeps就可以成功下载了

登录会失败(运行下面语句)

yum -y install libncurses*
ln -s libncurses.so.6.2 libncurses.so.5
ln -s libtinfo.so.6.2 libtinfo.so.5

启动MySQL服务

[root@localhost tools]# systemctl start mysqld

登录mysql修改密码

[root@localhost tools]# grep "password" /var/log/mysqld.log
2024-06-04T03:43:11.914850Z 1 [Note] A temporary password is generated for root@localhost: Z?g>-Htd5l!h
[root@localhost tools]# mysql -uroot -p
Enter password: Z?g>-Htd5l!h

登录成功

登录进来什么都不要做,优先改密码

#设置密码校验策略,要不密码太简单不让你过

set global validate_password_policy=0;

#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)

set global validate_password_length=4;

#更新密码

set password = password("123456");

授予权限

 
grant all on *.* to root@'%' identified by '123456';

刷新权限

FLUSH PRIVILEGES;

创建数据库,根据上面配置文件创建数据库

mysql>
mysql> create database xmg;
Query OK, 1 row affected (0.00 sec)

进入数据库

mysql> use xmg;
Database changed
mysql>

脚本上传到安装目录 rz (此操作退出mysql容器)

导入sql脚本数据

mysql> use xmg;
Database changed
mysql> source /tools/medical(完整版,但是数据表未整理).sql

查看数据库

退出MySQL 输入命令 exit

如果我们把这些配置安装在不同的服务器上,切记一定要开放端口3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

刷新运行代码

firewall-cmd --reload

firewall-cmd --reload

查看

firewall-cmd --list-ports

4.安装配置redis

进入tools目录

下载

wget https://download.redis.io/releases/redis-6.0.5.tar.gz

创建redis目录

[root@localhost tools]# mkdir /usr/local/redis

解压下载好的安装包

[root@localhost tools]# tar -zvxf redis-6.0.5.tar.gz -C /usr/local/redis

由于redis是c语言编写的,所以我们需要先安装gcc

yum install gcc-c++

编译make,此时安装的gcc版本过低,升级一下

[root@localhost redis-6.0.1]# gcc -v                             # 查看gcc版本
[root@localhost redis-6.0.1]# yum -y install centos-release-scl  # 升级到9.1版本
[root@localhost redis-6.0.1]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@localhost redis-6.0.1]# scl enable devtoolset-9 bash

在进入进入redis-6.2.1目录下编译

make && make install

编译成功

编辑配置文件

[root@localhost redis-6.0.5]# vi redis.conf

no改成yes

yes改成no(因为需要远程连接) ------此步骤可以忽略

注释这一行

删除注释,给上密码(根据war包里面的配置文件设置密码)

进入bin目录

[root@localhost redis-6.0.5]# cd /usr/local/bin/
设置redis自启动
[root@localhost bin]# cd /usr/lib/systemd/system

新建一个配置文件

[root@localhost system]# vi redis.service

将以下代码复制进去

[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/lky/redis-5.0.0/src/redis-server /lky/redis-5.0.0/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/bin/kill -s QUIT $MAINPID 
PrivateTmp=true[Install]
WantedBy=multi-user.target

复制路径,放在/redis前面

进入bin目录复制路径

[root@localhost tools]# cd /usr/local/bin/
[root@localhost bin]# pwd
/usr/local/bin
[root@localhost bin]#

复制路径

[root@localhost bin]# cd /usr/local/redis/redis-6.0.5/
[root@localhost redis-6.0.5]# pwd
/usr/local/redis/redis-6.0.5
[root@localhost redis-6.0.5]#

修改好,刷新

# 重载服务

systemctl daemon-reload

# 自启动服务

systemctl enable redis

# 启动服务

systemctl start redis

# 停止服务

systemctl stop redis

# 重启服务

systemctl restart redis

查看进程

[root@localhost redis-6.0.5]# ps -ef | grep redis

一定要关掉进程

[root@localhost redis-6.0.5]# kill -9 13390

# 重载服务

systemctl daemon-reload

# 启动服务

systemctl start redis

# 停止服务

systemctl stop redis

# 重启服务

systemctl restart redis

开发端口6379(切记)

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

刷新防火墙

firewall-cmd --reload

5.安装配置nginx

回到软件安装目录

[root@localhost redis-6.0.5]# cd /tools/

下载gcc(下载redis时已经下载好了可以省略这一步)

yum install -y gcc
 yum install nginx

下载nginx(可以省略)

rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm

配置反向代理,负载均衡,静态资源

进入nginx下载目录

[root@localhost tools]# cd /etc/nginx/

进入配置文件目录

[root@localhost nginx]# cd conf.d/
[root@localhost conf.d]# ls
default.conf
[root@localhost conf.d]#
[root@localhost conf.d]# vim default.conf

如果没有上面配置文件,我们新建也是一样的(或者上传)rz ...

6.配置负载均衡

加入tomcat双节点

upstream  tomcats{
server   192.168.85.147:8080  weight=1;
server   192.168.85.147:8081  weight=2;
}

localhost改成我们前端给的域名(我这里是www.zking.xmg)

6.1配置反向代理
location  ^~/api/ {
proxy_pass http://tomcats/ruoyi-admin/;
}
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://tomcats/ruoyi-admin/;}

6.2配置静态文件

复制root路径

进入静态文件路径,将我们的静态文件放进去

[root@localhost conf.d]# cd /usr/share/nginx/html/

将这个目录下的文件全部删除,上传dist静态文件

[root@localhost html]# rm -rf *

rz ...

dist目录的文件夹下新建WEB-INF文件夹,并在里面添加web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1" metadata-complete="true"><display-name>Router for Tomcat</display-name><error-page><error-code>404</error-code><location>/index.html</location></error-page>
</web-app>

开发端口80(切记)

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

刷新防火墙

firewall-cmd --reload

启动nginx

[root@localhost nginx]# systemctl start nginx

查看状态

[root@localhost nginx]# systemctl status nginx

setenforce是Linux的selinux的防火墙配置命令,需要关闭

运行

setenforce 0

如果保持查看日志,在修改配置文件在重启服务nginx

tail -f /var/log/nginx/error.log
7.本机配置域名

路径

C:\Windows\System32\drivers\etc

host文件添加域名如下 虚拟机ip + 域名

192.168.85.147 www.zking.xmg

访问ip(部署成功页面,登录成功)

访问域名(部署成功页面,登陆成功)

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

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

相关文章

js: 百度云BOS 分片上传

百度云BOS存储后怎么查看或下载呢&#xff1f; // 1) 查看登录到百度智能云控制台 – 对象存储BOS”服务–选择一个Bucket&#xff0c;进入后可以查看该Bucket下的所有文件和文件夹。 2&#xff09;下载OS浏览器端不支持批量下载&#xff0c;可以通过以下方式下载文件(使用BOS桌…

WindTerm使用SSH密钥连接阿里云实例,服务器设置SSH密钥登录

安装Windterm 地址https://github.com/kingToolbox/WindTerm/releases 下载完放到文件夹就可以打开 阿里云开启密钥对 打开阿里云ecs控制台 https://ecs.console.aliyun.com/keyPair/region/cn-wulanchabu 网络与安全->密钥对&#xff0c;创建密钥对&#xff0c;创建成…

记一次 .NET某工控视觉自动化系统 卡死分析

一&#xff1a;背景 1. 讲故事 今天分享的dump是训练营里一位学员的&#xff0c;从一个啥也不会到现在分析的有模有样&#xff0c;真的是看他成长起来的&#xff0c;调试技术学会了就是真真实实自己的&#xff0c;话不多说&#xff0c;上windbg说话。 二&#xff1a;WinDbg …

hbase安装部署

1&#xff0c;下载依赖包 最近的版本下载镜像 https://mirrors.aliyun.com/apache/hbase/ 比较旧的版本下载 https://archive.apache.org/dist/hbase 2&#xff0c;解压压缩包 3&#xff0c;更改配置 3-1 修改hbase-env.sh 必须加 JAVA_HOME export JAVA_HOME/usr/jdk64/jdk…

前端技术回顾系列 11|TS 中一些实用概念

在微信中阅读,关注公众号:CodeFit。 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注 我的公众号:CodeFit,为我的持续创作提供动力。 上文回顾:泛型在类和接口中的应用 上一篇文章我们回顾了 泛型 在 类 和 接口 中的应用。 通过使用泛型,我们…

动态规划-简单多状态dp问题 -- 按摩师

动态规划-简单多状态dp问题 – 按摩师 文章目录 动态规划-简单多状态dp问题 -- 按摩师题目重现算法流程示例代码 题目重现 题目链接&#xff1a;按摩师 - 力扣 一个有名的按摩师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在每次预约服务之间要有休息时…

IINA for Mac v1.3.5 音视频软件 安装教程(保姆级)

Mac分享吧 文章目录 效果一、准备工作二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功 三、运行测试1、打开软件&#xff0c;测试2、查看版本号 **安装完成&#xff01;&#xf…

C#——结构体详情

结构体 结构体也被称为结构类型&#xff08;“structure type”或“struct type”&#xff09;&#xff0c;它是一种可封装数据和相关功能的值类型&#xff0c;在语法上结构体与类&#xff08;class&#xff09;非常相似&#xff0c;它们都可以用来封装数据&#xff0c;并且都…

【C语言】递归复杂度与链表OJ之双指针

【C语言】递归复杂度与链表OJ之双指针 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;数据结构 文章目录 【C语言】递归复杂度与链表OJ之双指针前言一.递归复杂度1.1递归时间复杂度1.2递归空间复杂度 二.链表OJ之双指针2.1倒数第K个节点2.2链…

FastJson与JackSon 的碰撞。服务发送方与服务接收方字段不一致问题

情景再现 对接文档人家要求字段为 于是乎 咱就在服务的发送方定义参数字段为 服务接收方接收的类型为 later。。。。。 服务接收方接收到的参数字段 就不变成了fOrgId。跟外部系统对接就提示参数错误 原因 &#xff1a;lombok 在做set get的时候自动 无论你字段的首字母是大…

我与Python的一夜情

期末突击看这篇才够味&#xff01; 环境搭建 首先就是相关工具的安装&#xff0c;直接搜就好&#xff0c;但是还是贴个网址吧&#xff1a; Welcome to Python.orghttps://www.python.org/ 然后就是根据自己的系统选择咯&#xff1a; 谁能闲来无事送我个mac玩玩 Windows的一…

哈喽GPT-4o——对GPT-4o 写论文的思考与看法

目录 几小时即可完成一份1万字论文的编写1、改写降重2、同义词替换降重3、避免连续相同4、缩写扩写降重5、关键词汇替换降重6、句式变换降重7、逻辑重组8、综合改写9、数据呈现方式变更10、概念解释降重 大家好&#xff0c;我是哪吒。 在ChatGPT4o对话框中输入&#xff1a;写一…

遥控玩具车电机驱动应用中的双H桥驱动芯片

遥控玩具车的基本工作原理是通过无线电遥控器发送信号&#xff0c;这些信号被玩具车内的接收器接收并解码&#xff0c;从而控制玩具车的运行。根据车身外型的不同&#xff0c;可以分为&#xff1a;普通的私家房车、越野车、货柜车、翻斗车等等。遥控器的操作&#xff0c;如前进…

测试 halcon measure_projection 算子

期望结果完全相同&#xff0c;但是下面的测试结果和halcon的差值如下: [0.132838, 0.231991, 0.265157, 0.296903, 0.0998573, 0.165907, 0.230686, 0.130266, 0.0977104, 0.197109, 0.198173, 0.197086, 0.190943, 0.177665, 0.163521, 0.146541, 0.161362, 0.166666, 0.2281…

NG32031单片机串口初始化

目录 1. 串口基础 2. 串口配置步骤 3. N32G031串口初始化示例 3.1开启时钟 3.2 配置GPIO 3.3 配置USART 3.4 使能中断&#xff08;如果需要&#xff09; 3.5. 示例代码 4. 调试和验证 5. 注意事项 6. 额外功能 NG32G031单片机的串口&#xff08;UART&#xff09;通常…

理解Python的元类

1.type()函数 type 函数是一个内置函数&#xff0c;用来获取一个对象的类型。它可以接受一个参数&#xff0c;返回这个参数的数据类型。type也可以用来创建类&#xff0c;type就是元类 x333 list["ab"] tuple (1, "a", True, 3.14) dict {name: Alice,…

这4款国产软件,因为太良心好用,甚至被误认为是外国人开发的

说起国产软件&#xff0c;大家总是容易给它们打上“流氓、要钱、广告满天飞”的标签&#xff0c;其实&#xff0c;有些小众的软件超级好用&#xff0c;功能强大又不耍流氓&#xff0c;真心不该被一棍子打死。 1、sunlight studio Sunlight Studio是一个开源、免费、无广告的硬…

从云端到终端:青犀视频汇聚/融合平台的视频接入方式与场景应用

一、青犀视频汇聚/融合平台 由TSINGSEE青犀视频研发的EasyCVR智能融合/视频汇聚平台基于“云-边-端”一体化架构&#xff0c;支持视频汇聚、融合管理&#xff0c;兼容多协议&#xff08;GA/T1400/GB28181/Onvif/RTSP/RTMP/海康SDK/Ehome/大华SDK/宇视SDK等&#xff09;、多类型…

你的职业规划就是面向贫穷的规划

如果你觉得作者的文章还有点用,请记得点赞 + 关注 说一个扎心的事实,就是我们绝大多数人的职业规划基本上都是错误的,都是面向贫穷的规划。 因为绝大多数人的职业规划都是打工人的职业规划,这种规划除了很少部分人最终能成为企业高管,实现层级跃迁外,绝大多数人在大多数…

Java17 --- RabbitMQ之常规使用

目录 一、实现消息可靠性投递 1.1、消息生产者端确认机制 1.2、备份交换机 1.3、消费端确认机制 二、消费端限流设置 三、消息超时设置 3.1、从队列设置全局超时时间 3.2、设置消息本身超时时间 四、死信 4.1、消费端拒绝接收消息 4.1.1、创建死信交换机与队列 …