安装部署mysql、redis、minio、nginx

离线安装部署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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值