当前位置:首页 > 云服务器 > 正文

centos服务器搭建

CentOS服务器搭建是企业级应用中常见的基础设施建设任务,涉及系统安装、网络配置、服务部署及安全加固等多个环节,以下从准备工作到服务部署,详细说明CentOS服务器的完整搭建流程。

准备工作与环境规划

在开始搭建前,需明确服务器用途(如Web服务、数据库、应用容器等)及硬件资源要求,通常需确认以下内容:

centos服务器搭建 第1张

  • 硬件配置:根据负载选择CPU、内存(如4GB+基础服务,8GB+中等负载)、存储(SSD优先,建议至少100GB系统盘)及网络带宽。
  • 系统版本:优先选择CentOS Stream(滚动更新)或CentOS 7/8(LTS长期支持),本文以CentOS 7为例。
  • 网络规划:配置静态IP地址(避免DHCP动态分配导致服务中断),规划防火墙规则及端口开放策略。

系统安装与基础配置

安装CentOS 7系统

通过ISO镜像启动服务器,进入安装界面后进行以下配置:

  • 语言选择:默认“English”,安装后可切换为中文。
  • 时区设置:选择“Asia/Shanghai”。
  • 磁盘分区:推荐LVM逻辑卷管理,便于后续扩容,分区方案如下:
分区类型 文件系统 大小 说明
/boot xfs 500MB 系统启动分区
swap swap 内存2倍 交换分区(内存≤8GB时)
xfs 剩余空间 根分区
  • 网络配置:开启“Manual”手动配置IP,设置IP地址(如192.168.1.100)、子网掩码(255.255.255.0)、网关(192.168.1.1)及DNS(如8.8.8.8)。
  • 安全策略:安装时禁用SELinux(生产环境建议开启并配置策略),关闭防火墙(后续手动配置)。

基础系统优化

安装完成后,通过SSH远程登录服务器(默认端口22),执行以下操作:

  • 更新系统: yum update y && reboot
  • 配置主机名: hostnamectl sethostname server01
  • 安装必要工具: yum install y wget vim nettools tree

网络与服务配置

防火墙与端口管理

启用并配置防火墙,仅开放必要端口(如SSH 22、HTTP 80、HTTPS 443):

centos服务器搭建 第2张

systemctl start firewalld systemctl enable firewalld firewallcmd permanent addservice=ssh firewallcmd permanent addservice=http firewallcmd permanent addservice=https firewallcmd reload

安装Web服务(以Nginx为例)

Nginx是高性能Web服务器,适合部署静态网站或反向代理:

# 安装EPEL源 yum install y epelrelease # 安装Nginx yum install y nginx # 启动并设置开机自启 systemctl start nginx systemctl enable nginx # 配置虚拟主机(示例:/etc/nginx/conf.d/www.conf) cat > /etc/nginx/conf.d/www.conf << EOF server { listen 80; server_name www.example.com; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } } EOF # 创建测试页面 mkdir p /var/www/html && echo "Welcome to Nginx!" > /var/www/html/index.html # 重启Nginx systemctl restart nginx

安装数据库(以MariaDB为例)

MariaDB是MySQL的开源分支,适用于数据存储:

centos服务器搭建 第3张

# 安装MariaDB yum install y mariadbserver mariadb # 启动服务 systemctl start mariadb systemctl enable mariadb # 安全初始化(设置root密码、移除匿名用户等) mysql_secure_installation

安全加固措施

生产环境服务器需重点强化安全配置,避免未授权访问和攻破:

  • 禁用root远程登录:通过SSH密钥认证替代密码,编辑/etc/ssh/sshd_config,设置PermitRootLogin no,重启SSH服务: systemctl restart sshd
  • 创建普通用户: useradd admin && passwd admin # 赋予sudo权限 echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
  • 定期更新系统:配置自动更新任务,或通过yum checkupdate定期检查补丁。
  • 日志监控:安装logwatch工具,每日分析系统日志: yum install y logwatch echo "DailyReport" | mail s "Server Log" admin@example.com

性能优化与维护

  • 内核参数调优:编辑/etc/sysctl.conf,优化TCP连接和网络性能: net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 sysctl p
  • 定期备份:使用rsync或tar备份数据库和配置文件,例如每日备份Nginx配置: tar czf /backup/nginx_$(date +%F).tar.gz /etc/nginx

相关问答FAQs

Q1:CentOS 7停止维护后,如何选择替代系统?

A:CentOS 7已于2026年6月停止维护,建议迁移至CentOS Stream(与RHEL同步)或Rocky Linux/AlmaLinux(CentOS 7的社区替代品),迁移前需备份重要数据,使用dnf替换yum(CentOS Stream默认使用dnf),并测试应用兼容性。

Q2:服务器内存不足时,如何优化swap分区?

A:若swap分区不足,可通过以下方式扩容:

  1. 创建swap文件:dd if=/dev/zero of=/swapfile bs=1M count=4096(4GB);
  2. 设置权限:chmod 600 /swapfile;
  3. 格式化swap:mkswap /swapfile;
  4. 启用swap:swapon /swapfile;
  5. 添加到/etc/fstab实现开机自启:/swapfile swap swap defaults 0 0。

0