阿里云CentOS服务器配置是一个涉及多步骤、多环节的过程,需要从基础环境搭建、服务部署到安全优化逐步完成,以下将详细讲解配置流程,帮助用户快速上手并确保服务器稳定运行。

初始化服务器基础设置
-
连接服务器
首先通过SSH工具连接服务器,推荐使用PuTTY(Windows)或终端(Mac/Linux),连接时需使用阿里云提供的公网IP和SSH端口(默认22),初始用户名为root,密码为购买时设置的密码或密钥对,为提升安全性,建议后续禁用root登录,改用普通用户。 -
更新系统软件包
执行以下命令更新系统,确保所有软件包为最新版本:yum update -y
-
配置网络
检查网络配置是否正确,执行ip addr查看网卡信息,若需修改静态IP,编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件(eth0为网卡名称,可能因系统版本不同),设置BOOTPROTO=static,并配置IP地址、网关、DNS等参数,重启网络服务使配置生效:systemctl restart network。 -
设置主机名
执行hostnamectl set-hostname your_hostname设置自定义主机名,便于管理。
(图片来源网络,侵删)
安装必要软件与环境
-
安装常用工具
安装如wget、vim、curl等基础工具:yum install -y wget vim curl net-tools
-
配置防火墙
CentOS 7及以上版本使用firewalld防火墙,开放常用端口(如80、22、443):firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload
若需关闭防火墙(生产环境不推荐),执行
systemctl stop firewalld并禁用开机启动。 -
安装Nginx
Nginx作为常用Web服务器,可通过EPEL源安装:
(图片来源网络,侵删)yum install -y epel-release yum install -y nginx systemctl start nginx systemctl enable nginx # 设置开机启动
安装后访问服务器公网IP,若看到Nginx欢迎页面则说明安装成功。
-
安装MySQL
以MySQL 5.7为例,首先添加官方Yum源:wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm rpm -ivh mysql57-community-release-el7-7.noarch.rpm yum install -y mysql-server systemctl start mysqld
安装后通过
grep 'temporary password' /var/log/mysqld.log获取临时密码,登录后修改密码并创建数据库:ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!'; CREATE DATABASE your_database;
-
安装PHP(可选)
若需运行PHP项目,安装PHP-FPM及常用扩展:yum install -y php php-fpm php-mysql php-gd php-mbstring systemctl start php-fpm systemctl enable php-fpm
配置Nginx支持PHP,编辑
/etc/nginx/nginx.conf,在server块中添加:location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
安全配置
-
创建普通用户
避免直接使用root操作,创建新用户并赋予sudo权限:useradd username passwd username visudo # 在文件末尾添加 "username ALL=(ALL) ALL"
-
SSH安全加固
编辑/etc/ssh/sshd_config,修改以下配置:- 禁用root登录:
PermitRootLogin no - 修改默认SSH端口:
Port 2222(需同步防火墙开放) - 禁用密码登录(推荐密钥登录):
PasswordAuthentication no
重启SSH服务:systemctl restart sshd。
- 禁用root登录:
-
定期备份
使用crontab设置自动备份,例如每日凌晨备份MySQL数据库:crontab -e ``` `0 2 * * * /usr/bin/mysqldump -u root -p'password' your_database | gzip > /backup/db_$(date +\%Y\%m\%d).sql.gz`。
性能优化建议
-
调整文件描述符
编辑/etc/security/limits.conf,添加:* soft nofile 65535 * hard nofile 65535
重启服务器生效。
-
内核参数优化
编辑/etc/sysctl.conf,添加以下参数:net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog = 32768 net.ipv4.tcp_fin_timeout = 30
执行
sysctl -p使配置生效。 -
监控与日志
安装htop监控资源使用:yum install -y htop,配置logrotate定期切割Nginx和MySQL日志,避免日志文件过大。
常见问题与解决方案
-
端口冲突
若启动服务时提示端口被占用,使用netstat -tunlp | grep :80查看占用进程,通过kill -9 PID终止进程或修改服务配置中的端口。 -
Yum源报错
若Yum安装失败,可能是缓存问题,执行yum clean all清理缓存,或更换国内镜像源(如阿里云镜像源)。
相关问答FAQs
Q1: 如何在CentOS服务器上配置多域名站点?
A1: 在Nginx配置目录/etc/nginx/conf.d/下创建多个配置文件(如domain1.conf、domain2.conf),每个文件配置一个server块,指定域名、根目录和日志路径。
server {
listen 80;
server_name domain1.com;
root /var/www/domain1;
access_log /var/log/nginx/domain1.access.log;
}
保存后执行nginx -t检查配置,并systemctl reload nginx重启服务即可。
Q2: CentOS 7停止维护后,如何迁移系统?
A2: CentOS 7将于2025年6月停止维护,建议迁移至Alibaba Cloud Linux或Rocky Linux,迁移步骤如下:
- 备份数据:使用
rsync或tar备份重要数据到本地。 - 创建新服务器:在阿里云控制台选择Alibaba Cloud Linux镜像创建实例。
- 数据恢复:将备份数据传输至新服务器,恢复至对应目录。
- 环境重装:按照上述步骤在新服务器安装Nginx、MySQL等服务,并调整配置。
- DNS切换:将域名解析指向新服务器IP,完成迁移。
