1.
用途区分:电商站点(需高并发、支付与事务一致性)与内容站点(大流量、缓存友好)。
台湾节点优势:靠近台湾及东南亚用户,延迟低,适合繁体站与两岸业务。本文以 Ubuntu 20.04 LTS / Debian 为主要示例,命令以 apt 为主;若使用 CentOS/Alma/Rocky,请将 apt 换成 yum/dnf。
2.
步骤1:评估访问量与并发,估算 QPS 与日流量。例如:日PV 50k、并发 200 -> 初期推荐 2CPU/4GB 到 4CPU/8GB。
步骤2:建议配置(电商):4 vCPU / 8-16 GB RAM / NVMe 100-300 GB / 1Gbps 带宽;(内容站):2-4 vCPU / 4-8 GB RAM / NVMe 200-500 GB / 1Gbps。购买时选择台湾可用区并开启弹性公网 IP。
3.
步骤1:更新系统并安装常用工具:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git unzip build-essential
步骤2:创建非 root 用户并添加 sudo:
sudo adduser deploy
sudo usermod -aG sudo deploy
4.
步骤1:在域名管理处添加 A 记录指向台湾弹性公网 IP,TTL 可设为 300 秒以利切换。
步骤2:若做站群建议使用二级域名策略并配置通配符证书(详见第7节)。同时建议接入 CDN(Cloudflare、Akamai 或本地加速商)以降低源站负载并启用 WAF。
5.
推荐栈:Nginx + PHP-FPM(电商可用 PHP 7.4/8.1)或 Nginx + Node.js;内容站多用静态 + 缓存。安装 Nginx 与 PHP:
sudo apt install -y nginx php-fpm php-mysql
示例 Nginx 虚拟主机精简配置(放在 /etc/nginx/sites-available/example):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?$args; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
6.
步骤1:安装 MariaDB 并做基础安全配置:
sudo apt install -y mariadb-server
sudo mysql_secure_installation
步骤2:调整 my.cnf(示例):增加 innodb_buffer_pool_size 至总内存的 50%-70%(电商可更高),设置 max_connections 依据并发调整。
步骤3:安装 Redis 用于会话与缓存:sudo apt install -y redis-server,并在 /etc/redis/redis.conf 启用 requirepass(生产环境)和持久化配置。
7.
步骤1:使用 Certbot 获取 Let's Encrypt 证书(可用通配符需 DNS 验证):
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
步骤2:若为站群建议使用通配符证书或集中证书管理(使用 Acme DNS API 或 DNS 提供商自动化),并定期 renew(cron 已由 certbot 自动处理)。
8.
备份步骤:数据库每天全量或 binlog 增量,示例备份脚本:
mysqldump -u root -p'密码' --databases mydb | gzip > /backup/mydb_$(date +%F).sql.gz
建议:把备份上传到对象存储(如 AWS S3、阿里 OSS 或本地商家提供的对象存储),并保留 30 天快照。
监控建议:部署 Prometheus + Grafana 或使用云主机提供的监控面板;设置告警阈值(CPU > 85%、磁盘 I/O 限制、连接数)。
9.
步骤1:启用防火墙(UFW 示例)并只打开必要端口:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
步骤2:安装 fail2ban 防护暴力破解,配置 SSH 改端口并禁止 root 远程登录。定期更新系统补丁并限制 SSH 密钥登录。
10.
问:在台湾节点上搭建站群,是否必须购买第三方 CDN?
答:不一定,但强烈建议。即使台湾节点本身带宽充足,CDN 可提供全球加速、削峰填谷、缓存静态资源及保护源站免受流量冲击。对电商而言,CDN 还能降低结账页面延迟(配合正确的 Cache-Control)。如果目标用户主要集中在台湾与东南亚,可选择本地 CDN 或同时开启国际加速。
11.
问:多台应用服务器如何共享会话与数据库,避免会话丢失?
答:数据库应部署主从或主主复制(视写入要求),并配置读写分离。会话建议使用 Redis 集群或托管 Redis(带持久化与高可用),应用层使用 Redis 存储会话 ID。另一种模式是无状态应用+JWT,但电商敏感操作(购物车、支付)需谨慎实现事务一致性。
12.
问:站群流量突增时怎样自动扩容并保证状态一致?
答:建议使用负载均衡器(云提供的 LB 或 Nginx/HAProxy)做流量分发,后端使用自动化脚本或云平台的伸缩组(Auto Scaling)来弹性扩容新实例。配合集中化配置管理(Ansible / Terraform)与镜像(AMI / 快照)快速启动实例。状态保持通过 Redis 或数据库,使新实例为无状态即可安全加入池中。