详解把Node.js项目部署到阿里云服务器(CentOs)

  • Post category:Linux

接下来我将详细讲解如何将Node.js项目部署到阿里云服务器(CentOS)的完整攻略。

环境准备

为了能够成功地将Node.js项目部署到阿里云服务器,我们需要先准备好以下环境:

  • 一台阿里云ECS服务器(CentOS 7.0 64位)
  • 安装Node.js(v10.16.0)和npm(v6.9.0)
  • 安装Git

步骤说明

  1. 登录阿里云ECS服务器,并安装Git。

sh
sudo yum install git

  1. 克隆项目代码到服务器。

sh
git clone https://github.com/xxxx/xxxx.git

  1. 进入项目目录,并安装依赖。

sh
cd /path/to/project
npm install

  1. 构建打包项目。

sh
npm run build

  1. 配置Nginx代理。在/etc/nginx/conf.d目录下新建一个配置文件,并将以下内容粘贴进去:

“`nginx
server {
listen 80;
server_name example.com;

   location / {
       proxy_pass http://127.0.0.1:3000;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
   }

}
“`

上述配置将请求转发至项目的3000端口,所以在运行Node.js项目时,默认要监听3000端口。如果你的项目监听的是其他端口,请在上述配置中进行相应的修改。

  1. 重启Nginx服务使配置生效。

sh
sudo systemctl restart nginx

  1. 运行项目。

sh
npm start

经过以上步骤,你就可以将Node.js项目成功地部署到阿里云服务器上了。

示例1:

如果你的项目中有node-sass依赖,那么在安装依赖时有可能会因为无法下载二进制文件而失败。这时候,可以使用--unsafe-perm选项进行安装:

npm install --unsafe-perm

示例2:

如果你的服务器中有多个Node.js项目,那么你可以为每个项目配置一个Nginx代理。比如,你可以为example1.comexample2.com分别配置代理,并将请求分别转发到http://127.0.0.1:3000http://127.0.0.1:4000上。针对不同的项目,你需要创建不同的配置文件并进行相应的修改。