凌峰创科服务平台

阿里云Centos服务器配置如何快速上手?

配置总览

我们将整个配置过程分为以下几个阶段:

阿里云Centos服务器配置如何快速上手?-图1
(图片来源网络,侵删)
  1. 第一阶段:基础准备与安全加固

    • 重置实例密码并连接服务器
    • 更新系统软件包
    • 配置防火墙
    • 创建新用户并设置 sudo 权限
    • 配置 SSH 密钥登录(强烈推荐)
    • 禁用 root 远程登录
    • 配置时区
    • 定时任务与日志
  2. 第二阶段:常用服务部署

    • 安装 Nginx
    • 安装 MySQL (MariaDB)
    • 安装 PHP (以 PHP-FPM 为例)
    • 安装 Docker
  3. 第三阶段:生产环境优化

    • 配置 Swap 交换分区
    • 内核参数优化 (sysctl.conf)
    • 安全组策略优化

第一阶段:基础准备与安全加固

这是最重要的一步,一个安全的服务器是所有应用稳定运行的基础。

阿里云Centos服务器配置如何快速上手?-图2
(图片来源网络,侵删)

重置实例密码并连接服务器

  • 重置密码
    1. 登录 阿里云ECS控制台
    2. 找到你的 CentOS 实例,点击“更多” -> “密码/密钥” -> “重置实例密码”。
    3. 设置一个强密码并保存。
  • 连接服务器
    • 使用 SSH 客户端(推荐,如 Xshell, PuTTY, MobaXterm, 或 Windows Terminal + OpenSSH)。
    • 在客户端中,使用以下命令连接:
      # <公网IP> 替换成你服务器的公网 IP 地址
      ssh root@<你的公网IP>
    • 首次连接会提示 The authenticity of host '...' can't be established...,输入 yes
    • 然后输入你刚刚重置的 root 用户密码。

更新系统软件包

保持系统软件包为最新版本,可以修复已知的安全漏洞和错误。

# 更新所有已安装的包
yum update -y
# 清理缓存
yum clean all

配置防火墙

CentOS 7+ 使用 firewalld 作为默认防火墙,为了安全,我们应该只开放必要的端口(如 22, 80, 443)。

# 1. 启动 firewalld 并设置为开机自启
systemctl start firewalld
systemctl enable firewalld
# 2. 检查防火墙状态
firewall-cmd --state
# 3. 开放常用端口
# 开放 SSH 端口 (22)
firewall-cmd --permanent --add-service=ssh
# 或者直接开放端口
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=80/tcp   # HTTP
firewall-cmd --permanent --add-port=443/tcp  # HTTPS
# 4. 重新加载防火墙配置,使规则生效
firewall-cmd --reload
# 5. 查看已开放的端口和服务
firewall-cmd --list-all

创建新用户并设置 sudo 权限

直接使用 root 用户操作风险很高,我们应该创建一个普通用户来日常使用。

# 1. 创建一个新用户,'ecsuser'
adduser ecsuser
# 2. 为新用户设置密码
passwd ecsuser
# 3. 为新用户添加 sudo 权限
# CentOS/RHEL 默认使用 'wheel' 用户组
usermod -aG wheel ecsuser

你可以退出 root 会话,用 ecsuser 重新登录。

阿里云Centos服务器配置如何快速上手?-图3
(图片来源网络,侵删)
exit
ssh ecsuser@<你的公网IP>

配置 SSH 密钥登录(强烈推荐)

使用 SSH 密钥比密码更安全,可以有效防止暴力破解。

  • 在你的本地电脑上生成密钥对(如果没有的话):

    # 一路回车即可,使用默认路径和空密码
    ssh-keygen -t rsa -b 4096
  • 将公钥上传到服务器

    # <你的公网IP> 替换成你的服务器IP
    # ~/.ssh/authorized_keys 是默认的公钥存储位置
    ssh-copy-id -i ~/.ssh/id_rsa.pub ecsuser@<你的公网IP>

    这个命令会自动将你的公钥追加到服务器上 ecsuserauthorized_keys 文件中。

  • 服务器端 SSH 配置优化: 用 ecsuser 登录后,编辑 SSH 配置文件:

    sudo vim /etc/ssh/sshd_config

    找到并修改以下几行:

    # 禁用 root 用户登录
    PermitRootLogin no
    # 只允许密钥登录,禁止密码登录(配置完密钥后再做此步)
    PasswordAuthentication no
    # 确保端口 22 是开放的(如果修改了端口)
    # Port 22

    保存文件后,重启 SSH 服务使配置生效:

    sudo systemctl restart sshd

    注意:在 PasswordAuthentication no 之前,请确保你已经成功通过密钥登录,否则可能会被锁在服务器外面!

配置时区

将服务器时区设置为中国/上海。

# 查看当前时区
timedatectl status
# 设置时区
sudo timedatectl set-timezone Asia/Shanghai
# 再次确认
timedatectl status

定时任务与日志

  • 配置定时任务:用于定期执行备份、清理等操作。

    # 编辑 crontab
    crontab -e

    添加一个示例,每天凌晨 2 点执行 yum update

    0 2 * * * /usr/bin/yum -y update
  • 配置日志轮转:防止日志文件过大。 CentOS 自带了 logrotate/etc/logrotate.conf 是主配置文件,大多数应用(如 Nginx, MySQL)的日志轮转配置都放在 /etc/logrotate.d/ 目录下,检查并确保它们配置正确。


第二阶段:常用服务部署

这里以经典的 LNMP (Linux + Nginx + MySQL + PHP) 环境为例。

安装 Nginx

# 1. 安装 EPEL 仓库 (如果未安装)
sudo yum install -y epel-release
# 2. 安装 Nginx
sudo yum install -y nginx
# 3. 启动 Nginx 并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
# 4. 检查 Nginx 状态
sudo systemctl status nginx
# 5. 在浏览器中访问你的公网IP,如果看到 "Welcome to nginx!" 页面,说明安装成功。

安装 MySQL (MariaDB)

阿里云 CentOS 默认使用 MariaDB,它是 MySQL 的一个分支,完全兼容。

# 1. 安装 MariaDB 服务器和客户端
sudo yum install -y mariadb-server mariadb
# 2. 启动 MariaDB 并设置开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 3. 运行安全脚本
# 这个脚本会帮你设置 root 密码、移除匿名用户、禁止 root 远程登录等
sudo mysql_secure_installation

根据提示操作:

  • Enter current password for root (enter for none): 直接回车
  • Set root password? [Y/n]: Y (设置一个强密码)
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

安装 PHP (以 PHP-FPM 为例)

# 1. 安装 PHP-FPM 和常用扩展
# 你可以根据项目需要安装不同的扩展,如 php-mysqlnd, php-gd, php-fpm 等
sudo yum install -y php php-fpm php-mysqlnd php-gd php-mbstring
# 2. 启动 PHP-FPM 并设置开机自启
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
# 3. 检查 PHP-FPM 状态
sudo systemctl status php-fpm

安装 Docker

# 1. 安装 yum-utils 提供的 yum-config-manager 实用程序
sudo yum install -y yum-utils
# 2. 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 3. 安装 Docker Engine
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 4. 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 5. 验证 Docker 是否安装成功
sudo docker run hello-world

第三阶段:生产环境优化

这部分需要根据服务器的实际负载和应用场景进行调整。

配置 Swap 交换分区

如果你的服务器内存较小(如 1GB 或 2GB),配置 Swap 可以防止内存耗尽导致系统崩溃。

# 1. 创建一个 2G 的 swap 文件
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# 2. 设置正确的权限
sudo chmod 600 /swapfile
# 3. 格式化为 swap 文件
sudo mkswap /swapfile
# 4. 启用 swap 文件
sudo swapon /swapfile
# 5. 使其永久生效,编辑 /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 6. 验证 swap 是否生效
free -h

内核参数优化 (sysctl.conf)

优化网络和系统内核参数,可以提高服务器性能和稳定性。

# 编辑 sysctl.conf 文件
sudo vim /etc/sysctl.conf

在文件末尾添加或修改以下内容:

# 网络相关优化
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65535
# 系统相关优化
fs.file-max = 655350
vm.swappiness = 10

保存后,执行以下命令使配置立即生效:

sudo sysctl -p

安全组策略优化

在阿里云ECS控制台,为你的实例配置安全组,这是服务器的最后一道防线。

  1. 进入 ECS控制台 -> “网络与安全” -> “安全组”。
  2. 找到对应实例的安全组,点击“配置规则”。
  3. 入方向
    • 只开放必要的端口:Web 服务器只需要开放 80 (HTTP), 443 (HTTPS), 22 (SSH)。
    • 限制来源IP:对于 22 (SSH) 端口,强烈建议只允许你自己的公网IP访问,而不是 0.0.0/0
    • 删除默认的开放所有端口 (0.0.0.0/0) 的规则
  4. 出方向:通常允许所有 0.0.0/0 即可,因为服务器需要访问外网。

恭喜!现在你的阿里云 CentOS 服务器已经完成了从基础安全配置到常用服务部署,再到生产环境优化的全过程,你的服务器现在具备了:

  • 高安全性:非 root 用户、密钥登录、防火墙、安全组。
  • 高性能基础:LNMP/Docker 环境就绪,内核参数已优化。
  • 高可用性:关键服务已设置为开机自启。

你就可以基于这个稳定的环境部署你的 Web 应用、数据库或其他服务了,服务器维护是一个持续的过程,请定期检查日志、更新系统和应用。

分享:
扫描分享到社交APP
上一篇
下一篇