在现代互联网服务架构中,Nginx + Node.js 已成为轻量级、高性能网站的首选组合。
本文将带你从零开始,一步步搭建一个高并发、高可用的 Web 服务平台,让新手也能轻松掌握生产级部署思路。
一、环境准备
系统要求
项目
说明
操作系统
CentOS 9 / Ubuntu 22.04
用户权限
root 或 sudo
软件版本
Node.js 18+、Nginx 1.24+
安装必要依赖
sudo yum install -y gcc-c++ make wget vim git
二、⚙️ 安装 Node.js 环境
1. 下载 Node.js 官方包
cd /usr/local/src
wget https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-x64.tar.xz
tar -xvf node-v18.19.0-linux-x64.tar.xz
mv node-v18.19.0-linux-x64 /usr/local/node
2. 设置环境变量
echo "export PATH=/usr/local/node/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
3. 验证安装
node -v
npm -v
输出版本号代表安装成功。
三、 创建 Node.js 应用服务
1. 新建项目目录
mkdir /opt/webapp && cd /opt/webapp
npm init -y
npm install express
2. 编写主程序文件
app.js
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send(' Hello from Node.js + Nginx high-performance server!');
});
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
3. 启动测试服务
node app.js
打开浏览器访问:
http://your-server-ip:3000
看到 “Hello from Node.js” 即成功运行。
四、 安装与配置 Nginx 反向代理
1. 安装 Nginx
sudo yum install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
2. 修改 Nginx 配置
编辑 /etc/nginx/conf.d/webapp.conf:
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1: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;
}
}
3. 检查语法并重启服务
nginx -t
systemctl restart nginx
五、 优化安全与性能配置
1. 使用 PM2 守护进程
安装并管理 Node.js 服务:
npm install -g pm2
pm2 start app.js
pm2 save
pm2 startup
2. 配置防火墙
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
3. 开启 gzip 压缩(提升访问速度)
编辑 /etc/nginx/nginx.conf:
gzip on;
gzip_types text/plain text/css application/json application/javascript;
六、验证效果
访问:
http://服务器IP/
可看到页面内容由 Nginx 转发至 Node.js 应用,整个请求链路安全高效。
此时,若 Node 应用崩溃,PM2 会自动重启,保证服务持续可用。
七、 总结
功能
实现方式
Web 服务核心
Node.js
反向代理与负载均衡
Nginx
稳定运行
PM2 守护进程
性能优化
gzip + 缓存策略
部署环境
Linux 服务器
通过以上步骤,你已经完成一套完整的 Nginx + Node.js 高性能网站部署体系。
这不仅能帮助你搭建个人网站,也可用于企业生产环境。
京公网安备11000000000001号
京ICP备11000001号
还没有评论,来说两句吧...