-
2800+
全球覆盖节点
-
0.01s
平均响应时间
-
70+
覆盖国家
-
130T
输出带宽
哈喽各位码农小伙伴!今天我们来聊一聊“如何把Node.js项目部署到云服务器上”,说白了就是:你写的那堆有趣的JS代码怎么搬到云上,变成人人都能访问的“网红项目”。作为曾经爬坑几百遍的“部署战士”,我来手把手教你走出迷雾,避免那些踩不完的坑,保证你轻松玩转云端。不啰嗦,咱们开干!
想要部署Node项目,第一步自然是先搞定一个靠谱的云服务器。现在市场上云服务商多到让人眼花缭乱:阿里云、腾讯云、华为云、AWS、DigitalOcean等等。刚入门的小白,推荐先从“套餐多、稳定又便宜”的阿里云或者腾讯云下手,毕竟手头紧嘛,想少花点银子先。
看精华:内存建议至少2048M,带宽别低于5Mbps,系统尽量选Ubuntu 20.04或者CentOS 7,方便咱命令行操作。记住,选操作系统时别搞错,Node环境安装起来会舒服很多。
Step 2:买完云服务器,远程登录开始装环境
你买完云服务器后,服务商会给你个IP地址和一个root密码,这时候你就可以用SSH工具连接了。Windows用户大多数用PuTTY,Mac/Linux直接终端命令行菌(`ssh root@你的IP地址`)就开工啦。
进了服务器,第一条作业:更新仓库包`apt update`或者`yum update` —— 这是给你的系统做个体检,别嫌麻烦!
接下来安装Node.js环境,根据官网指示可以用NodeSource的安装脚本,或者直接用`nvm`工具安装最新版Node。像这样:
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs
node -v
npm -v
确认版本没问题,就是装成功的节奏。
Step 3:把你的Node项目代码上传到服务器
代码怎么传?简单!有三大标配方案:
scp命令直接上传项目文件夹综合推荐Git,稳当又专业,毕竟代码也不止你一个版本嘛!
Step 4:安装项目依赖,准备起飞
进入项目目录,执行:npm install。这一步安装`package.json`里列的所有依赖包,没事别插手,等它跑完别看手机,专心等待。
顺便,如果有*.env*文件,记得配置环境变量,数据库地址、端口等等从这设置,老铁,生产环境可千万别写死代码里。
Step 5:启动你的Node项目
本地调试可以直接跑node app.js,但服务器上稍有不同。
说说大多数人都犯的坑:直接开个进程跑代码?恭喜上线一分钟后就崩溃,想绕开?那就用进程守护工具!
推荐最佳搭档 —— PM2
安装超级简单:
npm install -g pm2
启动项目:
pm2 start app.js --name my-node-app
PM2会监控你的程序,进程崩了立马重启,这波操作不能更贴心。
顺带提醒,想让PM2随服务器启动自动跑起来,执行:
pm2 startup
pm2 save
这样重启机器后你的项目也跟着醒着。
Step 6:配置反向代理,让你的Node项目香喷喷上线
直接用Node自带端口跑服务没毛病,但生产级项目一般不会直接暴露Node端口,通常会用Nginx做反向代理,安全又方便。配置Nginx时,记得把请求转发给PM2运行的Node应用。
装Nginx?这命令敲起来:
apt install nginx
然后编辑Nginx配置文件(比如`/etc/nginx/sites-available/default`),关键是把请求转给本地Node端口,一般写法看这里:
server {
listen 80;
server_name 你的服务器IP或域名;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
写完后记得重载Nginx:systemctl reload nginx,大功告成!你的网站终于挂到80端口了,外边的人敲你的IP就能看到你的“作品”。
Step 7:开防火墙门,端口放行
别忘了,各大云厂家的安全组规则,可能默认屏蔽了80端口、3000端口,得登录云控制台,放行相应端口。不然外网敲门你家门卫不给进,人家网站就永远404,伤不起。
Step 8:做个守护神—日志管理和监控
说了用PM2,它帮你管理日志,但打开日志看一看,确认服务器有没有“偷偷掉线”,总没坏处。命令:
pm2 logs my-node-app
这里能看到项目运行时所有的控制台日志。不要小看日志,毕竟它是神秘魔王bug的重要线索。
Step 9:域名绑定,给网站披上“面子”
想让访问变得更美滋滋,自然要买个域名,然后把域名DNS指向云服务器IP,Nginx里配置server_name改成你的域名,完成爽翻!
这句插播广告来了:玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink,轻松点点手指,钱包鼓鼓的感觉妙不可言~
想知道Node项目还能怎么玩?
除了那个一键PM2、Nginx组合拳,还有Docker容器化部署、使用CI/CD流水线自动上线等神器。要是不熟,先别着急翻车,咱就稳稳地掌握云服务器的基本部署姿势,把基础练到杠杠的。
对了,你有哪招和部署经历也来炫一波?毕竟理论都是纸上谈兵,实操的坑才最真实,欢迎背锅带飞!说不定下一次进阶教程就靠你们了哟~
请在这里放置你的在线分享代码爱美儿网络工作室携手三大公有云,无论用户身在何处,均能获得灵活流畅的体验
2800+
0.01s
70+
130T