一、Node.js 简介
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 在服务器端编写应用程序。Node.js 使用事件驱动、非阻塞 I/O 模式,使其成为构建高效、可扩展的网络应用程序的理想选择。
二、CentOS 环境准备
在部署 Node.js 之前,需要确保 CentOS 系统满足以下要求:
- 操作系统:CentOS 7 或更高版本。
- Python:Node.js 需要 Python 2.6 或更高版本,但推荐使用 Python 2.7 或 Python 3。
- GCC:Node.js 的编译需要 GCC。
- Make:用于编译 Node.js。
2.1 安装依赖
使用以下命令安装 Node.js 所需的依赖:
sudo yum install -y python python-pip python-devel make gcc openssl openssl-devel
2.2 安装 Node.js
以下是使用 yum
安装 Node.js 的步骤:
- 添加 Node.js Yum 仓库:
curl --silent --location https://rpm.nodesource.com/setup_16.x | sudo bash -
- 安装 Node.js:
sudo yum install -y nodejs
- 验证安装:
node -v
npm -v
三、Node.js 应用部署
3.1 创建 Node.js 应用
- 创建项目目录:
mkdir my-node-app
cd my-node-app
- 初始化项目:
npm init -y
- 安装依赖:
假设你的项目需要 express
和 body-parser
,你可以使用以下命令安装它们:
npm install express body-parser
- 编写代码:
创建一个名为 app.js
的文件,并添加以下代码:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.get('/', (req, res) => {
res.send('Hello, World!');
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
3.2 部署 Node.js 应用
- 构建生产环境:
npm run build
- 运行应用:
node app.js
或者,如果你使用了 pm2
作为进程管理器,可以使用以下命令:
pm2 start app.js
- 配置 Nginx:
创建一个名为 my-node-app.conf
的文件,并添加以下内容:
server {
listen 80;
server_name my-node-app.example.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;
}
}
- 启动 Nginx:
sudo systemctl start nginx
四、总结
本文介绍了在 CentOS 环境下部署 Node.js 应用的基本步骤。从安装 Node.js 到部署应用,你可以按照上述指南完成整个流程。随着经验的积累,你可以进一步优化你的 Node.js 应用,提高其性能和可维护性。