1) 确定用途:轻量网站、数据库、缓存或测试环境;选择CPU/内存/带宽与磁盘类型(SSD)。
2) 机房与延迟:选台湾机房可获得台湾地区低延迟,确认运营商、出口带宽与流量计费。
3) 镜像与计费:优先选择支持常用镜像(Ubuntu/CentOS/Debian),按小时计费便于测试。
1) 在控制面板创建实例并选择公钥方式登录;若使用密码登录,建议改为密钥。
2) 本地生成密钥:ssh-keygen -t rsa -b 4096 -C "your_email",将 ~ / .ssh/id_rsa.pub 内容粘贴到面板。
3) 第一次连接:ssh -i ~/.ssh/id_rsa root@IP,若提示权限问题,确保私钥权限 chmod 600 ~/.ssh/id_rsa。
1) 更新系统:Debian/Ubuntu: sudo apt update && sudo apt upgrade -y;CentOS: sudo yum update -y。
2) 创建普通用户并给sudo权限:adduser youruser;usermod -aG sudo youruser(Debian系)或 usermod -aG wheel(CentOS)。
3) 禁用root远程登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,重启 sshd:sudo systemctl restart sshd。
1) 使用UFW(Ubuntu):sudo apt install ufw -y;允许SSH/HTTP/HTTPS:sudo ufw allow 22/tcp; sudo ufw allow 80; sudo ufw allow 443; sudo ufw enable。
2) 使用firewalld(CentOS):sudo systemctl start firewalld; sudo firewall-cmd --permanent --add-service=http; --add-service=https; --reload。
3) 检查端口被ISP或供应商屏蔽:用 nmap -p 22,80,443 IP 或从第三方端口检测工具确认。
1) 若发现 apt / yum 下载慢,可切换到附近镜像源(例如台湾或中国大陆镜像)。
2) Ubuntu 更换到中科大/阿里镜像:备份 /etc/apt/sources.list,替换为镜像地址,sudo apt update。
3) CentOS 可修改 /etc/yum.repos.d/CentOS-Base.repo 指向阿里或清华镜像后 sudo yum makecache。
1) 查看磁盘:lsblk;若有未分区磁盘 /dev/vdb:sudo fdisk /dev/vdb,n 新分区,w 保存。
2) 格式化并挂载:sudo mkfs.ext4 /dev/vdb1;sudo mkdir /data;sudo mount /dev/vdb1 /data;将 UUID 写入 /etc/fstab,使用 blkid 获取 UUID。
3) 注意云盘快照/扩容后需要扩展文件系统:sudo resize2fs /dev/vdb1 或 xfs_growfs。
1) 安装 Nginx:sudo apt install nginx -y;启动并开机自启:sudo systemctl enable --now nginx。
2) 配置站点:/etc/nginx/sites-available/example,设置 server_name 与 root,test 配置语法 nginx -t;重启 sudo systemctl reload nginx。
3) 部署 PHP:sudo apt install php-fpm php-mysql -y,修改 php-fpm sock 或 port,nginx 配置使用 fastcgi_pass unix:/run/php/php7.4-fpm.sock。
1) 安装 MariaDB/MySQL:sudo apt install mariadb-server -y;运行 sudo mysql_secure_installation 完成基础加固。
2) 若需远程连接,编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,将 bind-address 改为 0.0.0.0,并在防火墙允许 3306(建议仅在内网或通过跳板/SSH隧道)。
3) 创建远程用户:CREATE USER 'user'@'IP' IDENTIFIED BY 'pass'; GRANT ALL PRIVILEGES ON db.* TO 'user'@'IP'; FLUSH PRIVILEGES。
1) 安装 certbot:sudo apt install certbot python3-certbot-nginx -y;申请证书:sudo certbot --nginx -d example.com -d www.example.com。
2) 检查自动续期:sudo certbot renew --dry-run;cron/ systemd 已自动设置,一般无需额外配置。
3) 常见问题:80端口未开放会导致验证失败,使用 DNS 验证可在不能开 80 情况下申请。
1) 定期快照:使用云厂商快照功能,注意快照前暂停写入或使用文件系统冻结。
2) 增量备份:使用 rsync + cron 备份到异地服务器:rsync -az --delete /var/www/ backup@backup-server:/backup/site。
3) 监控:部署 Prometheus/Grafana、netdata 或使用供应商监控报警,关注磁盘、CPU、网络流量。
1) 无法SSH:检查安全组/防火墙、私钥权限、sshd 服务状态(sudo systemctl status sshd),查看 /var/log/auth.log。
2) 慢/丢包:traceroute IP 检查路由,使用 mtr 连续监测,若为出口节点问题联系供应商。
3) DNS解析问题:dig +short example.com @8.8.8.8 与本地解析对比,检查解析生效时间与 CNAME/TTL 设置。
1) 开启 swap(内存不足):sudo fallocate -l 2G /swapfile; sudo chmod 600 /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile;并写入 /etc/fstab。
2) TCP优化:编辑 /etc/sysctl.conf 添加 net.core.somaxconn=65535、net.ipv4.tcp_tw_reuse=1 等,sudo sysctl -p。
3) 数据库优化:调整 innodb_buffer_pool_size、query_cache(视版本),使用 slow query log 找热点 SQL。
问:台湾VPS常见的初次无法连接SSH的原因有哪些?
答:通常原因包括:面板未注入公钥或密钥错误;私钥权限不正确(需 chmod 600);安全组/防火墙阻止22端口;sshd配置将root或密码登录禁用;实例未启动或网络未分配公网IP。按顺序检查密钥、端口、防火墙与sshd状态。
问:如何在台湾VPS上安全地对外开放数据库端口?
答:建议不要直接开放到公网,使用以下方法:配置云厂商私有网络并仅在内网允许;通过SSH隧道或VPN访问;若必须开放,限定访问源IP并强密码/使用证书,且在防火墙仅开放必要IP与端口。
问:SSL申请失败提示“challenge failed”,如何排查?
答:检查是否已开放80端口并指向同一服务器;确认域名DNS解析已指向该VPS(使用 dig);若使用CDN或代理,确认验证请求能到达本机;可改用 DNS-01 验证或在临时关闭 CDN 后申请。