发布于2026-07-27 阅读(0)
扫一扫,手机访问
在Ubuntu上部署Node.js项目,其实比想象中要简单,只要把几个关键步骤走通,剩下的就是按部就班。下面这份指南,基本涵盖了从零开始到能用域名访问的完整流程,值得收藏。

一开始,得先把Node.js和npm请到Ubuntu系统里来。最省事的方法是用NodeSource的官方二进制分发库,直接装最新稳定版。
# 添加NodeSource库curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -# 安装Node.js和npmsudo apt-get install -y nodejs
装完可以用 node -v 和 npm -v 确认一下,看到版本号就说明成功了。
然后,在服务器上找个合适的位置,给项目建个独立的文件夹。
mkdir my-nodejs-appcd my-nodejs-app
这样后面所有操作都在这个目录里,干净利落。
如果手里还没有现成的 package.json,可以用 npm init 快速生成一个,加上 -y 参数能跳过交互式问答,直接使用默认配置。
npm init -y
接下来,把项目需要的依赖写进 package.json,然后执行 npm install 一次性装好。以Express为例:
npm install express body-parser --save
这里的 --save 会自动把依赖信息写入 package.json,方便后续迁移。
生产环境里,环境变量是必备的。推荐用 dotenv 包配合 .env 文件来管理,既安全又灵活。
npm install dotenv --save
在项目根目录创建 .env 文件,添加变量:
PORT=3000NODE_ENV=production
然后在应用入口文件里加载这些变量,比如 app.js:
require('dotenv').config();const express = require('express');const bodyParser = require('body-parser');const app = express();app.use(bodyParser.json());app.get('/', (req, res) => {res.send('Hello World!');});const PORT = process.env.PORT || 3000;app.listen(PORT, () => {console.log(`Server is running on port ${PORT}`);});
这样,代码里就能通过 process.env.PORT 读取到端口号,而不会把敏感信息硬编码进去。
配置好之后,直接运行 npm start 就能看到效果了。如果 package.json 里已经定义了 start 脚本,这步很简单。
npm start
用 curl http://localhost:3000 测试一下,应该能返回 "Hello World!"。
手动启动的进程在终端关闭后就会停止,这显然不适合生产环境。PM2 是Node.js应用的守护进程管理器,能自动重启、监控日志,还能在服务器重启后自动拉起应用。
# 安装PM2sudo npm install pm2 -g# 启动应用pm2 start app.js --name my-nodejs-app# 查看应用状态pm2 status# 停止应用pm2 stop my-nodejs-app# 重启应用pm2 restart my-nodejs-app# 删除应用pm2 delete my-nodejs-app
启动后,用 pm2 startup 设置开机自启,PM2 会生成对应的systemd服务,真正做到一劳永逸。
直接用Node.js监听80端口虽然可行,但用Nginx做反向代理,能利用其更成熟的安全策略、静态文件处理能力和负载均衡功能。
# 安装Nginxsudo apt-get install nginx -y# 配置Nginxsudo nano /etc/nginx/sites-available/my-nodejs-app
在打开的配置文件中,填入以下内容:
server {listen 80;server_name yourdomain.com;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:
sudo ln -s /etc/nginx/sites-available/my-nodejs-app /etc/nginx/sites-enabledsudo nginx -tsudo systemctl restart nginx
如果一切顺利,现在通过你的域名就能访问Node.js应用了。
以上步骤覆盖了Ubuntu上部署Node.js项目的核心流程,包括环境搭建、依赖管理、配置环境变量、进程守护和反向代理。当然,具体到每个项目,可能还需要调整数据库连接、日志配置或安全策略,但掌握了这套基础框架,后续的扩展和优化就会顺畅很多。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8