银河麒麟系统项目部署

使用服务器信息

软件: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/javaee
        http://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(部署成功页面,登录成功)

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

精准测试:代码覆盖率与测试覆盖率

在日常的测试过程当中&#xff0c;不管是人工进行接口测试还是接口自动化&#xff0c;以及RD写的单元测试&#xff0c;我们一般使用代码覆盖率来衡量测试的完备程度&#xff0c;这篇文章就带大家认识一下代码覆盖率这个常用质量完备度的指标 代码覆盖率测试与测试覆盖率在软件…

“非遗+全身动作捕捉设备”如何打造交互式叙事新消费场景?

在数字化时代&#xff0c;非遗传承渠道逐渐数字化、科技化&#xff0c;利用“虚拟人全身动作捕捉设备”技术提升了非遗文化的社会能见度&#xff0c;让非遗文化重新吸引年轻人的目光。 “虚拟人全身动作捕捉设备”&#xff0c;可以让虚拟人化身虚拟主持人、虚拟主播、虚拟嘉宾…

3D三维模型展示上传VR全景创建H5开源版开发

3D三维模型展示上传VR全景创建H5开源版开发 新增三级分类&#xff08;项目分类、项目、默认场景&#xff09; 新增热点 前台创建项目、场景 场景跳转、提示信息 新增热点图标选择 新增预览场景是显示关联场景 新增3D模型展示功能 当然可以&#xff01;以下是一个关于3D三维模…

HarmonyOS 页面路由(Router)

1. HarmonyOS页面路由(Router) 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块&#xff0c;通过不同的url地址&#xff0c;可以方便地进行页面路由&#xff0c;轻松地访问不同的页面。本文将从页面跳转、页面返回和页面返回前增加一个询问…

Python安装失败,报0x80070643-安装时发生严重错误。

背景 之前安装了3.12.4&#xff0c;因为没用到&#xff0c;就用Revo Uninstaller Pro卸载了&#xff0c;连注册表都清理了。后面看到别人写的一个工具不符合预期&#xff0c;想对源码修改下&#xff0c;用到了Python,于是重新安装&#xff0c;出现上面报错。 解决方法尝试 因…

在Pycharm使用Github Copilot

文章目录 1.GitHub Copilot 是什么2.注册GitHub Copilot3.官方使用文档4.安装 GitHub Copilot插件5.在Pycharm中使用6.相关功能键7.启用或禁用 GitHub Copilot 1.GitHub Copilot 是什么 GitHub Copilot 是一款 AI 编码助手&#xff0c;可帮助你更快、更省力地编写代码&#xff…

基于javassm实现的物流管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 数据库&#xff1a;mysql 系统页面展示 4.1登陆页面 平台登录&#xff1a;主要是做权限分配和安全限制等操作。可以把快递员&#xff0c;客户&#xff0c;派单员等人员角色区分开来。 4.2注册页面 用户注册界面&#xff1a;…

固定式土壤墒情监测仪—土壤状况进行长期跟踪和分析

TH-TS600 固定式土壤墒情监测仪是一种专门用于长期、连续、自动监测土壤墒情的设备。能够实时监测土壤的水分、温度、湿度等关键参数&#xff0c;确保农民和管理者能即时获取土壤状况信息&#xff0c;便于及时做出农业决策。由于是自动监测&#xff0c;数据采集的准确性和可靠性…

目标检测数据集 - 手机屏幕表面表面缺陷检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;手机屏幕表面缺陷检测数据集&#xff0c;真实采集高质量手机屏幕表面含缺陷图片数据&#xff0c;数据集含多款不同型号和品牌的手机屏幕表面图片数据&#xff0c;包括苹果手机屏、三星手机屏、华为手机屏等数据。数据标注标签包括 Bubble 气泡/水滴、Scr…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测

13Kaggle竞赛&#xff1a;2020加州房价预测 # 导入所需的库 import numpy as np import pandas as pd import torch import hashlib import os import tarfile import zipfile import requests from torch import nn from d2l import torch as d2l# 读取训练和测试数据 train_…

GIT回滚

1. 使用 git revert git revert 命令会创建一个新的提交&#xff0c;这个提交会撤销指定提交的更改。这通常用于公共分支&#xff08;如 main 或 master&#xff09;&#xff0c;因为它不会重写历史。 git revert HEAD # 撤销最近的提交 # 或者指定一个特定的提交哈希值 …

【电子数据取证】如何快速在CSV中找到涉案手机号码

文章关键词&#xff1a;电子数据取证、聊天记录恢复、数据恢复、手机取证、介质取证 一、前言 在最近的取证工作中&#xff0c;我们遇到很多需要从大量的聊天记录数据中提取特定的信息&#xff0c;例如手机号码&#xff0c;银行号码&#xff0c;交易码。由于数据通常以数据库…

成熟制程新周期:华虹半导体股价飙升,大摩超配背后的逻辑是何?

半导体全线异动&#xff0c;新周期确定已到&#xff1f; 今年以来&#xff0c;在众多利好消息驱动下&#xff0c;华虹半导体&#xff08;01347.HK&#xff09;、中芯国际&#xff08;00981.HK&#xff09;、复旦微电&#xff08;01385.HK&#xff09;等港股芯片概念标的&#…

分享一个自己写的PC版的Ai指令保存工具

今天给大家分享下我用非常古老的VB写的一个小工具。纯粹是每次电脑使用指令太麻烦了&#xff0c;所以写了一个小工具。这个工具支持5条指令&#xff0c;作为一般的应该够用了。使用场景&#xff1a;比如你要经常使用指令&#xff0c;但是觉得复制指令麻烦&#xff0c;那么你可以…

Thinkphp校园新闻发布系统源码 毕业设计项目实例

Thinkphp校园新闻发布系统源码 毕业设计项目实例 校园新闻发布系统模块&#xff1a; 用户模块&#xff1a;注册&#xff0c;登陆&#xff0c;查看个人信息&#xff0c;修改个人信息&#xff0c;站内搜索&#xff0c;新闻浏览等功能&#xff0c; 后台管理员模块&#xff1a;会员…

月薪没到20K,必啃的WebGIS系统技术栈,你练到哪一步了?

WebGIS&#xff08;网络地理信息系统&#xff09;是目前地理信息系统&#xff08;GIS&#xff09;开发的主流&#xff0c;它利用互联网技术来发布、共享和交互地理空间数据。 一个完整的WebGIS项目通常涉及以下几个主要环节&#xff1a;具备一定的理论知识&#xff0c;数据生产…

Spring是如何设计IOC容器的?BeanFactory ApplicationContext

BeanFactory是Spring框架中最底层的接口&#xff0c;用于实例化、配置和管理bean。它使用控制反转&#xff08;IOC&#xff09;模式&#xff0c;将对象的创建、管理和装配的职责从应用程序代码中转移给Spring容器。这样&#xff0c;应用程序代码就无需关心对象如何创建和装配&a…

【区块链】POS(Proof of Stake)权益证明算法深度解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 POS&#xff08;Proof of Stake&#xff09;权益证明算法深度解析引言1. POS基本…

基于Matlab的细胞计数图像处理系统(GUI界面有报告) 【含Matlab源码 MX_003期】

简介&#xff1a; 本文旨在解决生物血细胞数目统计的挑战&#xff0c;提出了基于图像处理的综合方案。通过MATLAB平台&#xff0c;我们设计并实现了一套完整的细胞图像处理与分析流程。在预处理阶段&#xff0c;采用图像增强和阈值分割等方法&#xff0c;有效地提高了细胞图像的…

Linux---rpm/yum包管理器

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.RPM概述 RPM&#xff08;Red Hat Package Manager&#xff09;是Linux中的一种软件包管理格式也可以称为软件包管理器&#xff1b;它可以将软件包以二进制形式打包&#xff0c;并提供工具来安…