安装部署mysql、redis、minio、nginx

2023-10-28

离线安装部署mysql、redis、minio、nginx、jar包启动
系统环境:
centos7.9
架构:X86
安装目录:/server

记录安装笔记 依赖项在线安装的

下载离线依赖
yum install -y nginx --downloadonly --downloaddir=/nginx
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径

1.java环境变量

将jdk文件拷贝到/server目录中并解压:
配置环境变量:vim /etc/profile.d/java.sh
重新加载:

source /etc/profile
java -version

java.sh配置:

export JAVA_HOME=/server/jdk1.8.0_131

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin


2. MySQL8安装

  1. 解压:
$ tar -xvf mysql-8.0.32-el7-x86_64.tar
  1. 创建用户
useradd MySQL
  1. 授予MySQL目录的适当权限
sudo chown -R mysql:mysql /server/mysql-8.0.32-el7-x86_64

4.初始化在MySQL目录中执行安装命令:

–lower-case-table-names=1 区分大小写,默认是0,1是不区分,坑:如果没改需要重新初始化

sudo /server/mysql-8.0.32-el7-x86_64/bin/mysqld --initialize --user=mysql --lower-case-table-names=1 --basedir=/server/mysql-8.0.32-el7-x86_64 --datadir=/server/mysql-8.0.32-el7-x86_64/data
  1. 安装完成后,编辑MySQL配置文件:
$ sudo vi /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
basedir = /server/mysql-8.0.32-el7-x86_64
datadir = /server/mysql-8.0.32-el7-x86_64/data

#default-storage-engine=INNODB
innodb_strict_mode=0
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
authentication_policy=mysql_native_password
# 允许最大连接数
max_connections=800
# # 允许连接失败的次数。
max_connect_errors=10
# # 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

  1. 创建MySQL服务配置文件
sudo vi /etc/systemd/system/mysql.service

添加以下内容:

[Unit]
Description=MySQL Server
After=network.target

[Service]
ExecStart=/server/mysql-8.0.32-el7-x86_64/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --console
ExecStop=/server/mysql-8.0.32-el7-x86_64/bin/mysqladmin -uroot shutdown
Restart=always

[Install]
WantedBy=multi-user.target
  1. 启动MySQL服务
$ sudo systemctl start mysql

开机启动

$ sudo systemctl enable mysql

依赖

$ sudo yum install libaio
$ sudo yum install numactl
$ sudo yum install libtirpc
$ sudo yum install perl
$ sudo yum install openssl

在mysql/bin目录下执行
./mysql -uroot -p
输入初始化时的密码;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234567890';
mysql> create user 'root'@'%' identified with mysql_native_password by '1234567890';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
mysql> flush privileges;



3. redis安装

  1. 下载包解压,打开目录
$ make
$ sudo make install PREFIX=/server/redis-5.0.4
  1. 编辑启动配置
vim /etc/systemd/system/redis.service
[Unit]

Description=The redis-server Process Manager

After=syslog.target

After=network.target



[Service]

Type=forking

ExecStart=/server/redis-5.0.4/src/redis-server /server/redis-5.0.4/redis.conf

ExecReload=/bin/kill -USR2 $MAINPID

ExecStop=/bin/kill -SIGINT $MAINPID

Restart=always

PrivateTmp=true



[Install]

WantedBy=multi-user. Target

  1. 启动
systemctl start redis

systemctl enable redis.service

4. minio安装

下载离线安装包:
点击下载

  1. 拷贝,解压 目录/server/minio
    在这里插入图片描述
  2. 在minio目录下创建data、conf
mkdir data conf

3.配置文件

vim conf/minio.conf
#数据存放目录
MINIO_VOLUMES="/server/minio/data"
#端口号设置
MINIO_OPTS="--console-address :9000"
#用户名
MINIO_ROOT_USER="minioAdmin"
#密码
MINIO_ROOT_PASSWORD="minioAdmin"

  1. 可执行权限
chmod +x /server/minio/minio
  1. 配置启动文件
vim /etc/systemd/system/minio.service
[Unit]
Description=MinIO Server
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=root
Group=root
EnvironmentFile=/server/minio/conf/minio.conf
ExecStart=/server/minio/minio server $MINIO_VOLUMES
WorkingDirectory=/server/minio
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=default. Target
  1. 启动
sudo systemctl enable minio.service
sudo systemctl start minio.service

状态
systemctl status minio


5. Nginx安装

  1. 安装编译Nginx所需的依赖项
yum install gcc pcre-devel openssl-devel zlib-devel

下载离线依赖
yum install -y nginx --downloadonly --downloaddir=/nginx
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径

  1. 配置编译参数并进行编译和安装。执行以下命令
    创建nginx目录,安装包目录和编译目录不能是同一个
./configure --prefix=/server/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install

–prefix参数指定安装目录

  1. 创建Nginx服务的启动脚本。在/etc/systemd/system/目录中创建一个名为nginx.service的文件,并将以下内容添加到文件中
[Unit]
Description=Nginx Web Server
After=network.target

[Service]
Type=forking
ExecStart=/server/nginx/sbin/nginx
ExecReload=/server/nginx/sbin/nginx -s reload
ExecStop=/server/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  1. 启动
 systemctl enable nginx
systemctl start nginx
  1. nginx配置
server {
  listen 80;
  server_name sj.xxxxx.com;
        location / {
            root   /usr/share/nginx/html/h5;
	        index  index.html index.htm;
        }

        location ^~/api {
            proxy_pass http://127.0.0.1:8081;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_buffering off;
            rewrite ^/api/(.*)$ /$1 break;
        }
}

6. jar包启动

创建run.sh文件

touch run.sh
chmod +x run.sh

vim run.sh

#!/bin/bash 
#这里可替换为jar包名字
APP_NAME=blade-api.jar
#根据实际情况修改参数
#JVM="-server -Xms2g -Xmx2g -Xmn512m -XX:PermSize=128M -XX:MaxNewSize=128m -XX:MaxPermSize=25zh6m -Xss256k  -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -Xloggc:/logs/xxx-server/GC/xxx-gc.log"
#APPFILE_PATH="-Dspring.config.location=/usr/local/config/application.properties"
#使用说明,用来提示输入参数 
usage() { 
    echo "Usage: sh 执行脚本.sh [start|stop|restart|status|log|backup]" 
    exit 1 
} 
#检查程序是否在运行 
is_exist(){ 
    pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` 
    #如果不存在返回1,存在返回0 
    if [ -z "${pid}" ]; then 
        return 1 
    else 
        return 0 
    fi 
} 

#启动方法 
start(){ 
    is_exist 
    if [ $? -eq "0" ]; then 
        echo "${APP_NAME} is already running. pid=${pid} ." 
    else 
        #nohup java $JVM -jar $APPFILE_PATH $APP_NAME > /dev/null 2>&1 
                #后台启动jar包,且控制环境变量,根据实际情况修改吧。
        #nohup java $JVM -jar $APP_NAME --spring.profiles.active=prod > /dev/null 2>&1 & 
        nohup java  -Dfile.encoding=utf-8 -jar $APP_NAME --spring.cloud.nacos.discovery.ip=192.168.0.183 >> ./logs/api-$(date +%Y-%m-%d).log 2>&1 & 
    fi
} 

#停止方法 
stop(){ 
    is_exist 
    if [ $? -eq "0" ]; then 
        kill -9 $pid 
    else 
        echo "${APP_NAME} is not running" 
    fi 
} 

#输出运行状态 
status(){ 
    is_exist 
    if [ $? -eq "0" ]; then 
        echo "${APP_NAME} is running. Pid is ${pid}" 
    else 
        echo "${APP_NAME} is NOT running." 
    fi 
} 
#重启 
restart(){ 
    stop 
    start 
} 

#日志
log(){
        # 输出实时日志
    tail -n 100 -f /logs/api-$(date +%Y-%m-%d).log
}

#备份
backup(){
        #根据需求自定义备份文件路径。
    BACKUP_PATH=/root/bak/
        #获取当前时间作为备份文件名
    BACKUP_DATE=`date +"%Y%m%d(%H:%M:%S)"`
    echo 'backup file ->'$BACKUP_PATH$BACKUP_DATE'.jar'
        #备份当前jar包
    cp -r /root/bak/$APP_NAME  $BACKUP_PATH$BACKUP_DATE'.jar'
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明 
case "$1" in 
    "start") 
        start 
        ;; 
    "stop") 
        stop 
        ;; 
    "status") 
        status 
        ;; 
    "restart") 
        restart 
        ;; 
    "log") 
        log 
        ;; 
    "backup") 
        backup 
        ;; 
    *) 
usage 
;; 
esac

启 动

sh run.sh start
sh run.sh stop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装部署mysql、redis、minio、nginx 的相关文章

随机推荐

  • ideal使用maven将源码包和jar一起打包并上传到私服

    在公司中同事将代码提交到私服 下载jar包后却看不到注释 此时是因为同事没有将源码打包并上传到私服 配置方法如下
  • 在CentOS 7上安装Caffe

    简介 Caffe 是一个广泛使用的清晰 高效 模块化的深度学习框架 是贾扬清 Yangqing Jia 在UC Berkeley 读博期间建立的项目 由伯克利AI实验室 Berkeley AI Research BAIR 及社区贡献者开发
  • DC基础学习(六)Verilog语言结构到门级的映射2

    Design Compiler 以下简称DC 是Synopsys公司用于做电路综合的核心工具 可以将HDL描述的电路转换为基于工艺库的门级网表 本系列主要介绍综合相关的知识以及DC工具的使用 Verilog编码效率的高低是综合后电路性能高低
  • 微信网页开发:微信内h5使用wx-open-launch-weapp打开小程序,微信内h5使用wx-open-launch-app打开App的方案

    需求场景 当我们需要使用在微信客户端打开的h5页面 在页面上打开微信小程序或者唤起App时 我们需要使用微信js sdk提供的开放标签能力 这其中 使用wx open launch weapp标签打开微信小程序 使用wx open laun
  • 将“Encountered an improper argument“ 问题有效解决

    其错误提示为 Encountered an improper argument 错误原因 错误原因其实是因为我们在调试完结束时候 有断点 红色圆点 还没有去掉 所以我们一点击停止调试之后 keil就会马上弹出这个错误 然后你就会发现你的ke
  • 夏普ar2048s打印机驱动安装_驱动人生 下载安装打印机驱动的方法

    驱动人生 安装打印驱动的方法 支持USB 网络 注 电脑需要连接互联网 某些新款机型或可能不支持 不支持的型号请用自带驱动安装 或者到品牌官网下载驱动 注 下载 驱动人生 请到官网下载 请不要在第三方下载 第三方可能绑定有应用程序 安装时可
  • Sqlilabs-26

    来到了 Sqlilabs 大魔王的第 26 关关卡 来到页面就看到大大的 你的所有空格和过滤符都属于我们 这难得到机智的你吗 在此说下常见的绕过方法有 本来这应该在 25 关卡就说的 忘了 双写绕过 大小写绕过 编码绕过 如 hex URL
  • 通过这12张手绘图,搞懂什么是微服务架构

    点击上方 阿拉奇学Java 选择 置顶或者星标 优质文章第一时间送达 来源 juejin im post 5c0ba2bef265da614d08fefe 推荐阅读 SpringBoot中异步请求和异步调用 看这一篇就够了 下文 你将看到业
  • 【Linux成长史】Linux权限的详细讲解

    博客主页 博主链接 本文由 M malloc 原创 首发于 CSDN 学习专栏推荐 LeetCode刷题集 数据库专栏 初阶数据结构 欢迎点赞 收藏 留言 如有错误敬请指正 未来很长 值得我们全力奔赴更美好的生活 文章目录 本章详情 Lin
  • 算法效率分析基础-算法四

    主要内容 介绍研究算法效率的通用框架 介绍三种符号 O 读作O 读作omega 和 读作theta 这些数学借来的符号已经成为讨论算法效率的特定语言 使用通用框架系统对非递归算法进行分析 这种分析主要的工具是先定义一个代表算法运行时间的求和
  • QT信号槽的5种连接方式Qt::ConnectionType

    参考 QT信号槽的5种连接方式 非常溜 Qt QueuedConnection例子 666 Qt信号槽的五种连接方式 简洁清晰 Qt UniqueConnection 防止重复连接 综合 例子 updatethread h ifndef U
  • Python入门

    一 进制 1 什么是进制 进制就是进位的制度 一种进位的方式 2 常见的进制 二进制 0和1 0 1 十进制 0 9的整数 0 1 2 3 4 5 6 7 8 9 八进制 0 7的整数 用数字0开头 0 1 2 3 4 5 6 7 十六进制
  • ipconfig不是内部或外部命令

    错误背景 windows r 输入cmd dos命令输入ipconfig 出现不是内部或外部命令 解决方案 1 电脑 系统属性 环境变量 找到path 在末尾处 如没有分号就添加c windows system32 确定 windows r
  • Qt5 信号槽连接 函数重载、参数不一致问题

    Qt5中使用以下方式代替Qt4的信号槽连接 在编译时即对连接的函数指针进行检测 提高了安全性 而Qt4的连接方式是基于字符串的 只能在运行时进行检测 在Qt4的connect方法上右键 Refactor gt Convert connect
  • [数据库系统]第7讲 关系模式的优化知识点整理

    第1节 关系模型的好坏 ER模型转换的关系是否就是最优的关系 不一定 关系模型潜在的问题 添加异常 修改异常 删除异常 数据冗余 冗余 当数据的某些部分能由其他部分推导出来 就意味着存在冗余 冗余的存在是因为存在完整性约束 如何解决冗余问题
  • Transformer学习笔记

    The Illustrated Transformer Jay Alammar Visualizing machine learning one concept at a time jalammar github io 上面是图片出处 是否
  • CSS列表与表格

    目录 编辑 HTML 列表和 CSS 列表属性 不同的列表项目标记 实例 图像作为列表项标记 实例 定位列表项标记 实例 删除默认设置 实例 列表 简写属性 实例 设置列表的颜色样式 实例 更多实例 所有 CSS 列表属性 表格边框 实例
  • python PDF转docx库的安装与使用

    python PDF转docx库的安装与使用 下载 使用 三种方法 效果 下载 anaconda中直接通过anaconda prompt下载pdf2docx库 pip install pdf2docx 使用 三种方法 可以直接通过命令行使用
  • SpringMVC基础(5): SpringMVC常用注解

    目录 1 handler method 参数绑定常用注解 2 常用注解 1 PathVariable 2 RequestHeader CookieValue 3 Re Body 5 RequestBody和 RequestParam区别 6
  • 安装部署mysql、redis、minio、nginx

    离线安装部署mysql redis minio nginx jar包启动 系统环境 centos7 9 架构 X86 安装目录 server 记录安装笔记 依赖项在线安装的 下载离线依赖 yum install y nginx downlo