位置:首页 > JavaScript > Linux 上部署 Node.js 项目:从环境准备到 Nginx 反向代理的完整流程

Linux 上部署 Node.js 项目:从环境准备到 Nginx 反向代理的完整流程

时间:2026-08-23  |  作者:冻月看渠  |  阅读:0

在Linux上部署Node.js项目,其实并没有想象中那么复杂。只要把几个关键环节理顺了,整个过程就能流畅推进。下面我们就从最基础的环节开始,一步步拆解。

Linux Node.js项目如何部署

环境准备:先把地基打牢

首先,确保你的Linux服务器上已经安装了Node.js和npm。如果还没装,可以用下面这条命令快速搞定:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

另外,有些项目在构建过程中需要C/C++编译工具,所以顺手把build-essential也装上,避免后续踩坑:

sudo apt-get install build-essential

上传项目:把代码送到服务器上

代码准备好之后,需要把它传到服务器。常用的方法有FTP、SCP,或者直接用rsync。如果只是小项目,SCP就够用了:

scp -r 你的项目目录 用户名@服务器IP:/目标路径

上传完成后,记得登录服务器确认文件都在。

安装依赖:让项目跑起来的第一步

进入项目目录,执行:

npm install

这条命令会读取package.json,把所有依赖都装好。如果遇到权限问题,可以试试用npm install --unsafe-perm,或者干脆用普通用户操作。

配置环境变量:把敏感信息藏起来

很多应用需要数据库连接字符串、API密钥之类的环境变量。直接在代码里写死显然不安全,正确的做法是在服务器上设置。比如在~/.bashrc~/.bash_profile里添加:

export NODE_ENV=production
export DATABASE_URL=mongodb://user:password@host:port/dbname

然后让配置生效:

source ~/.bashrc

也可以把环境变量写到项目根目录下的.env文件里,配合dotenv包自动加载,这样更灵活。

启动应用:让代码真正跑起来

最直接的方式就是:

node app.js

但这样做有个问题——一旦退出终端,应用就停了。为了保持应用持续运行,推荐使用进程管理器,比如PM2:

npm install pm2 -g
pm2 start app.js --name "my-app"

PM2自带日志管理、自动重启、负载均衡等功能,非常实用。如果想让应用开机自启,还可以用pm2 startup生成系统服务。

配置反向袋里:让外部能访问你的应用

如果希望用户通过80或443端口直接访问你的Node.js应用,通常需要加一个反向袋里服务器,比如Nginx。下面是一个典型的配置:

server {
    listen 80;
    server_name example.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;
    }
}

把这个配置文件保存到/etc/nginx/sites-a vailable/example.com,然后创建一个符号链接到sites-enabled

sudo ln -s /etc/nginx/sites-a vailable/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

如果配置没报错,重启Nginx后,你的应用就能通过域名访问了。

安全性和监控:别让应用裸奔

部署完成后,别忘了做安全加固。比如用ufw配置防火墙,只开放必要端口;安装SSL证书(推荐Let's Encrypt),让网站支持HTTPS;定期更新系统和依赖包。

监控方面,可以用PM2自带的pm2 monit查看CPU和内存占用,或者接入专业工具如New Relic、Datadog。不过对大多数小项目来说,PM2的监控已经够用了。

以上就是一个相对完整的部署流程。当然,根据项目不同,你可能还需要调整数据库连接、静态文件处理、日志切割等细节。但掌握了这些核心步骤,后续的优化不过是锦上添花。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多