在Ubuntu上部署Node.js项目涉及几个步骤,包括安装Node.js、设置环境变量、上传项目文件、安装依赖项以及启动项目。以下是一个详细的步骤指南:
1. 更新系统包
首先,确保你的Ubuntu系统是最新的。
sudo apt update
sudo apt upgrade -y
2. 安装Node.js和npm
你可以使用NodeSource来安装特定版本的Node.js。以下是安装Node.js 14.x的示例:
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
验证安装:
node -v
npm -v
3. 设置环境变量(可选)
如果你需要设置环境变量,可以编辑~/.bashrc
或~/.profile
文件,添加以下内容:
export NODE_ENV=production
然后重新加载配置文件:
source ~/.bashrc
4. 上传项目文件
你可以使用scp
、rsync
或任何其他文件传输方法将你的Node.js项目文件上传到服务器。例如,使用scp
:
scp -r /path/to/your/project username@your_server_ip:/path/to/destination
5. 安装项目依赖项
进入项目目录并安装依赖项:
cd /path/to/destination/your_project
npm install
6. 配置Nginx(可选)
为了更好地处理HTTP请求和静态文件,你可以使用Nginx作为反向代理。
安装Nginx
sudo apt install nginx -y
配置Nginx
编辑Nginx配置文件,通常位于/etc/nginx/sites-available/default
:
sudo nano /etc/nginx/sites-available/default
添加以下内容:
server {
listen 80;
server_name your_server_ip_or_domain;
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 nginx -t
重新加载Nginx以应用更改:
sudo systemctl reload nginx
7. 启动Node.js应用
你可以使用pm2
来管理Node.js应用的启动和监控。首先安装pm2
:
sudo npm install pm2 -g
然后使用pm2
启动你的应用:
pm2 start app.js --name your_project_name
你可以使用以下命令查看应用状态:
pm2 status
8. 设置PM2开机自启动(可选)
为了确保你的Node.js应用在服务器重启后自动启动,可以使用pm2
的启动脚本:
pm2 startup
按照提示执行生成的命令。
9. 配置防火墙(可选)
如果你使用的是UFW(Uncomplicated Firewall),可以允许HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
现在,你的Node.js项目应该已经在Ubuntu上成功部署并运行了。你可以通过浏览器访问你的服务器IP地址或域名来验证。