你写好了一个网页应用,本地跑得挺顺,朋友一访问却打不开。这种情况太常见了。问题往往不出在代码本身,而是卡在了部署这一步。部署不是点一下“发布”就完事,它是一整套流程。
准备阶段:代码和环境
假设你用的是一个简单的 Node.js 应用,结构大概是这样:
my-app/
├── server.js
├── package.json
└── public/
└── index.html
在动手部署前,先确认 package.json 里有启动命令。比如:
{
"scripts": {
"start": "node server.js"
}
}
选择托管平台
新手可以试试 Vercel 或 Netlify,它们对静态页面和简单后端支持很好。如果是完整的 Web 服务,比如需要长期运行的 API,那就得上云服务器,像阿里云、腾讯云的轻量应用服务器,便宜又够用。
服务器上的部署流程
买好服务器后,第一步是连上去。打开终端,输入:
ssh root@你的服务器IP
接着安装 Node.js 和 PM2(用来保持服务常驻):
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g pm2
把代码传到服务器,可以用 scp 命令:
scp -r my-app root@你的服务器IP:/root/
登录服务器,进入项目目录,装依赖并启动:
cd /root/my-app
npm install
pm2 start start --name "my-web-app"
绑定域名和 HTTPS
现在能通过 IP 访问了,但总不能让别人记一串数字吧。去域名服务商那里,把域名解析到你的服务器 IP。然后用 Nginx 反向代理,顺便加上 HTTPS。
安装 Nginx:
sudo apt-get install -y nginx
配置站点文件,比如 /etc/nginx/sites-available/my-site:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用配置后,用 Certbot 加证书:
sudo apt-get install -y certbot python3-certbot-nginx
certbot --nginx -d yourdomain.com
搞定之后,刷新浏览器,看到自己的网站通过 https 打开,那种感觉,跟本地预览完全不一样。
后续维护的小提醒
代码更新了怎么办?别手动覆盖文件。理想的做法是写个脚本,拉 Git 最新代码,重新安装依赖,重启服务。再进一步,可以配 CI/CD,提交代码后自动走一遍流程。不过刚开始,手动也行,关键是把每一步记清楚,哪天出问题能快速回溯。