在Ubuntu下部署Node.js项目通常涉及以下几个步骤:
准备工作
-
更新系统软件包:
sudo apt update sudo apt upgrade
-
安装必要的依赖:
sudo apt install -y build-essential libssl-dev
安装Node.js
方法一:使用包管理器安装
sudo apt install nodejs npm
方法二:使用NodeSource安装
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install nodejs
方法三:使用nvm安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash source ~/.bashrc nvm install node
验证安装
node -v npm -v
创建和运行Node.js项目
-
创建项目目录:
mkdir my-node-app cd my-node-app
-
初始化项目:
npm init -y
-
创建服务器文件:
touch server.js
-
编写服务器代码(例如使用Express框架):
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
-
安装Express:
npm install express --save
-
启动Node.js服务:
node server.js
部署到生产环境
使用Nginx作为反向代理
-
安装Nginx:
sudo apt install nginx
-
配置Nginx: 编辑
/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; } }
-
重启Nginx:
sudo systemctl restart nginx
-
使用PM2管理Node.js进程(可选但推荐):
sudo npm install -g pm2 pm2 start server.js
注意事项
- 确保防火墙允许HTTP/HTTPS流量。
- 如果使用HTTPS,需要配置SSL证书。
- 定期更新Node.js和npm到最新版本以保持安全性。
通过以上步骤,你可以在Ubuntu上成功部署Node.js项目。根据你的需求选择合适的安装方法,并使用Nginx作为反向代理来处理生产环境中的请求。