如何在Linux云服务器上部署Node.js应用?

常见问题

如何在Linux云服务器上部署Node.js应用?

2025-04-08 12:00


Linux云服务器

                                            

Linux云服务器部署Node.js应用全攻略

在当今云计算时代,Node.js已成为构建高性能网络应用的首选技术之一。本文将详细介绍如何在Linux云服务器上高效部署Node.js应用,涵盖从环境配置到生产部署的全流程。

一、准备工作

在开始部署之前,您需要确保具备以下条件:

  • 一台可用的Linux云服务器(推荐Ubuntu 20.04 LTS或CentOS 8)
  • SSH访问权限
  • 已备案的域名(如需对外访问)
  • Node.js应用代码仓库

二、服务器环境配置

1. Node.js安装

通过以下命令安装最新LTS版本的Node.js:

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
    

验证安装:

node -v && npm -v

2. 数据库安装

根据应用需求选择安装MySQL或MongoDB:

# MySQL安装
sudo apt-get install mysql-server
sudo mysql_secure_installation

# MongoDB安装
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
    

三、应用部署流程

1. 代码部署

使用Git克隆您的项目:

git clone https://github.com/yourusername/yourproject.git
cd yourproject
npm install
    

2. 环境变量配置

创建.env文件配置敏感信息:

DB_HOST=localhost
DB_USER=root
DB_PASS=yourpassword
JWT_SECRET=yoursecretkey
    

3. 使用PM2进行进程管理

安装PM2并启动应用:

npm install -g pm2
pm2 start server.js --name "your-app"
pm2 save
pm2 startup
    

四、生产环境优化

1. Nginx反向代理

安装并配置Nginx:

sudo apt-get install nginx
sudo systemctl start nginx
    

配置Nginx站点:

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;
    }
}
    

2. 配置HTTPS

使用Let's Encrypt免费SSL证书:

sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
    

五、监控与维护

1. 日志管理

查看PM2日志:

pm2 logs
    

2. 性能监控

安装监控工具:

pm2 install pm2-server-monit
    

常见问题解决

  • 端口占用问题:使用netstat -tulnp查看端口占用情况
  • 权限问题:避免使用root运行Node.js应用
  • 内存泄漏:使用node --inspect进行调试

通过以上步骤,您已经成功在Linux云服务器上部署了Node.js应用。建议定期更新依赖包,并设置自动备份机制,确保应用稳定运行。


标签:
  • Node.js部署
  • Linux服务器
  • 云服务配置
  • 莱卡云