在Ubuntu上部署Node.js应用通常涉及以下几个步骤:
-
安装Node.js: 首先,你需要在你的Ubuntu系统上安装Node.js。你可以使用NodeSource的二进制分发库来安装特定版本的Node.js。
# 导入NodeSource库的GPG密钥 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - # 安装Node.js和npm sudo apt-get install -y nodejs
这里以安装Node.js 16.x版本为例,你可以根据需要替换为其他版本。
-
上传你的Node.js应用: 你可以使用
scp
、rsync
或者通过Git将你的Node.js应用上传到Ubuntu服务器上。 -
安装依赖: 在你的应用目录中,运行以下命令来安装所有必要的npm包。
npm install
-
配置环境变量(可选): 如果你的应用需要特定的环境变量,比如数据库连接字符串或API密钥,你应该在服务器上设置这些变量。你可以在
~/.bashrc
、~/.profile
或/etc/environment
文件中设置它们。 -
启动应用: 使用
npm start
命令来启动你的Node.js应用。如果你的应用使用了进程管理器(如PM2),你可以使用它来启动和管理你的应用。# 使用npm启动 npm start # 或者使用PM2启动 pm2 start app.js --name "my-app"
-
设置开机自启动(可选): 如果你希望你的Node.js应用在服务器重启后自动启动,你可以使用PM2来实现。
pm2 startup pm2 save
pm2 startup
会生成一个开机自启动的脚本,而pm2 save
会将当前的进程列表保存到磁盘,以便在重启后恢复。 -
配置Nginx反向代理(可选): 如果你希望使用Nginx作为反向代理来处理HTTP请求并将它们转发到你的Node.js应用,你需要安装Nginx并配置它。
sudo apt-get install nginx
然后,编辑Nginx的配置文件(通常位于
/etc/nginx/sites-available/
目录下),添加一个server块来代理请求到你的Node.js应用。server { listen 80; server_name example.com; # 替换为你的域名或公网IP location / { proxy_pass http://localhost:3000; # 将请求转发到Node.js应用的端口 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 systemctl restart nginx
这些是在Ubuntu上部署Node.js应用的基本步骤。根据你的具体需求,可能还需要进行其他配置,比如设置SSL证书、数据库迁移、日志管理等。