华为云代充手续费 华为云国际站服务器运行Nodejs教程
别慌,Node.js真没那么吓人——华为云国际站部署全实战
朋友,你是不是也经历过:对着华为云国际站控制台发呆三分钟,点开‘ECS’像在解密摩斯电码;复制粘贴了一堆教程命令,结果node -v报错‘command not found’;或者好不容易跑起来了,一关SSH窗口,服务立马‘人间蒸发’……别自责,这不是你菜,是太多教程把简单事搞成了玄学仪式。
这篇不是翻译官网文档的复读机,而是我踩着3台国际站ECS、重装5次Node、被安全组封了7次端口后,熬出来的‘人话版’实操指南。全程用新加坡区域(ap-southeast-3)演示,但逻辑通用全球节点。现在,深呼吸,打开终端——我们从零开始,不跳步,不甩锅,只管把你的app.js稳稳跑在华为云上。
第一步:先让服务器‘活’起来——创建ECS实例
登录 Huawei Cloud International(注意!不是国内华为云,网址是 https://www.huaweicloud.com/intl/),右上角选好区域(推荐新加坡或东京,延迟友好)。进入‘Compute’ → ‘Elastic Cloud Server’ → ‘Buy ECS’。
华为云代充手续费 配置要点直给:
• 镜像:选 Ubuntu 22.04 LTS(别碰CentOS,官方已停更,坑多);
• 规格:开发测试选‘s6.large.2’(2核4G够用,月付约$12);
• 网络:默认VPC就行,但关键来了——安全组必须手动配置!别用‘default’组,它默认只放行22端口(SSH)。点击‘Configure Security Group’ → ‘Create New’,名字写‘nodejs-prod’,规则加三条:
○ 入方向:端口22(SSH),源IP填你的本地公网IP(不确定?搜‘what is my ip’);
○ 入方向:端口3000(或你App用的端口),源IP填0.0.0.0/0(上线前建议缩为具体IP段);
○ 入方向:端口80/443(后续配Nginx用),同上。
密码设置:勾选‘Set Password’,输个强密码(大小写+数字+符号),千万别用密钥对——新手容易卡在私钥权限问题上。最后确认下单,等2分钟,实例状态变‘Running’,记下公网IP(形如182.168.xxx.xxx)。
第二步:连上去,别被‘Permission denied’劝退
打开终端(Mac/Linux)或PuTTY(Windows),执行:ssh root@你的公网IP
输密码(注意:密码不显示,盲打完回车)。如果提示‘Permission denied’,检查三件事:
① 是否用root用户?华为云国际站默认允许root登录(国内站禁用);
② 密码是否输错?Caps Lock关了吗?
③ 安全组是否放行22端口且源IP匹配?
成功登录后,第一件事:sudo apt update && sudo apt upgrade -y
(更新系统,避免老旧包冲突)
第三步:装Node.js——别用官网curl脚本!
网上一堆教程让你:curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
然后apt install -y nodejs。听着很帅?实际可能卡死在GFW墙外下载源。更稳的法子:curl -o node.tar.xz https://nodejs.org/dist/v20.11.1/node-v20.11.1-linux-x64.tar.xztar -xf node.tar.xzsudo mv node-v20.11.1-linux-x64 /opt/nodejssudo ln -sf /opt/nodejs/bin/node /usr/local/bin/nodesudo ln -sf /opt/nodejs/bin/npm /usr/local/bin/npm
验证:node -v 应输出 v20.11.1,npm -v 输出 10.2.4。搞定!
第四步:上传代码 & 启动——但别直接node app.js!
用scp传代码到服务器:scp -r ./my-node-app root@你的IP:/home/ubuntu/
(建议传到/home/ubuntu而非/root,权限更干净)
进目录:cd /home/ubuntu/my-node-app
装依赖:npm install --production(加--production跳过devDependencies,省空间)
现在,别急着node app.js!这玩意儿一关终端就挂。用PM2守护:sudo npm install pm2 -gpm2 start app.js --name "my-api"pm2 startup(生成开机自启脚本)pm2 save(保存当前进程列表)
检查:pm2 status 看Status是否online,pm2 logs my-api 看实时日志。恭喜,你的Node服务已后台常驻!
第五步:让世界访问你——Nginx反向代理上岗
直接暴露3000端口?不专业还危险。装Nginx:sudo apt install nginx -ysudo systemctl start nginxsudo systemctl enable nginx
编辑配置:sudo nano /etc/nginx/sites-available/my-node-app
贴入:
server {
listen 80;
server_name your-domain.com; # 暂用IP替代,如182.168.xxx.xxx
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;
}
}
启用:sudo ln -sf /etc/nginx/sites-available/my-node-app /etc/nginx/sites-enabled/sudo nginx -t(检查语法)sudo systemctl reload nginx
现在浏览器访问你的公网IP,看到Node返回内容?成了!
最后一步:上线前必做三件事
① 域名解析:买个便宜域名(Namecheap $1/年),在DNS管理里加A记录指向你的ECS公网IP;
② HTTPS免费化:用Certbot自动续期SSL:
sudo snap install --classic certbot
sudo certbot --nginx -d your-domain.com
③ 日志轮转:防止pm2 logs撑爆磁盘,加定时任务:
pm2 logrotate -i 1d
至此,你的Node.js应用已在华为云国际站稳定运行。没有魔法,只有清晰步骤;没有‘稍后自行研究’,只有每一步的确定性反馈。下次再看到‘部署失败’,请默念:先查安全组,再看PM2状态,最后翻Nginx error.log——90%的问题,都在这三行里。
附赠一句真·血泪经验:华为云国际站的‘弹性IP’绑定后需手动在ECS详情页点击‘绑定’按钮才生效,别信控制台右上角那个小弹窗……(说多了都是泪)

