ubuntu

如何在Ubuntu上部署Nodejs应用

小樊
52
2025-08-05 03:06:51
栏目: 编程语言

在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应用

你可以使用scprsync或者通过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应用。

0
看了该问题的人还看了