腾讯云国际站预付费 腾讯云国际站服务器运行Nodejs教程
腾讯云国际站预付费 你是不是也经历过:花了半小时配好本地Node项目,兴冲冲买好腾讯云国际站的VPS,一登上去——‘bash: node: command not found’?别慌,这不是你菜,是腾讯云国际站默认不装Node.js,连sudo权限都得自己开。今天这篇教程,不讲虚的,不甩命令行截图,不假设你会Linux,就用大白话+真实踩坑复盘,带你从注册账号开始,到浏览器里打开https://yourdomain.com看到‘Hello World’,一步不跳,全链路打通。
第一步:选对服务器,别被‘最低配’骗了
腾讯云国际站(intl.cloud.tencent.com)和国内站界面、计费、地域完全独立。登录后别急着点‘Launch Instance’——先看清楚:必须选Ubuntu 22.04 LTS或Debian 12。CentOS 7已停更,AlmaLinux虽然能用,但Node官方文档对它支持弱,新手容易卡在Python版本冲突上。我们实测过:Ubuntu 22.04 + Node 20.x 是目前最稳组合。
配置别抠门。1核1G够跑Demo,但一旦装PM2+nginx+Let’s Encrypt,内存立马吃紧。建议起步选2核4G,50GB SSD系统盘。地域选新加坡(ap-singapore)或东京(ap-tokyo),延迟低、备案无压力、支付支持支付宝/Visa。注意:国际站没有‘轻量应用服务器’,全是CVM(Cloud Virtual Machine),所以安全组要手动开22(SSH)、80(HTTP)、443(HTTPS)端口——这步漏掉,后面全白忙。
第二步:连上服务器,别输错root密码
实例创建成功后,在‘Instances’列表里找到你的机器,复制‘Public IP’。Windows用户用PuTTY(免费),Mac/Linux直接终端:ssh -i your-key.pem [email protected]。等等!这里有个巨坑:腾讯云国际站默认用户名不是root,是ubuntu(Ubuntu)或debian(Debian)!如果你用root连,会提示‘Permission denied’。密码?没设密码!它是密钥登录——你下载的.pem文件就是钥匙。PuTTY要转成.ppk格式(用PuTTYgen),Mac/Linux则需chmod 600 your-key.pem再连。
连进去第一件事:sudo su -切root。不是为了装逼,是避免后续一堆Permission denied报错。然后立刻更新系统:apt update && apt upgrade -y(Ubuntu)或apt update && apt full-upgrade -y(Debian)。别嫌烦,内核补丁不打,Node编译可能失败。
第三步:装Node.js?别用apt,用nvm才真香
很多人搜到‘apt install nodejs’就照做,结果装出来是v12.22——2022年的老古董。Node官网早声明:v16已EOL,v18进入维护期,生产环境只推v20 LTS。正确姿势:用nvm(Node Version Manager)。
一行命令装nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash。执行完别重启终端!先运行source ~/.bashrc(Ubuntu)或source ~/.profile(Debian)让环境变量生效。验证:nvm --version。接着装Node:nvm install 20.15.0(当前最新LTS版),再nvm use 20.15.0,最后node -v和npm -v必须显示对应版本。为什么不用NodeSource?因为国际站部分镜像源不稳定,nvm直连GitHub最靠谱。
第四步:传代码?别scp,用git clone最干净
把本地项目打包上传?麻烦又易丢文件。直接在服务器上git clone你的GitHub/GitLab仓库。先装git:apt install git -y。确保仓库是公开的,或配置好SSH密钥(ssh-keygen -t ed25519 -C "[email protected]",再把公钥贴到GitHub的Settings→SSH Keys)。进/var/www目录(建议新建mkdir -p /var/www/myapp),git clone [email protected]:yourname/your-repo.git .(注意末尾的点)。然后npm install --production(跳过devDependencies,省空间)。测试启动:node app.js(假设入口是app.js),如果看到‘Server running on port 3000’,恭喜,后端活了!
第五步:PM2守护,关了终端也不死机
Ctrl+C关掉终端,Node进程立刻消失?用PM2:npm install pm2 -g,然后pm2 start app.js --name "myapp"。现在关终端、断SSH,进程照跑。常用命令:pm2 list(看状态)、pm2 logs myapp(实时日志)、pm2 restart myapp(热重载)。重点来了:pm2 startup生成开机自启脚本,再pm2 save保存当前进程列表——服务器重启后,你的App自动复活。
第六步:Nginx反向代理,让80端口接管3000
用户不可能访问http://ip:3000,得走标准80/443。装Nginx:apt install nginx -y,systemctl start nginx。删掉默认页:rm -f /etc/nginx/sites-enabled/default。新建配置:nano /etc/nginx/sites-available/myapp,写入:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_bypass $http_upgrade;
}
}
启用:ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/,再nginx -t && systemctl reload nginx。此时访问http://your-domain.com,应该看到你的Node页面了。
第七步:HTTPS?Certbot三分钟搞定
Let’s Encrypt免费证书,用Certbot最傻瓜。先装:apt install certbot python3-certbot-nginx -y。然后一键申请:certbot --nginx -d your-domain.com -d www.your-domain.com。它会自动修改Nginx配置,加SSL段,并设置3个月自动续期。验证是否生效:访问https://your-domain.com,地址栏有小锁图标,且Chrome不报‘Not Secure’。续期测试:certbot renew --dry-run。搞定!
最后提醒:三个必查雷区
1. 安全组没开443?HTTPS白配
腾讯云控制台→CVM→实例→‘更多’→‘网络与安全组’→‘配置安全组’→入站规则加一条:TCP:443,来源0.0.0.0/0。
2. 域名没解析?DNS指向错了
域名注册商后台,A记录指向你的服务器公网IP(不是内网IP!),TTL设300秒,等10分钟生效。用dig your-domain.com确认解析正确。
3. PM2日志报错‘EADDRINUSE’?端口被占
lsof -i :3000查PID,kill -9 PID干掉僵尸进程。或者改app.js监听端口为3001,同步更新Nginx里的proxy_pass。
写到这儿,你已经比90%的教程更实在了——没用‘简单几步’‘轻松搞定’这种废话,全是实测过的命令和血泪教训。腾讯云国际站文档英文居多,新手容易迷路;而国内教程又常混淆国际站和国内站配置。这篇,专治水土不服。下次部署Express/Vue/Nuxt,照着流程走,20分钟上线。记住:服务器不怕慢,怕的是连错用户、装错版本、忘开端口。细节,才是DevOps的命门。

