1. 准备与购买台湾云主机
步骤小分段:1) 选择支持台湾机房或提供台湾公网IP的云服务商(可选本地电信或国际供应商的台湾节点);2) 购买实例时选择合适的CPU/内存、操作系统(建议Ubuntu LTS或CentOS);3) 记录公网IP、登录凭证、控制台安全组(防火墙)设置入口。
2. 首次登录并做基础安全配置
步骤小分段:1) 用SSH密钥登录:ssh -i /path/key.pem root@台湾IP;2) 更新系统:Ubuntu:apt update && apt upgrade -y;3) 新建非root用户并禁用root SSH:adduser dev && usermod -aG sudo dev,编辑 /etc/ssh/sshd_config 禁止 PermitRootLogin yes->no,重启 sshd。
3. 配置防火墙与端口规则
步骤小分段:1) 开启UFW或firewalld:Ubuntu示例:ufw allow OpenSSH && ufw enable;2) 放行HTTP/HTTPS和应用端口:ufw allow 80/tcp && ufw allow 443/tcp && ufw allow 3000/tcp(根据应用端口调整);3) 在云控制台确认安全组/ACL也允许相同端口。
4. 安装运行时环境与依赖
步骤小分段:1) 安装Git、Node/Python/Java等所需运行时,例如Node:curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && apt install -y nodejs;2) 安装数据库(如MySQL/Postgres)或使用托管数据库并记录连接信息;3) 配置环境变量(.env)并把敏感信息放到专用路径且设置正确权限。
5. 上传代码与拉取仓库
步骤小分段:1) 推荐使用Git:在服务器上配置SSH key并添加到代码仓库,git clone git@repo:project.git;2) 或使用SCP/rsync上传打包文件:scp -r ./dist root@台湾IP:/var/www/app;3) 在目标目录执行依赖安装:npm ci 或 pip install -r requirements.txt。
6. 配置进程管理与后台运行
步骤小分段:1) 使用PM2(Node)或systemd管理进程:npm install -g pm2 && pm2 start app.js --name myapp;2) 设置开机自启:pm2 startup && pm2 save,或编写 systemd 单元文件并 enable/start;3) 检查日志和重启策略 pm2 logs / journalctl -u myapp。
7. 使用Nginx做反向代理
步骤小分段:1) 安装 Nginx:apt install -y nginx;2) 在 /etc/nginx/sites-available/ 创建配置,示例:server { listen 80; server_name your.domain; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; } };3) ln -s 到 sites-enabled,nginx -t && systemctl reload nginx。
8. 绑定域名与台湾公网IP
步骤小分段:1) 在域名提供商处新增 A 记录:@ 或 www 指向台湾公网IP;2) 等待DNS生效(可用 dig +short your.domain 查看);3) 若需权重优化,可在DNS中配置TTL与备份记录。
9. 配置HTTPS(Let's Encrypt)
步骤小分段:1) 安装 certbot:apt install -y certbot python3-certbot-nginx;2) 使用 certbot --nginx -d your.domain 自动申请并配置;3) 配置自动续期:systemctl status certbot.timer 或 crontab 定期 certbot renew --quiet。
10. 性能、监控与备份
步骤小分段:1) 配置swap、调整 ulimit 或进程数,按应用负载调优;2) 部署监控(Prometheus/node_exporter 或第三方监控),设置CPU、内存、响应时间告警;3) 定期备份数据库与应用数据(使用 cron + rsync / mysqldump 上传到对象存储或异地备份)。
11. 自动化部署(CI/CD)示例
步骤小分段:1) 在GitHub Actions或GitLab CI配置工作流,推送触发:checkout -> build -> ssh deploy;2) 使用rsync或ssh执行远程命令:ssh dev@台湾IP "cd /var/www/app && git pull && npm ci && pm2 restart myapp";3) 使用部署密钥并限制IP,保证安全。
12. 常见故障排查
步骤小分段:1) 无法SSH:检查安全组、IP是否变更、SSH端口与密钥权限;2) 网站502/504:检查后端应用是否启动、Nginx proxy_pass 地址与端口;3) SSL问题:检查域名是否正确解析到台湾IP,certbot 日志查看错误。
13. 问:如何检查我的服务器确实在台湾地区?
回答小分段:你可以通过IP地理位置查询服务(如 whois、ipinfo.io)或使用 traceroute 路径判断,注意这些服务有时依赖第三方数据,最可靠的是询问你的云服务商或查看控制台机房区域信息。
14. 问:如何保证部署后的网络延迟较低?
回答小分段:选择台湾本地机房或离台湾近的节点、优化应用静态资源使用CDN(选择在台湾有POP的CDN)、减少跨域数据库调用、开启HTTP/2和压缩以减少请求延迟。
15. 问:如何把部署流程从手动改为零停机自动化?
回答小分段:使用CI/CD流水线和蓝绿/滚动部署策略:在服务器上准备两个版本(或多个实例),通过负载均衡器切换流量,CI完成构建、测试、分发并切换,配合健康检查实现零停机。
来源:开发者指南如何快速部署应用到台湾服务器ip 云主机