准备服务器
部署 EasyFly-Ads 需要一台或多台云服务器。本章介绍服务器选购建议、环境初始化及基础安全配置。
服务器选购建议
方案一:入门级(日活 < 1万)
| 配置项 | 建议 |
|---|---|
| CPU | 4核 |
| 内存 | 8G |
| 系统盘 | 40G SSD |
| 数据盘 | 100G SSD |
| 带宽 | 5Mbps |
| 推荐厂商 | 阿里云 ECS / 腾讯云 CVM / 华为云 ECS |
方案二:增长型(日活 1万 - 10万)
| 配置项 | 建议 |
|---|---|
| CPU | 8核 |
| 内存 | 16G |
| 系统盘 | 40G SSD |
| 数据盘 | 200G SSD |
| 带宽 | 10Mbps |
| 推荐方案 | 应用服务器 + 数据库服务器分离部署 |
方案三:高可用(日活 10万+)
| 配置项 | 建议 |
|---|---|
| 架构 | 多节点集群 |
| 负载均衡 | SLB / Nginx 反向代理 |
| 数据库 | 主从复制 / 读写分离 |
| 缓存 | Redis 哨兵 / 集群 |
| CDN | 静态资源加速 |
操作系统
推荐使用:
- CentOS 7.9 / CentOS Stream 8
- Ubuntu 20.04 LTS / Ubuntu 22.04 LTS
环境初始化
1. 更新系统
bash
# CentOS
sudo yum update -y
# Ubuntu
sudo apt update && sudo apt upgrade -y2. 设置时区
bash
sudo timedatectl set-timezone Asia/Shanghai3. 设置主机名
bash
sudo hostnamectl set-hostname easyfly-server4. 关闭 SELinux(CentOS)
bash
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config5. 安装基础工具
bash
# CentOS
sudo yum install -y wget curl git vim net-tools
# Ubuntu
sudo apt install -y wget curl git vim net-tools安全配置
防火墙设置
只开放必要的端口:
bash
# 开放端口
sudo firewall-cmd --permanent --add-port=80/tcp # HTTP
sudo firewall-cmd --permanent --add-port=443/tcp # HTTPS
sudo firewall-cmd --permanent --add-port=22/tcp # SSH(建议更换默认端口)
sudo firewall-cmd --reloadSSH 安全加固
编辑 /etc/ssh/sshd_config:
ini
# 禁止 root 远程登录
PermitRootLogin no
# 更换 SSH 默认端口
Port 2222
# 禁止密码登录(使用密钥认证)
PasswordAuthentication no
# 限制登录用户
AllowUsers deploybash
sudo systemctl restart sshd创建部署用户
bash
sudo useradd -m -s /bin/bash deploy
sudo passwd deploy
sudo usermod -aG wheel deploy # CentOS
sudo usermod -aG sudo deploy # Ubuntu安装 Fail2Ban(防暴力破解)
bash
sudo yum install -y epel-release fail2ban # CentOS
sudo apt install -y fail2ban # Ubuntu
sudo systemctl enable fail2ban
sudo systemctl start fail2banDocker 安装(推荐)
bash
# 安装 Docker
curl -fsSL https://get.docker.com | bash
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 将部署用户加入 docker 组
sudo usermod -aG docker deploy
# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose检查清单
部署前确认以下项目:
- [ ] 系统已更新到最新版本
- [ ] 时区设置为 Asia/Shanghai
- [ ] 防火墙已配置,仅开放必要端口
- [ ] SSH 已加固(禁用 root、更换端口)
- [ ] 已创建专用部署用户
- [ ] Docker 已安装并正常运行
- [ ] 数据盘已挂载(如有)