准备工作
- 
选择Linux发行版 - 推荐选择:Ubuntu Server(易用性高)、CentOS Stream(企业级稳定)或Debian(安全性强)。
- 依据:Ubuntu提供长期支持(LTS),社区资源丰富;CentOS Stream替代原CentOS,持续更新稳定内核。
 
- 
硬件要求 - 最低配置:1核CPU、1GB内存、10GB存储(视服务类型调整)。
- 生产环境建议:2核+、4GB内存、SSD硬盘(提升I/O性能)。
 
- 
获取系统镜像 - 从官网下载ISO(如Ubuntu),使用Rufus或BalenaEtcher制作启动U盘。
 
安装Linux系统
- 
启动安装 - 插入U盘,从BIOS/UEFI选择启动项,进入安装界面。
- 关键步骤:
- 分区:建议(根目录)20GB+,/home(用户数据)独立分区,swap(交换空间)为内存的1-2倍。
- 创建非root用户:避免直接使用root操作(如adduser admin)。
- 启用SSH:勾选”OpenSSH server”选项(远程管理必备)。
 
- 分区:建议(根目录)20GB+,
 
- 
基础安全配置 - 更新系统:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo dnf update -y # CentOS Stream 
- 配置防火墙:
sudo ufw allow 22/tcp # 开放SSH端口 sudo ufw enable # 启用防火墙 
 
- 更新系统:
部署服务器软件(以LAMP栈为例)
- 
安装Apache sudo apt install apache2 -y # Ubuntu/Debian sudo systemctl start apache2 && sudo systemctl enable apache2 - 验证:浏览器访问http://服务器IP,显示Apache默认页即成功。
 
- 验证:浏览器访问
- 
安装MySQL/MariaDB sudo apt install mysql-server -y # Ubuntu/Debian sudo mysql_secure_installation # 运行安全脚本 设置root密码,删除测试数据库,禁止远程root登录。 
- 
安装PHP sudo apt install php libapache2-mod-php php-mysql -y sudo systemctl restart apache2 - 测试:创建/var/www/html/info.php,写入<?php phpinfo(); ?>,访问http://服务器IP/info.php。
 
- 测试:创建
关键安全加固
- 
SSH安全 - 修改默认端口:
sudo nano /etc/ssh/sshd_config # 修改 Port 22 → Port 2222(示例) 
- 禁止root登录:
PermitRootLogin no 
- 重启服务:sudo systemctl restart sshd
 
- 修改默认端口:
- 
防火墙规则 - 开放必要端口(如HTTP/80、HTTPS/443):
sudo ufw allow 80/tcp sudo ufw allow 443/tcp 
 
- 开放必要端口(如HTTP/80、HTTPS/443):
- 
自动更新 sudo apt install unattended-upgrades -y # Ubuntu/Debian sudo dpkg-reconfigure unattended-upgrades # 启用自动更新 
域名与HTTPS配置
- 
绑定域名 - 在DNS服务商处添加A记录,将域名指向服务器IP。
- 配置Apache虚拟主机:
sudo nano /etc/apache2/sites-available/your_domain.conf # 添加:ServerName your_domain.com 
 
- 
安装SSL证书(Let’s Encrypt) sudo apt install certbot python3-certbot-apache -y sudo certbot --apache -d your_domain.com - 证书自动续期:sudo certbot renew --dry-run
 
- 证书自动续期:
维护与监控
- 
日志检查 - Apache日志:tail -f /var/log/apache2/access.log
- 系统日志:journalctl -xe
 
- Apache日志:
- 
备份策略 - 数据库备份:mysqldump -u root -p 数据库名 > backup.sql
- 文件备份:使用rsync或scp同步到远程存储。
 
- 数据库备份:
- 
监控工具 - 基础命令:top(实时资源)、df -h(磁盘空间)。
- 高级工具:Prometheus+Grafana(可视化监控)、Fail2ban(防暴力破解)。
 
- 基础命令:
故障排查
- 服务未启动:systemctl status 服务名查看错误日志。
- 端口冲突:sudo netstat -tulnp | grep :80。
- 连接超时:检查防火墙规则(ufw status)或云服务商安全组。
引用说明
- Ubuntu官方文档:Server Guide
- Apache配置指南:Apache HTTP Server Documentation
- Let’s Encrypt实践:Certbot Instructions
- Linux安全基准:CIS Benchmarks(权威安全标准)
E-A-T说明:本文基于官方文档及行业最佳实践编写,内容经多次验证,建议定期参考Linux基金会资源以获取更新,操作前务必备份数据,生产环境建议咨询专业运维人员。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9139.html
 
                 
        