在Ubuntu上部署Node.js项目通常涉及以下几个步骤:
准备工作
- 更新系统软件包列表:
sudo apt-get update
- 安装Node.js和npm:
- 使用默认仓库安装:
sudo apt-get install nodejs npm
- 使用NodeSource PPA安装特定版本的Node.js(例如Node.js v18):
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
- 使用nvm(Node Version Manager)安装和管理Node.js版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash source ~/.bashrc nvm install 18
部署步骤
- 创建Node.js应用程序:
mkdir my-node-app cd my-node-app npm init -y
- 安装项目依赖:
npm install express --save
- 创建服务器文件(例如
server.js
):
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`Server running at http://localhost:${port}/`); });
- 启动Node.js服务:
node server.js
- 使用Nginx作为反向代理(可选,用于生产环境):
- 安装Nginx:
sudo apt-get install nginx
- 配置Nginx:
sudo nano /etc/nginx/sites-available/default
在配置文件中添加以下内容:
server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
- 重启Nginx服务:
sudo systemctl restart nginx
- 使用PM2管理Node.js应用(可选,用于进程管理):
安装PM2:
sudo npm install -g pm2
使用PM2启动应用:
pm2 start server.js
验证安装
在终端中运行以下命令以验证Node.js和npm是否安装成功:
node -v npm -v
通过以上步骤,您可以在Ubuntu上成功部署Node.js项目。根据您的需求,您可以选择使用默认仓库、NodeSource PPA或nvm来安装Node.js,并使用Nginx作为反向代理来处理生产环境中的请求。