服务器配置与管理实用笔记,从入门到日常运维
基础环境搭建:先把“地基”打牢
操作系统选择
根据业务场景选系统,别盲目跟风:
- Linux系统(推荐):
- CentOS/RHEL:稳定、企业级常用,适合生产环境;
- Ubuntu Server:更新快、社区活跃,适合开发或中小型项目。
- Windows Server:适合.NET应用、Active Directory域管理,对Windows生态友好。
踩坑提醒:新手别直接用最新版,选LTS(长期支持)版本更稳,比如CentOS 7/8、Ubuntu 22.04 LTS。
系统初始化(必做!)
新服务器到手,先做这几步:
- 更新系统补丁:
# CentOS/RHEL yum update -y # Ubuntu apt update && apt upgrade -y
- 创建普通用户并授权:别一直用root!
useradd admin # 创建用户 passwd admin # 设置密码 visudo # 给admin加sudo权限,在root ALL=(ALL) ALL下加一行:admin ALL=(ALL) ALL
- 关闭不必要的服务:减少攻击面,比如CentOS里的
postfix(不用邮件的话):systemctl stop postfix systemctl disable postfix
- 设置时区:
timedatectl set-timezone Asia/Shanghai
常用服务配置:高频场景速查
Web服务器(Nginx为例)
Nginx轻量、高效,是Web服务首选。
-
安装:
# CentOS yum install nginx -y # Ubuntu apt install nginx -y
-
配置虚拟主机: 在
/etc/nginx/conf.d/下建example.conf:server { listen 80; server_name example.com www.example.com; root /var/www/example; index index.html; location / { try_files $uri $uri/ =404; } } -
启动并设置开机自启:
systemctl start nginx systemctl enable nginx
实用技巧:配置改完后用
nginx -t检查语法,没问题再重载systemctl reload nginx。
数据库(MariaDB为例)
MariaDB是MySQL的开源分支,兼容且更安全。
- 安装:
yum install mariadb-server mariadb -y # CentOS apt install mariadb-server -y # Ubuntu
- 初始化安全配置:
mysql_secure_installation # 跟着提示设置root密码、删除匿名用户、禁止远程root登录
- 创建数据库和用户:
CREATE DATABASE mydb; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;
文件服务器(Samba为例,适合内网共享)
- 安装:
yum install samba samba-client -y
- 配置共享目录:
编辑
/etc/samba/smb.conf,添加:[share] path = /data/share browseable = yes writable = yes valid users = admin - 设置Samba密码并启动:
smbpasswd -a admin systemctl start smb nmb systemctl enable smb nmb
日常管理要点:让服务器“稳如狗”
资源监控
别等服务器崩了才发现问题,常用工具:
- 命令行工具:
top/htop:看CPU、内存占用(htop更直观,需安装);df -h:看磁盘使用情况;free -h:看内存;netstat -tuln:看端口监听。
- 轻量监控工具:Zabbix、Prometheus+Grafana(适合长期监控)。
日志管理
日志是排查问题的关键,重点看这几个目录:
- Linux系统日志:
/var/log/messages(CentOS)、/var/log/syslog(Ubuntu); - Nginx日志:
/var/log/nginx/access.log(访问日志)、error.log(错误日志); - MariaDB日志:
/var/log/mariadb/mariadb.log。
技巧:用
tail -f 日志文件实时查看日志,grep关键词快速定位问题。
备份策略
数据丢了哭都没用,备份要做这几点:
- 数据库备份:写个定时脚本,比如每天凌晨3点备份:
#!/bin/bash DATE=$(date +%Y%m%d) mysqldump -u myuser -p'mypassword' mydb > /backup/mydb_$DATE.sql # 保留7天内的备份 find /backup -name "mydb_*.sql" -mtime +7 -delete
然后用
crontab -e添加定时任务:0 3 * * * /path/to/backup.sh - 文件备份:用
rsync同步到另一台服务器:rsync -avz /data/share/ user@backup-server:/backup/share/
安全防护:别让服务器成“肉鸡”
防火墙配置
- CentOS用firewalld:
systemctl start firewalld systemctl enable firewalld firewall-cmd --permanent --add-service=http # 开放80端口 firewall-cmd --permanent --add-service=ssh # 开放22端口(别忘开!) firewall-cmd --reload
- Ubuntu用ufw:
ufw enable ufw allow http ufw allow ssh
SSH安全加固
- 禁用root远程登录:编辑
/etc/ssh/sshd_config,改PermitRootLogin no; - 改SSH端口(比如改成2222):改
Port 2222,然后防火墙同步开放; - 用密钥认证代替密码:
# 本地生成密钥对 ssh-keygen # 把公钥传到服务器 ssh-copy-id -i ~/.ssh/id_rsa.pub admin@server-ip
然后改
sshd_config里的PasswordAuthentication no,重启sshd。
定期更新补丁
别嫌麻烦,定时跑系统更新:
# CentOS yum update -y # Ubuntu apt update && apt upgrade -y
常见问题排查:快速解决“燃眉之急”
- 服务启动失败:先看日志!比如Nginx启动失败,看
/var/log/nginx/error.log; - 网络不通:
- 用
ping 服务器IP看是否连通; - 用
traceroute 目标地址看路由是否正常; - 检查防火墙是否开放对应端口。
- 用
- 磁盘满了:
- 用
df -h看哪个分区满了; - 用
du -sh /*看哪个目录占空间大,清理日志或临时文件。
- 用
笔记整理小技巧
- 用Markdown格式:方便排版、插入代码,用Typora或VS Code编辑;
- 分类归档:按“基础配置”“服务”“安全”“问题排查”分类,加标签;
- 定期更新:遇到新坑、新技巧及时补充;
- 结合案例:把实际遇到的问题和解决方法写进去,比纯理论有用。
服务器配置与管理没有“一招鲜”,都是靠日常积累,把每一次操作、每一个问题都记在笔记里,时间久了就是自己的“运维宝典”,希望这篇笔记能帮你少走弯路,也欢迎大家在评论区补充自己的经验~
笔记更新日期:2024年5月
适用系统:CentOS 7/8、Ubuntu 22.04 LTS
文章版权声明:除非注明,否则均为亚朵原创文章,转载或复制请以超链接形式并注明出处。

