在Ubuntu上部署Node.js项目并使其上线,可以按照以下步骤进行:
安装Node.js和npm:
sudo apt update
sudo apt install nodejs npm
验证安装:
node -v
npm -v
克隆项目代码:
git clone <你的项目仓库URL>
cd <项目目录>
安装项目依赖:
npm install
export NODE_ENV=production
安装Nginx:
sudo apt install nginx
配置Nginx:
编辑Nginx配置文件,通常位于 /etc/nginx/sites-available/ 目录下。创建一个新的配置文件,例如 your_project:
sudo nano /etc/nginx/sites-available/your_project
添加以下内容:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000; # 假设你的Node.js应用运行在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;
}
}
启用配置: 创建符号链接以启用该配置:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/
测试Nginx配置:
sudo nginx -t
重启Nginx:
sudo systemctl restart nginx
使用PM2管理Node.js应用(推荐):
sudo npm install pm2 -g
pm2 start app.js --name your_project
查看PM2进程:
pm2 list
安装Certbot:
sudo apt install certbot python3-certbot-nginx
获取SSL证书:
sudo certbot --nginx -d your_domain.com
查看PM2日志:
pm2 logs
查看Nginx日志:
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
定期更新系统和软件:
sudo apt update && sudo apt upgrade
配置防火墙(如果需要):
sudo ufw allow 'Nginx Full'
sudo ufw enable
定期备份项目文件和数据库。
通过以上步骤,你可以在Ubuntu上成功部署并上线你的Node.js项目。