1. 选择台湾VPS/云服务器与镜像推荐
- 建议选择就近机房(如台北)以降低延迟;常见供应商:GCP(asia-east1)、AWS(ap-northeast-1 近日本)、本地供应商(KVM/ESXi)。
- 操作系统:推荐 Ubuntu LTS(20.04/22.04)或 Debian(11/12)用于通用服务,CentOS Stream/Alma/Rocky 若需 RHEL 兼容。
- 镜像选择:最小安装(Minimal)或 Cloud Image(预装 cloud-init),便于快速配置与自动化。
2. 首次登录与基本安全配置
- 连接方式:Windows 可用 PuTTY 或 Windows Terminal;macOS/Linux 直接 ssh user@IP。默认 root 登录后建议立刻创建普通用户并禁用密码登录。
- 命令示例(Ubuntu/Debian):sudo adduser deployuser && sudo usermod -aG sudo deployuser。
- 设置 SSH 密钥:本地生成 ssh-keygen -t ed25519,然后将公钥追加到 /home/deployuser/.ssh/authorized_keys 并 chmod 600/700 权限。
- 修改 /etc/ssh/sshd_config:PermitRootLogin no, PasswordAuthentication no, Port 2222(可选)。修改后 sudo systemctl restart sshd。
3. 系统更新、时区与基础工具安装
- 更新软件包(Ubuntu/Debian):sudo apt update && sudo apt upgrade -y;CentOS:sudo dnf update -y。
- 设置时区(台湾常用):sudo timedatectl set-timezone Asia/Taipei。
- 安装常用工具:sudo apt install -y curl wget vim git unzip htop tzdata ca-certificates。
- 启用 NTP:sudo apt install -y chrony && sudo systemctl enable --now chrony(保证时间同步,避免证书/日志问题)。
4. 防火墙与基本网络策略
- 推荐使用 UFW(Ubuntu)或 firewalld(CentOS)。示例(UFW):sudo apt install ufw && sudo ufw allow 2222/tcp && sudo ufw allow http && sudo ufw allow https && sudo ufw enable。
- 若使用云平台安全组,也需在控制台放行相应端口(SSH, HTTP, HTTPS, 数据库管理端口可限制特定源IP)。
- 额外建议:只开放必要端口,启用 Fail2Ban 防暴力破解:sudo apt install -y fail2ban。
5. Web 服务器与语言运行环境(Nginx + PHP 为例)
- 安装 Nginx(Ubuntu):sudo apt install -y nginx && sudo systemctl enable --now nginx。
- 安装 PHP-FPM:sudo apt install -y php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring php8.1-curl(根据需要变更版本)。编辑 /etc/php/8.1/fpm/pool.d/www.conf,设置 user=www-data、group=www-data。
- 配置 Nginx 示例站点 /etc/nginx/sites-available/example.conf:server_name your.domain; root /var/www/html; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; }。测试 nginx -t && sudo systemctl reload nginx。
- 权限:sudo chown -R www-data:www-data /var/www/html && sudo chmod -R 750 /var/www/html。
6. 数据库安装与初步安全加固(MariaDB/MySQL)
- 安装 MariaDB(示例):sudo apt install -y mariadb-server && sudo systemctl enable --now mariadb。
- 初始安全配置:sudo mysql_secure_installation,按提示设置 root 密码、删除匿名用户、禁止远程 root 登录、删除 test 数据库并重载权限。
- 创建应用用户与数据库:sudo mysql -e "CREATE DATABASE myapp; CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON myapp.* TO 'appuser'@'localhost'; FLUSH PRIVILEGES;"。
- 若需远程连接,建议设置 bind-address=127.0.0.1 并通过 SSH 隧道或 VPN 访问,不直接开放 3306 到公网。
7. HTTPS/Let's Encrypt 自动化证书
- 安装 certbot:sudo apt install -y certbot python3-certbot-nginx。
- 自动获取证书并配置 Nginx:sudo certbot --nginx -d your.domain -m you@example.com --agree-tos --redirect。
- 自动续期:certbot 自动安装系统定时任务,可用 sudo certbot renew --dry-run 测试。确保存活端口 80/443 给 Let’s Encrypt 验证。
8. 性能优化与生产环境建议
- 启用 swap(若内存 < 2GB):sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile,并将其加入 /etc/fstab。
- Nginx 优化:worker_processes auto; worker_connections 1024; 启用 gzip 缓存与静态文件缓存头。
- 数据库优化:调整 innodb_buffer_pool_size(约占可用内存 60%-70%)、启用 query_cache(MySQL 5.x)或使用缓存层(Redis)。
- 监控与日志:安装 Prometheus/node_exporter、Grafana 或使用云商监控服务;配置 logrotate 保持磁盘空间。
9. 常见问题与解决方案(汇总)
- 无法 SSH 登录:检查安全组/防火墙、SSH 端口、是否绑定到 IPv4,查看 /var/log/auth.log;若忘记密钥,可通过云面板重置密钥或开救援模式。
- 网站出现 502/504:检查 PHP-FPM 是否运行(systemctl status php*-fpm),查看错误日志 /var/log/nginx/error.log 与 /var/log/php8.1-fpm.log,调整 php-fpm max_children/pm 设置。
- 证书申请失败:确保域名解析到该服务器公网 IP、80 端口未被占用且能被 Let’s Encrypt 验证访问。若使用 CDN,按 CDN 指引完成验证或使用 DNS 验证模式。
10. 问:在台湾VPS上面搭建环境与其它地区有何不同?答:
- 在操作上无明显差别,主要差异在网络与延迟:选择就近机房(台北)能降低延迟并改善大陆/台湾地区访问体验。
- 另外注意供应商的带宽峰值、出入口路由和法务合规(托管内容与当地政策)。
11. 问:如何处理台湾VPS出现高延迟或丢包?答:
- 首先使用 ping/traceroute/mtr 定位是本地到机房还是机房出公网路线问题;联系供应商提供路由优化或更换更优出入口。
- 可启用双机房负载均衡、CDN(近台CDN节点)或使用 Anycast IP 来改善跨境访问质量。
12. 问:常见权限或文件上传失败如何快速排查?答:
- 检查目录与文件属主与权限(ls -l),常见问题为 web 服务用户(www-data/nginx)无写权限:sudo chown -R www-data:www-data /var/www/html && sudo chmod -R 750 /var/www/html。
- 检查 PHP 配置(upload_max_filesize、post_max_size、open_basedir)及 Nginx client_max_body_size,调整后重启服务。
来源:台湾vps与云服务器安装推荐环境搭建步骤与常见问题解决方案