在Ubuntu上部署Node.js应用可以通过以下步骤完成。以下是一个基本的指南,假设你已经有一个Node.js应用并且想要在生产环境中运行它。
1. 更新系统包
首先,确保你的系统包是最新的:
sudo apt update
sudo apt upgrade -y
2. 安装Node.js和npm
如果你还没有安装Node.js和npm,可以使用以下命令来安装:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
这里使用的是Node.js 14.x版本,你可以根据需要选择其他版本。
3. 安装PM2
PM2是一个流行的Node.js进程管理器,可以帮助你管理和保持应用在线。安装PM2:
sudo npm install pm2 -g
4. 上传你的Node.js应用
你可以使用scp、rsync或者通过Git来上传你的应用到服务器。这里假设你已经有一个应用目录在本地。
5. 配置环境变量
如果你的应用需要特定的环境变量,可以在服务器上设置它们。例如,创建一个.env文件:
nano /path/to/your/app/.env
然后在文件中添加你的环境变量:
PORT=3000
NODE_ENV=production
6. 安装应用依赖
在你的应用目录中运行以下命令来安装所有依赖:
npm install
7. 启动应用
使用PM2启动你的应用:
pm2 start app.js --name "my-app"
这里app.js是你的入口文件,my-app是应用的名称。
8. 配置PM2开机自启动
为了让你的应用在服务器重启后自动启动,可以使用PM2的startup脚本:
pm2 startup
按照提示完成配置。
9. 监控和管理应用
你可以使用PM2的命令来监控和管理你的应用:
pm2 list
pm2 logs my-app
pm2 stop my-app
pm2 restart my-app
10. 配置Nginx反向代理(可选)
如果你希望通过HTTP/HTTPS访问你的应用,可以配置Nginx作为反向代理。首先安装Nginx:
sudo apt install nginx -y
然后配置Nginx:
sudo nano /etc/nginx/sites-available/my-app
添加以下内容:
server {
listen 80;
server_name yourdomain.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;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/my-app /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
11. 配置SSL证书(可选)
你可以使用Let’s Encrypt来配置SSL证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
按照提示完成配置。
通过以上步骤,你应该能够在Ubuntu上成功部署你的Node.js应用。
以上就是关于“如何在Ubuntu上部署Nodejs应用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm