常见原因包括云服务商安全组或主机自带的防火墙阻止22端口、服务器未启动SSH服务、IP地址错误或本地网络限制。如果使用自定义端口,也可能未在安全组中开放。
第一步在本地执行:ping 或 traceroute 到目标IP,确认网络可达;第二步尝试 telnet IP 22(或自定义端口)检测端口是否开放;第三步登录云控制台确认安全组/防火墙规则;第四步使用控制台终端或VNC登录到实例本地查看SSH服务状态(systemctl status sshd)。
如果是安全组问题,在控制台放行相应端口并限制来源IP;若是主机防火墙(如iptables、ufw),执行相应放行规则(例如 ufw allow 22/tcp);若SSH服务未启动,执行 systemctl start sshd 并查看 /var/log/auth.log;如端口被更改,更新客户端配置或恢复标准端口。
域名未正确绑定到VPS的A记录,或DNS解析尚未生效;申请Let’s Encrypt证书时端口80/443被占用或防火墙阻挡;http->https跳转配置有误导致验证失败。
使用 nslookup 或 dig 查询域名解析结果是否指向新加坡VPS IP;检查TTL是否导致缓存延迟;在服务器上用 curl -I http://yourdomain 检查是否能访问到预期响应;查看证书申请工具(如 certbot)输出的错误日志。
在域名管理面板添加/修改A记录并等待TTL生效,必要时清本地DNS缓存或提示用户刷新CDN。为申请证书临时开放80/443并确保Web服务响应验证文件;证书颁发成功后配置自动续期并检查Web服务器的重定向规则,确认没有阻碍ACME验证。
新加坡VPS通常对亚太、欧美不同路线表现不同,造成高延迟可能是路由不佳、运营商链路问题、带宽限制或主机带宽已饱和;同时可能存在防火墙限速或网络设备错误配置。
使用 ping/traceroute/mtr 检测到达VPS时的延迟和丢包点,定位是否在本地ISP、国际出口或目标VPC;在服务器端使用 iftop、nload 或 vnstat 查看带宽使用情况并确认是否达到峰值;检查系统日志是否有网卡错误。
如果是运营商链路问题,联系云服务商或本地ISP要求排查并优化路由;对于带宽饱和,可升级带宽或限制非必要流量,采用负载均衡或CDN分流;必要时更换机房或使用多线接入以改善延迟与丢包。
配置错误、端口冲突、权限不足或依赖未安装会导致服务启动失败。日志路径被挂载错误或SELinux/AppArmor等安全模块阻止也会使服务不能正常绑定端口。
使用 ss -tulnp 或 netstat -tulnp 查看端口占用情况;查看对应服务的错误日志(如 /var/log/nginx/error.log、/var/log/mysql/error.log);检查系统 journal(journalctl -u 服务名)获取详细启动错误;确认配置文件语法(nginx -t、apachectl configtest)。
若端口被其他进程占用,可终止该进程或修改服务配置到空闲端口并同步防火墙规则;修复配置语法错误并重启服务;为服务赋予正确权限并根据日志调整文件路径或关闭冲突的安全模块规则。
日志文件或缓存占满磁盘后,系统可能无法写入导致服务崩溃;inode耗尽也会产生类似问题;此外,文件权限被误改会导致应用无法访问必要文件。
使用 df -h 查看磁盘使用情况,使用 df -i 查看inode使用率,使用 du -sh /* 或 du -sh /var/log/* 定位大文件;检查 /var/log 目录下是否有异常日志快速增长;用 ls -l 检查关键文件或目录权限。
清理无用日志或启用日志轮转(logrotate),删除或压缩大临时文件,扩展磁盘分区或挂载额外卷;修复文件权限(chown/chmod)并为关键目录设置合理的磁盘配额,确保系统和应用有足够写入空间。