温馨提示×

Node.js CentOS项目如何部署

小樊
33
2025-11-19 20:44:48
栏目: 编程语言

在CentOS上部署Node.js项目涉及几个步骤,包括安装Node.js、设置环境变量、上传项目文件、安装依赖项以及启动项目。以下是一个详细的步骤指南:

1. 安装Node.js

你可以使用NodeSource的安装脚本来安装特定版本的Node.js。以下是安装Node.js 14.x的示例:

# 安装NodeSource Node.js 14.x 源
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

# 安装Node.js和npm
sudo yum install -y nodejs

2. 验证安装

安装完成后,验证Node.js和npm是否正确安装:

node -v
npm -v

3. 设置环境变量(可选)

如果你需要设置环境变量,可以将它们添加到~/.bashrc/etc/profile文件中。例如:

export NODE_ENV=production
export PATH=$PATH:/usr/local/bin/node

然后重新加载配置文件:

source ~/.bashrc

4. 上传项目文件

你可以使用scprsync或其他文件传输工具将项目文件上传到CentOS服务器。例如,使用scp

scp -r /path/to/your/project user@your_server_ip:/path/to/deploy

5. 安装项目依赖项

进入项目目录并安装依赖项:

cd /path/to/deploy/your_project
npm install --production

6. 配置Nginx(可选)

为了更好地处理HTTP请求,你可以使用Nginx作为反向代理。首先安装Nginx:

sudo yum install -y epel-release
sudo yum install -y nginx

启动并启用Nginx服务:

sudo systemctl start nginx
sudo systemctl enable nginx

配置Nginx以代理Node.js应用。编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf):

server {
    listen 80;
    server_name your_server_ip;

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

重启Nginx以应用更改:

sudo systemctl restart nginx

7. 启动Node.js应用

你可以使用pm2来管理Node.js应用的启动和监控。首先安装pm2

sudo npm install -g pm2

使用pm2启动你的Node.js应用:

pm2 start app.js --name your_project_name

你可以使用pm2 list查看所有运行的进程,并使用pm2 logs查看日志。

8. 设置防火墙规则(可选)

如果你使用的是CentOS 7或更高版本,默认情况下防火墙是启用的。你需要允许HTTP(端口80)和HTTPS(端口443)流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

9. 配置SSL(可选)

为了提高安全性,你可以使用Let’s Encrypt来配置SSL证书。首先安装Certbot:

sudo yum install -y certbot python2-certbot-nginx

运行Certbot来获取并配置SSL证书:

sudo certbot --nginx -d your_domain.com

按照提示完成配置。

通过以上步骤,你应该能够在CentOS上成功部署你的Node.js项目。

0