当前位置: 首页 > news >正文

若依项目部署(Linux2.0)

解压jdk

tar -zxvf jdk-8u151-linux-x64.tar.gz

配置Java环境变量: 

vim /etc/profile

 

设置环境变量生效:

 source /etc/profile

 查看一下jdk版本:

java -version

解压tomcat

tar -zxvf apache-tomcat-8.5.20.tar.gz 

 

 防火墙设置:

#开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload

#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld

 

 

MySQL安装 :

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

先查看:
rpm -qa|grep mariadb

卸载:

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

2.将MySQL安装包解压到指定目录

tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

 

3.开始安装,-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

 4.启动MySQL服务

systemctl start mysqld 

5.登录mysql修改密码

grep "password" /var/log/mysqld.log

6.连接 

mysql -uroot -p

 7.设置密码校验策略(0 or LOW),要不密码太LOW不让你过

set global validate_password_policy=0; 

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

set global validate_password_length=4;  

 9.更新密码

set password = password("123456"); 

 10.数据库没有授权,允许以root身份远程登录mysql

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

11.输入后使修改生效还需要下面的语句

FLUSH PRIVILEGES;  

12.新建数据库

create database bookshop;  

13.进入到数据库里面

use bookshop;  

14.执行SQL脚本

source /root/soft/book.sql   

把war包放到tomcat里面去: 

进入到tomcat里面:

cd apache-tomcat-8.5.20/

进入到webapps里面:

cd webapps/

nginx安装: 

1.添加 nginx 官方提供的 yum 源(需要联网且时间较长)
 rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm

2.使用 yum 安装 nginx
 yum install nginx

 3.启动
 systemctl start nginx.service

4.设置防火墙端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload 

修改hosts文件:

C:\windows\system32\drivers\etc\hosts

修改nginx配置文件:

先进入到目录里面

cd /etc/nginx

在编辑配置文件

vim default.conf

放到servers上面

upstream  tomcats{
        server    localhost:8080  weight=1;
        #server    192.168.183.152:8080  weight=1;
    } 

放到servers里面

location  ^~/api/ {
            proxy_pass http://tomcats/;
        }

把静态资源放到/usr/share/nginx/html里面

检查配置文件是否正常
nginx -t
重启nginx服务
 systemctl restart nginx   

执行下面命令防止报错

setenforce 0

 安装redis

安装与配置

解压redis

tar -zxf redis-6.2.1.tar.gz

安装gcc

yum -y install gcc

进入redis目录里面进行编译: 

make && make install

后端启动

使用vi或者vim命令修改/redis-6.2.1/redis.conf中的配置,将后台启动设置daemonize改为yes,如下:

daemonize yes

启动redis

redis-server /usr/local/redis-6.2.1/redis.conf

测试

执行 redis-cli 即可进入redis命令窗口,然后就可以执行redis命令了

[root@localhost bin]# redis-cli

127.0.0.1:6379> ping

PONG

127.0.0.1:6379> exit

系统服务配置

# 切换到指定目录
cd /usr/lib/systemd/system/

修改redis.service配置:  

vim redis.service

[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
#修改redis-server和redis.conf的路径
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

# 重载服务
systemctl daemon-reload
# 自启动服务
systemctl enable redis
# 禁用自启动服务
systemctl disable redis
# 启动服务
systemctl start redis
# 停止服务
systemctl stop redis
# 重启服务
systemctl restart redis

#跳转到redis安装目录
cd /usr/local/redis-6.2.1      
#修改redis.conf配置文件
vim redis.conf        
#注释redis.conf第69行的配置项
#bind 127.0.0.1           

设置登录密码

#requirepass foobared   #修改前
requirepass 123456      #修改后 

配置服务器防火墙

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

firewall-cmd --reload

firewall-cmd --list-ports

Nginx配置 

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://127.0.0.1:8080/ruoyi-admin/;
    }
 

tomcat配置

修改server.xmlHost节点下添加

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

 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> 

相关文章:

若依项目部署(Linux2.0)

解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 配置Java环境变量&#xff1a; vim /etc/profile 设置环境变量生效&#xff1a; source /etc/profile 查看一下jdk版本&#xff1a; java -version 解压tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz 防火墙设置&#xff1a; …...

python小练习03

1.绘制奥运五环旗 #奥运五环的绘制 import turtle as t t.pensize(3) t.speed(0) def draw_circles():i0while i <4:args [[-60,0,"blue"],[0,0,"black"],[60,0,"red"],[-30,-30,"yellow"],[30,-30,"green"]]#定义一个…...

【机器学习】机器学习在深度学习领域中的作用:半监督学习的视角

&#x1f440;时空之门&#x1f440; &#x1f50d;引言&#x1f388;半监督学习概述&#x1f69d;机器学习在深度学习领域中的作用☘特征提取与表示学习&#x1f340;复杂任务建模❀结合半监督学习提升性能 &#x1f680;半监督学习在深度学习中的应用场景&#x1f4d5;图像识…...

C#WPF数字大屏项目实战01--开发环境与项目创建

1、学习目标 -界面布局 &#xff0c;- 模板调整&#xff0c;- 控件封装&#xff0c;- 图表&#xff0c;- 通信对接&#xff0c;- 动态更新 2、开发环境 开发工具&#xff1a;Visual Studio-2022-17.8.6-Community 运行时框架&#xff1a;.Net 6或Framework 4.5以上 UI框…...

python中字符串的各类方法

大小写转换方法 upper() 用于将字符串中的小写字母转为大写字母。 abcd.upper() # ABCD aBcD.upper() # ABCD lower() 用于将字符串中的大写字母转为小写字母。 ABCD.lower() # abcd aBcD.lower() # abcd capitalize() 用于将字符串的第一个字母变成大写&#xff0…...

DataGrip 数据库连接客户端

I DataGrip 安装 1.1安装 打开dmg镜像&#xff0c;将“DataGrip.app”拖入应用程序中&#xff1b; 1.2 Act 打开应用程序,点击试用模式启动软件&#xff0c;然后将“jetbrains-agent-latest”拖到任意位置&#xff0c;然后拖入&#xff0c;弹出对话框&#xff0c;点击“Rest…...

JS片段:生成 UUID

Hi&#xff0c;这里是松桑&#xff0c;每天学习一个 JS 片段&#xff0c;涨涨&#x1f9c0;&#xff01;今天带来的是如何生成 UUID&#xff0c;UUID作为全局唯一标识&#xff0c;使用常见广泛&#xff0c;包括分布式系统、数据库主键、会话标识、消息队列、日志追踪等等。 什么…...

小学数学出题器-Word插件-大珩助手

Word大珩助手是一款功能丰富的Office Word插件&#xff0c;旨在提高用户在处理文档时的效率。它具有多种实用的功能&#xff0c;能够帮助用户轻松修改、优化和管理Word文件&#xff0c;从而打造出专业而精美的文档。 【新功能】小学数学出题器 1、实现了难度设定&#xff1b;…...

短剧平台源码:打造个性化娱乐体验的核心功能

在数字化媒体的浪潮中&#xff0c;短剧平台源码扮演着至关重要的角色&#xff0c;它不仅是构建短剧平台的技术基础&#xff0c;更是提供个性化娱乐体验的关键。本文将深入探讨短剧平台源码的核心功能&#xff0c;包括推荐短剧、本周热门/热播、个性化推荐、追剧功能、观看历史、…...

【MySQL】MySQL 图形化界面 - 使用说明(MySQL Workbench)

一、安装软件 Navicat&#xff0c;SQLyog 这些软件都不错&#xff0c;不过都需要收费&#xff0c;当然也有破解版。下面用 MySQL Workbench&#xff0c;它是官方提供的工具。 二、使用操作 这个软件本质是一个客户端&#xff0c;现在要让数据库能够远程登录。不过一般不会远程…...

Shell 编程之免交互

一、Here Document 语法格式&#xff1a; 命令 << 标记 ...... ...... 标记 1.用wc -l的命令统计输入的文字的行数 [rootlocalhost ~]# wc -l <<EOF > aaa > bbb > ccc > EOF 3 备注&#xff1a; 显示行数。 2.整体赋值给变量&#xff0c;通过ech…...

github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)

DigitalJS https://github.com/tilk/digitaljs这个项目是一个用Javascript实现的数字电路模拟器。 它旨在模拟由硬件设计工具合成的电路 像 Yosys&#xff08;这里是 Github 存储库&#xff09;&#xff0c;它有一个配套项目 yosys2digitaljs&#xff0c;它可以转换 Yosys 将文…...

性能测试学习-基本使用-元件组件介绍(二)

jmeter优点是&#xff1a;开源免费&#xff0c;小巧&#xff0c;丰富的学习资料和扩展组件 缺点是&#xff1a;1.不支持IP欺骗&#xff0c;分析和报表能力相对于LR欠缺精确度&#xff08;以分钟为单位&#xff09; 工具用户量分析报表IP欺骗费用体积扩展性Loadrunner多(万)精…...

基于大模型的智慧零售教育科研平台——技术方案

一、概述 1.1背景 随着数字经济的快速发展和全社会数字化水平的升级&#xff0c;人工智能的积极作用越来越凸显&#xff0c;人工智能与各个行业的深度融合已成为促进传统产业转型升级的重要方式之一。ChatGPT的出现掀起了又一波人工智能发展热潮&#xff0c;人工智能行业发展势…...

C# using的几个用途

using 关键字有三个主要用途&#xff1a; 1.using 语句定义一个范围&#xff0c;在此范围的末尾将释放对象&#xff1a; string filePath "example.txt"; string textToWrite "Hello, this is a test message!"; // Use the using statement to ensure …...

MyBatis3.4全集笔记

MyBatis 1. MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code&#xff0c;并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合&#xff0c;是一个基于Ja…...

IDEA一键启动多个微服务

我们在做微服务项目开发的时候&#xff0c;每次刚打开IDEA&#xff0c;就需要把各个服务一个个依次启动&#xff0c;特别是服务比较多时&#xff0c;逐个点击不仅麻烦还费时。下面来说一下如何一键启动多个微服务。 操作步骤 点击Edit Configurations 2.点击“”&#xff0c;…...

【Python3】random.choices 权重随机选取 详解

random.choices是Python 3中random模块中的一个函数&#xff0c;用于从指定的序列中以指定的权重随机选择元素。下面我将对该函数进行详细介绍&#xff0c;并提供一些示例代码和注意事项。 函数签名&#xff1a; random.choices(population, weightsNone, *, cum_weightsNone…...

【面试题-015】Redis的线程模型是什么 为什么速度快

redis面试题 Redis的线程模型是什么 为什么速度快&#xff1f; Redis是一个开源的、高性能的键值对&#xff08;key-value&#xff09;数据库。它之所以速度快&#xff0c;主要得益于以下几个方面的设计&#xff1a; 单线程模型&#xff1a; Redis的操作是单线程的&#xff…...

EasyV开发人员的使用说明书

在可视化大屏项目时&#xff0c;开发人员通常需要承担以下任务&#xff1a; 技术实现&#xff1a;根据设计师提供的设计稿&#xff0c;利用前端技术&#xff08;如HTML、CSS、JavaScript等&#xff09;和后端技术&#xff08;根据具体项目需求&#xff0c;可能是Java、Python、…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...