对于刚接触服务器运维的新手来说,Linux 是一座看似高冷却充满魅力的堡垒。它免费、稳定、性能强大,被全球绝大多数网站和云服务所采用。但要真正掌握 Linux,从安装到安全加固,中间有许多细节需要注意。本文将带你一步步完成一台 Linux 服务器的部署、优化与加固,帮助你快速从“入门”跨向“实战”。
一、选择合适的 Linux 发行版
Linux 的“家族成员”众多,新手常见的选择有:
- Ubuntu Server:社区活跃,文档丰富,适合新手和中小型项目;
- CentOS / Rocky Linux / AlmaLinux:企业级环境常用,稳定性出众;
- Debian:自由且稳健,适合长期运行的服务;
- openSUSE、Fedora:功能新颖,但版本更新频繁。
建议:如果你第一次搭建服务器,可选择 Ubuntu Server LTS 或 Rocky Linux,二者都有长期支持版本(LTS),系统更新稳定且兼容性好。
二、系统安装与基本配置
1. 安装系统
大多数云服务商都提供了“一键部署”功能,可直接选择系统镜像。如果是物理机或虚拟机安装,可使用官方 ISO 镜像。安装时注意:分区时建议 /
、/home
、/var
独立分区;服务器用途明确时,合理分配磁盘空间;root 密码要复杂,至少 12 位,包含大小写、数字和符号。
2. 设置主机名与网络
安装完成后,首先配置主机名和网络。
# 修改主机名
hostnamectl set-hostname web-server
# 编辑 hosts 文件绑定
vim /etc/hosts
127.0.0.1 localhost
192.168.1.10 web-server
确保网络可用:
ping -c 4 www.baidu.com
如果 ping 不通,检查 /etc/sysconfig/network-scripts/ifcfg-eth0
(CentOS)或 /etc/netplan/*.yaml
(Ubuntu)中的 IP 设置是否正确。
三、创建普通用户与权限管理
出于安全考虑,禁止直接使用 root 登录。
# 新建一个普通用户
adduser admin
# 设置密码
passwd admin
# 赋予 sudo 权限
usermod -aG sudo admin
测试 sudo 是否可用:
su - admin
sudo ls /root
如果能成功执行说明配置正常。
四、基础环境配置与优化
1. 更新系统
系统安装完成后,第一步是更新所有软件包:
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y
# CentOS / Rocky
sudo dnf update -y
2. 设置时区与时间同步
正确的时间对于日志分析和任务调度非常重要。
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
3. 安装常用工具
新服务器常用工具如下:
sudo apt install -y vim net-tools curl wget git htop unzip lsof
这些工具在排查故障、传输文件、监控进程时非常实用。
五、防火墙与 SSH 安全加固
1. 配置防火墙(UFW / firewalld)
Ubuntu 系统建议使用 ufw
:
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
sudo ufw status
CentOS / Rocky 使用 firewalld
:
sudo systemctl enable firewalld --now
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
2. SSH 安全配置
修改 /etc/ssh/sshd_config
:
# 禁止root远程登录
PermitRootLogin no
# 修改默认端口(避免扫描攻击)
Port 2222
# 禁止空密码登录
PermitEmptyPasswords no
# 仅允许指定用户登录
AllowUsers admin
修改完成后重启 SSH 服务:
sudo systemctl restart sshd
为了防止暴力破解,可以安装 Fail2Ban:
sudo apt install fail2ban -y
Fail2Ban 会自动监控 SSH 登录失败的 IP,并临时封禁可疑来源。
六、系统日志与监控
1. 日志查看
系统日志:/var/log/syslog
或 /var/log/messages
SSH 登录:/var/log/auth.log
内核日志:/var/log/kern.log
Nginx 日志:/var/log/nginx/access.log
应用程序日志:/var/log/appname/
查看实时日志:
tail -f /var/log/auth.log
2. 监控系统状态
使用内置命令即可快速了解服务器健康状况:
top # 查看CPU与内存占用
df -h # 查看磁盘使用情况
free -m # 查看内存分配
uptime # 查看系统负载
想要更直观的监控,可安装 htop 或 glances:
sudo apt install htop -y
htop
七、安全加固重点措施
1. 禁用不必要的服务
列出所有开机启动服务:
systemctl list-unit-files --type=service | grep enabled
禁用不需要的服务,例如打印服务:
sudo systemctl disable cups --now
2. 定期更新系统与软件
sudo apt update && sudo apt upgrade -y
可以加入计划任务自动执行更新:
sudo crontab -e
# 每周日凌晨2点自动更新
0 2 * * 0 apt update && apt upgrade -y
3. 启用 SELinux 或 AppArmor
CentOS 默认启用 SELinux,Ubuntu 使用 AppArmor。
尽量保持启用状态,不建议关闭,它能阻止未经授权的进程访问系统资源。
检查 SELinux 状态:
sestatus
如果是“enforcing”,说明已启用。
4. 使用强密码与密钥登录
生成 SSH 密钥:
ssh-keygen -t rsa -b 4096
将公钥上传至服务器:
ssh-copy-id -p 2222 admin@server_ip
然后在服务器上关闭密码登录:
sudo vim /etc/ssh/sshd_config
PasswordAuthentication no
sudo systemctl restart sshd
八、备份与恢复策略
任何运维经验丰富的人都会告诉你:没有备份就等于裸奔。
常见备份方式:
1. rsync + cron 定时同步
rsync -avz /var/www/ root@backup-server:/data/backup/
2. tar 压缩归档
tar -czvf web_backup_$(date +%F).tar.gz /var/www/
3. 使用云存储自动上传备份文件。记得定期测试恢复,防止“备份可用性幻觉”。
九、性能优化建议
- 禁用未使用的模块和服务;
- 使用
systemd-analyze
查看启动瓶颈; - 对 Web 服务开启 gzip 压缩;
- 使用
swapoff -a
关闭不必要的交换空间(高内存机器); - 合理设置内核参数
/etc/sysctl.conf
:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.ip_forward = 0
vm.swappiness = 10
修改后执行:
sudo sysctl -p
总结:一台安全稳定的 Linux 服务器并非一蹴而就,而是持续优化与防御的结果。从系统安装、账户管理、防火墙到日志监控与备份,每一步都直接关系到服务器的稳定性与数据安全。记住安全不是“配置一次就完事”的工作,而是一种持续的习惯。希望这份“从安装到加固”的完整攻略,能帮助你在 Linux 的世界中打下坚实基础。