服务器测评网
我们一直在努力

centos nodejs 域名

在 CentOS 系统上部署 Node.js 应用并绑定域名的完整指南

环境准备:安装 CentOS 和基础配置

在开始部署 Node.js 应用之前,确保你的服务器已正确安装 CentOS 系统(推荐 CentOS 7 或更高版本),通过 SSH 连接到服务器,并更新系统软件包:

centos nodejs 域名

sudo yum update -y

安装必要的开发工具和依赖库,这些在编译 Node.js 时可能会用到:

sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel -y

建议配置防火墙规则,确保后续服务(如 HTTP、HTTPS)能够正常访问,开放 80 端口(HTTP)和 443 端口(HTTPS):

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

安装 Node.js:使用源码编译或包管理器

Node.js 的安装方式有多种,包括源码编译、包管理器(如 yum)或版本管理工具(如 nvm),这里介绍两种常用方法:

使用 yum 安装(适合快速部署)

CentOS 官方仓库和 EPEL 仓库提供了 Node.js 的预编译包,可以直接安装:

sudo yum install nodejs npm -y

安装完成后,验证版本:

node -v  # 应显示类似 v18.17.0 的版本
npm -v   # 显示对应的 npm 版本

使用源码编译(适合自定义版本)

如果需要安装特定版本的 Node.js(如最新 LTS 版本),可以从官网下载源码并编译:

# 下载 Node.js 源码(以 v18.17.0 为例)
wget https://nodejs.org/dist/v18.17.0/node-v18.17.0.tar.gz
tar -xzf node-v18.17.0.tar.gz
cd node-v18.17.0
# 编译并安装
./configure
make
sudo make install

编译过程可能需要较长时间,完成后同样通过 node -v 验证安装。

部署 Node.js 应用:从开发到生产

假设你已有一个 Node.js 应用(例如基于 Express 框架),以下是将其部署到服务器的步骤:

上传应用代码

使用 scp 或 Git 将代码上传到服务器,通过 Git 克隆:

git clone https://github.com/yourusername/yourapp.git
cd yourapp
npm install  # 安装依赖

配置生产环境

修改应用的配置文件(如 config.js),将数据库地址、端口等参数调整为生产环境值,确保应用监听正确的端口(如 3000):

centos nodejs 域名

// 示例:Express 监听端口
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

使用进程管理工具(如 PM2)

为了避免进程意外退出,推荐使用 PM2(Process Manager 2)管理 Node.js 应用,首先安装 PM2:

sudo npm install -g pm2

然后启动应用:

pm2 start app.js --name "yourapp"  # --name 指定应用名称

PM2 会自动保持进程运行,并提供日志管理、重启等功能,常用命令:

pm2 list          # 查看应用状态
pm2 logs yourapp   # 查看日志
pm2 restart yourapp # 重启应用
pm2 stop yourapp   # 停止应用

域名绑定:配置 DNS 和反向代理

要让用户通过域名访问你的 Node.js 应用,需要完成以下步骤:

配置 DNS 解析

在域名注册商(如阿里云、Cloudflare)的控制台中,添加 A 记录将域名指向服务器 IP 地址。

Type: A
Name: yourdomain.com
Value: 服务器公网 IP
TTL: 600

等待 DNS 生效(通常几分钟到几小时),可通过 ping yourdomain.com 验证。

使用 Nginx 作为反向代理

Node.js 应用通常运行在非特权端口(如 3000),而 HTTP/HTTPS 服务需要 80/443 端口,通过 Nginx 反向代理,将域名请求转发到 Node.js 应用:

首先安装 Nginx:

sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

然后编辑 Nginx 配置文件(如 /etc/nginx/conf.d/yourdomain.conf):

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    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:

centos nodejs 域名

sudo nginx -t
sudo systemctl restart nginx

配置 HTTPS(可选)

为域名启用 HTTPS 可以提升安全性,使用 Let’s Encrypt 免费证书:

安装 Certbot:

sudo yum install certbot python3-certbot-nginx -y

获取并安装证书:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按照提示完成域名验证后,Certbot 会自动配置 Nginx 支持 HTTPS。

优化与维护:确保服务稳定运行

定期更新系统与依赖

保持系统和 Node.js 应用更新是安全的关键:

sudo yum update -y
npm update  # 更新应用依赖

监控与日志

通过 PM2 和 Nginx 的日志排查问题:

pm2 monit          # 实时监控应用状态
tail -f /var/log/nginx/access.log  # 查看 Nginx 访问日志

备份与恢复

定期备份应用代码和数据库,避免数据丢失,可以使用 rsync 或云存储服务实现自动化备份。

在 CentOS 系统上部署 Node.js 应用并绑定域名,涉及环境配置、应用部署、反向代理和安全管理等多个环节,通过合理的工具选择(如 PM2、Nginx)和规范的配置流程,可以构建一个高性能、高可用的 Web 服务,无论是个人项目还是企业应用,遵循本文的步骤都能确保部署过程顺利,并为后续的扩展与维护奠定基础。

赞(0)
未经允许不得转载:好主机测评网 » centos nodejs 域名