在搭建Linux服务器时,需从硬件选型、系统安装、基础配置、安全加固到服务部署逐步推进,确保服务器稳定、安全且满足业务需求,以下是详细步骤:
硬件选型与准备
硬件配置需根据服务器用途(如Web服务、数据库、文件存储等)合理规划,核心参数包括CPU、内存、存储、网络及冗余设计。
用途 | CPU核心数 | 内存容量 | 存储类型 | 网络带宽 | 冗余设计 |
---|---|---|---|---|---|
入门级Web服务 | 2-4核 | 8-16GB | 256GB SSD + 1TB HDD | 1Gbps | 单电源,无RAID |
中小型数据库 | 4-8核 | 16-32GB | 512GB SSD RAID 1 | 10Gbps | 双电源,RAID 1/10 |
企业级文件存储 | 8-16核 | 32-64GB | 4TB HDD RAID 5/6 | 25Gbps | 双电源,冗余网卡,UPS |
注意事项:优先选择服务器级硬件(如戴尔R系列、惠普ProLiant),支持IPMI远程管理;存储根据性能需求选择SSD(系统盘)或HDD(数据盘),RAID可提升数据可靠性。
操作系统安装
选择发行版
- 入门/开发:Ubuntu Server(社区活跃,文档丰富)
- 企业级:CentOS Stream/RHEL(稳定,长期支持)
- 轻量级:Debian(资源占用低)
安装步骤
- 制作启动盘:使用Rufus(Windows)或dd(Linux)将ISO写入U盘,设置BIOS从U盘启动。
- 分区规划:
/boot
:500MB(EXT4,引导分区)- 20-50GB(EXT4/XFS,系统分区)
/data
:剩余空间(XFS/EXT4,数据分区,建议独立磁盘)swap
:内存的1-2倍(若内存≥32GB,可设置为16GB或关闭)
- 网络配置:选择静态IP(避免DHCP动态分配冲突),设置DNS(如8.8.8.8、114.114.114.114)。
- 用户设置:创建管理员用户(禁用root远程登录),设置强密码。
基础系统配置
更新系统
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL sudo dnf update -y
配置网络
编辑网卡配置文件(如/etc/netplan/01-netcfg.yaml
):
network: version: 2 ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]
执行netplan apply
使配置生效。
配置SSH优化
编辑/etc/ssh/sshd_config
:
- 禁用root登录:
PermitRootLogin no
- 修改默认端口:
Port 2222
(避免默认22端口扫描) - 启用密钥登录:
PubkeyAuthentication yes
,PasswordAuthentication no
重启SSH服务:systemctl restart sshd
时区与时间同步
sudo timedatectl set-timezone Asia/Shanghai sudo apt install ntp -y # Ubuntu/Debian sudo dnf install ntpdate -y # CentOS/RHEL sudo ntpdate pool.ntp.org
安全加固
防火墙配置
- Ubuntu/Debian(ufw):
sudo ufw default deny incoming sudo ufw allow 2222/tcp # SSH端口 sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw enable
- CentOS/RHEL(firewalld):
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
禁用不必要的服务
# 查看开机自启服务 systemctl list-unit-files --state=enabled # 禁用不必要服务(如avahi-daemon、cups) sudo systemctl disable avahi-daemon
入侵检测与日志审计
安装fail2ban
防暴力破解:
sudo apt install fail2ban -y sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 编辑jail.local,配置SSH封禁规则: [sshd] enabled = true port = 2222 maxretry = 3 bantime = 3600 sudo systemctl restart fail2ban
日志审计:通过/var/log/auth.log
(Ubuntu)或/var/log/secure
(CentOS)监控登录异常。
部署常用服务
以部署Nginx+MySQL为例:
安装Nginx
# Ubuntu sudo apt install nginx -y # CentOS sudo dnf install nginx -y sudo systemctl enable nginx --now
安装MySQL
# Ubuntu sudo apt install mysql-server -y sudo mysql_secure_installation # 安全初始化(设置root密码、匿名用户、测试数据库) # CentOS sudo dnf install mysql-server -y sudo systemctl enable mysqld --now sudo mysql_secure_installation
配置虚拟主机
编辑Nginx配置文件/etc/nginx/sites-available/default
:
server { listen 80; server_name example.com; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } }
创建测试页面:echo "Hello, Linux Server!" | sudo tee /var/www/html/index.html
,重启Nginx:systemctl restart nginx
。
维护与优化
监控工具
- 系统监控:
htop
(进程)、nethogs
(流量)、df -h
(磁盘) - 专业监控:Prometheus+Grafana(可视化监控)、Zabbix(企业级)
备份策略
- 全量备份:每周完整备份(使用
rsync
或tar
) - 增量备份:每日增量备份(
rsync --link-dest
) - 异地备份:定期将备份文件同步至云存储(如阿里云OSS、AWS S3)
示例脚本(每日备份/data
目录):
#!/bin/bash DATE=$(date +%Y%m%d) rsync -avz --delete /data /backup/data_$DATE
性能优化
- 内核参数:调整
/etc/sysctl.conf
(如net.ipv4.tcp_tw_reuse=1
减少TIME_WAIT连接) - 磁盘IO:使用
noatime
挂载选项(/dev/sda1 /data xfs defaults,noatime 0 0
) - 内存管理:定期清理缓存(
sync && echo 3 > /proc/sys/vm/drop_caches
)
相关问答FAQs
Q1:如何定期检查服务器安全?
A:可通过以下步骤定期检查:
- 系统更新:执行
sudo apt update && sudo apt upgrade -y
(Ubuntu)或sudo dnf update -y
(CentOS),修复已知漏洞。 - 日志分析:使用
grep "Failed password" /var/log/auth.log
(Ubuntu)或grep "Failed password" /var/log/secure
(CentOS)排查暴力破解尝试,结合fail2ban
自动封禁IP。 - 端口扫描:使用
nmap -sT -p- localhost
检查开放端口,关闭非必要服务端口(如 Telnet(23)、FTP(21))。 - 权限检查:执行
ls -la /etc/passwd
查看系统用户,删除异常账户;使用chmod 640 /etc/shadow
限制敏感文件权限。
Q2:Linux服务器性能突然下降怎么办?
A:按以下步骤排查:
- CPU占用:运行
top
或htop
,找到高CPU占用进程(如%CPU
列),若为异常进程(如挖矿程序),终止进程(kill -9 PID
)。 - 内存占用:执行
free -h
查看内存使用,若buff/cache
占用过高,可清理缓存(echo 3 > /proc/sys/vm/drop_caches
);若Swap
使用率高,需增加物理内存或优化应用内存泄漏。 - 磁盘IO:运行
iostat -x 1
,检查%util
(磁盘使用率)和await
(平均等待时间),若过高,可能存在磁盘瓶颈,可优化磁盘分区(如使用SSD)或检查大文件读写进程。 - 网络流量:使用
nethogs
或iftop
查看实时流量,定位异常流量(如DDoS攻击),通过防火墙封禁恶意IP(iptables -I INPUT -s 恶意IP -j DROP
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/27328.html