明道云单机部署之服务器优化

本文档以 CentOS/RedHat 系统为示例进行部署,麒麟V10 和华为欧拉系统也可参照使用;Debian 系列系统的区别将单独注明。

一、环境准备

  1. 准备一台 Linux 服务器,最低配置要求:8核、32G内存、40G数据盘(系统盘除外),更多推荐 ,确保 88803888038881 端口不被占用
  2. 使用 root 用户登录服务器
  3. 如果服务器有数据盘,请在部署前将数据盘挂载到 /data 目录,或在安装时修改数据的默认存储路径为你的数据盘所挂载路径
  4. 关闭 Firewalld
systemctl stop firewalld && systemctl disable firewalld

5.关闭 SELinux

setenforce 0
sed -i s/"^SELINUX=.*$"/"SELINUX=disabled"/g /etc/selinux/config

6.调整 MaxMapCount

sysctl -w vm.max_map_count=262144
grep -q '^vm.max_map_count' /etc/sysctl.conf && sed -i 's/^vm.max_map_count.*/vm.max_map_count=262144/' /etc/sysctl.conf || echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

7.调整 SysFileNr

sysctl -w fs.file-max=2048000
grep -q '^fs.file-max' /etc/sysctl.conf && sed -i 's/^fs.file-max.*/fs.file-max=2048000/' /etc/sysctl.conf || echo 'fs.file-max=2048000' >> /etc/sysctl.conf

8.调整 IPv4Forward

sysctl -w net.ipv4.ip_forward=1
grep -q '^net.ipv4.ip_forward' /etc/sysctl.conf && sed -i 's/^net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf || echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

嗯,以上这些,可以用脚本来一键操作

#!/bin/bash

# 检查是否为root用户
if [ "$(id -u)" -ne 0 ]; then
    echo "错误:请使用 root 用户执行此脚本!"
    exit 1
fi

# 1. 关闭Firewalld
echo "正在关闭Firewalld..."
systemctl stop firewalld 2>/dev/null
systemctl disable firewalld 2>/dev/null

# 2. 关闭SELinux
echo "正在关闭SELinux..."
setenforce 0 2>/dev/null
sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config 2>/dev/null

# 3. 调整MaxMapCount
echo "正在调整vm.max_map_count..."
sysctl -w vm.max_map_count=262144
grep -q '^vm.max_map_count' /etc/sysctl.conf && sed -i 's/^vm.max_map_count.*/vm.max_map_count=262144/' /etc/sysctl.conf || echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

# 4. 调整SysFileNr
echo "正在调整fs.file-max..."
sysctl -w fs.file-max=2048000
grep -q '^fs.file-max' /etc/sysctl.conf && sed -i 's/^fs.file-max.*/fs.file-max=2048000/' /etc/sysctl.conf || echo 'fs.file-max=2048000' >> /etc/sysctl.conf

# 5. 调整IPv4Forward
echo "正在启用IPv4转发..."
sysctl -w net.ipv4.ip_forward=1
grep -q '^net.ipv4.ip_forward' /etc/sysctl.conf && sed -i 's/^net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf || echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

# 针对Debian 10+的iptables检查
if grep -q "Debian" /etc/os-release && [ "$(grep -oP 'VERSION_ID="\K[0-9]+' /etc/os-release)" -ge 10 ]; then
    echo "检测到Debian 10+系统,正在检查iptables..."
    if ! command -v iptables &> /dev/null; then
        echo "未找到iptables,正在安装..."
        apt-get update -y
        apt-get install -y iptables
        echo "iptables安装完成!"
    else
        echo "iptables已安装,版本信息:"
        iptables --version
    fi
fi

# 应用所有sysctl配置
sysctl -p &>/dev/null

echo -e "\n所有操作已完成!建议重启系统使部分更改生效。"

根据自己需要修改,我这是基于Debian 10+来整的

脚本优化点:

  1. 智能检测Debian 10+:通过检查/etc/os-release判断是否为Debian 10及以上版本
  2. 按需安装iptables:仅当系统无iptables时才会安装
  3. 增强兼容性:所有可能报错的操作均添加2>/dev/null静默处理
  4. 明确执行进度:每个步骤添加清晰的echo提示
  5. 最终sysctl加载:执行sysctl -p确保所有配置立即生效

Docker 安装

明道云是基于Docker的,所以还需要安装Docker

个人选择一键执行

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

执行后,按提示选择即可

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容