Linux服务器初始化配置实战指南
对于刚接触Linux服务器管理的运维人员来说,服务器到手后的第一件事就是进行基础配置。这一步虽然看似简单,但直接关系到服务器的安全性和后续运维效率。本文将手把手教你完成Linux服务器的基础配置,让服务器达到安全可用的状态。
一、系统更新与基础工具安装
拿到新服务器后,首要任务是更新系统,确保所有软件包都是最新的,这能修复已知的安全漏洞。
对于基于Debian/Ubuntu的系统,执行以下命令:
sudo apt update
sudo apt upgrade -y对于基于RHEL/CentOS的系统,使用:
sudo yum update -y更新完成后,安装一些日常管理必备的工具:
sudo apt install -y vim curl wget git htop net-tools # Debian/Ubuntu
sudo yum install -y vim curl wget git htop net-tools # RHEL/CentOS这些工具在后续的配置和故障排查中会频繁使用。
二、创建普通用户并配置sudo权限
为了安全起见,日常操作应该使用普通用户而非root用户。首先创建一个新用户:
sudo adduser deploy按照提示设置密码和用户信息。接下来,将用户添加到sudo组以获取管理员权限:
sudo usermod -aG sudo deploy # Debian/Ubuntu
sudo usermod -aG wheel deploy # RHEL/CentOS测试新用户权限:
su - deploy
sudo whoami如果返回root,说明sudo配置成功。
三、SSH安全配置
SSH是远程管理服务器的主要方式,也是最容易受到攻击的服务。
1. 修改SSH端口
编辑SSH配置文件:
sudo vim /etc/ssh/sshd_config找到Port 22这一行,修改为其他端口,例如Port 2222。这样可以减少自动化脚本的扫描。
2. 禁用root登录
在同一文件中,找到PermitRootLogin yes,修改为:
PermitRootLogin no3. 使用密钥登录
密钥登录比密码登录更安全。在本地机器生成密钥对:
ssh-keygen -t ed25519 -C "your_email@example.com"将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@your_server_ip在服务器上配置SSH使用密钥登录:
sudo vim /etc/ssh/sshd_config修改以下配置:
PubkeyAuthentication yes
PasswordAuthentication no最后重启SSH服务:
sudo systemctl restart sshd四、防火墙配置
防火墙是保护服务器安全的第一道防线。
对于Ubuntu系统,使用UFW:
sudo ufw allow 2222/tcp # 允许SSH端口
sudo ufw allow 80/tcp # 允许HTTP
sudo ufw allow 443/tcp # 允许HTTPS
sudo ufw enable # 启用防火墙
sudo ufw status # 查看防火墙状态对于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
sudo firewall-cmd --list-all五、时区与时间同步
确保服务器时间准确对于日志记录和证书验证非常重要。
设置时区:
sudo timedatectl set-timezone Asia/Shanghai安装并配置NTP时间同步:
sudo apt install -y ntp # Debian/Ubuntu
sudo yum install -y ntp # RHEL/CentOS启用并启动NTP服务:
sudo systemctl enable ntpd
sudo systemctl start ntpd检查同步状态:
ntpq -p六、系统监控基础配置
安装htop监控系统资源:
sudo apt install -y htop # Debian/Ubuntu
sudo yum install -y htop # RHEL/CentOS配置日志轮转,防止日志文件占用过多磁盘空间:
sudo vim /etc/logrotate.conf根据实际需求调整轮转策略。
七、应用服务配置
根据业务需求安装必要的服务。例如,搭建Web服务器需要安装Nginx或Apache:
sudo apt install -y nginx # Debian/Ubuntu
sudo yum install -y nginx # RHEL/CentOS配置开机自启:
sudo systemctl enable nginx
sudo systemctl start nginx八、总结
Linux服务器的基础配置是运维工作的第一步,也是最关键的一步。本文介绍了从系统更新、用户管理、SSH安全加固、防火墙设置到服务安装的全过程。遵循这些步骤,你可以快速将一台新服务器配置成安全、稳定的生产环境。
记住,服务器配置不是一次性的工作。随着业务的发展和安全威胁的变化,你需要定期检查和更新配置。建议建立配置文档,记录每次修改,这样在服务器迁移或故障恢复时能快速重建环境。
良好的运维习惯从第一次配置开始。现在你的服务器已经准备就绪,可以开始部署应用了。