CentOS 下部署 Node.js 项目:从环境安装到 PM2、Nginx 与 HTTPS 上线
时间:2026-08-23 | 作者:骑光打字机 | 阅读:0在CentOS上部署Node.js项目,关键步骤其实就那么几个。从系统准备到最终上线,每个环节都有讲究。下面直接进入正题。
1. 更新系统及安装基础工具
先把系统更新到最新,顺手装上常用的工具,比如wget和git,这是基础操作。
sudo yum update -y
sudo yum install -y wget git
2. 安装Node.js与npm
通过NodeSource仓库安装指定版本,比如18.x,这个版本基本能满足大多数项目需求。安装完成后,记得验证一下版本。
curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# 验证安装
node -v
# 应输出v18.x.x
npm -v
# 应输出对应版本
3. 配置防火墙
这一步是为了让外部能够访问你的应用,开放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
4. 部署Node.js项目
有两种方式,一种是通过Git克隆,方便版本管理;另一种是手动上传。推荐使用Git,这样后续更新也方便。
- 方式一:通过Git克隆项目(推荐,便于版本管理)
mkdir -p /var/www/myapp && cd /var/www/myapp git clone. # 克隆项目到当前目录 - 方式二:手动上传项目(如使用scp)
scp -r /local/project/path user@server_ip:/var/www/myapp cd /var/www/myapp
5. 安装项目依赖
进入项目目录,根据package.json安装生产环境依赖,注意忽略devDependencies,这样可以减少不必要的依赖。
npm install --production
# 或使用yarn(需提前安装:sudo npm install -g yarn)
yarn install --production
6. 使用PM2管理Node.js进程
PM2是Node.js进程管理工具,可以实现后台运行、自动重启和负载均衡。安装后,启动应用并保存进程列表,然后设置开机自启动。PM2是必须的,不然进程挂了都不知道。
sudo npm install -g pm2
# 全局安装PM2
pm2 start app.js --name "my-node-app"
# 启动应用(app.js为入口文件,按项目实际修改)
pm2 sa ve
# 保存当前进程列表
pm2 startup
# 生成开机自启动脚本(按提示执行生成的命令,如`sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u root --hp /root`)
7. 配置Nginx反向袋里(可选但推荐)
Nginx可以提供HTTPS支持、负载均衡和静态文件缓存,提升应用性能和安全性。虽然不是必须的,但强烈推荐,性能和安全都能提升一个档次。安装后,配置反向袋里,将请求转发到Node.js应用。
sudo yum install -y nginx
# 安装Nginx
# 配置反向袋里(编辑默认配置或新建站点配置)
sudo vi /etc/nginx/conf.d/myapp.conf
添加以下内容(替换your_domain.com为域名/IP,3000为Node.js应用端口):
server {
listen 80;
server_name your_domain.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使配置生效:
sudo systemctl restart nginx
sudo systemctl enable nginx
# 开机自启动
8. 配置SSL证书(可选,推荐)
使用Let's Encrypt免费获取SSL证书,启用HTTPS。安装Certbot,然后自动配置Nginx HTTPS。
sudo yum install -y certbot python3-certbot-nginx
# 安装Certbot
sudo certbot --nginx -d your_domain.com
# 自动配置Nginx HTTPS
# 按提示完成证书申请(需验证域名所有权)
# 证书自动续期(Certbot会添加cron任务)
9. 验证部署
访问http://your_domain.com(或https://your_domain.com),确认应用正常运行。查看PM2进程状态,确保应用为online状态。查看应用日志,排查启动或运行错误。
- 访问
http://your_domain.com(或https://your_domain.com),确认应用正常运行。 - 查看PM2进程状态:
pm2 list(应显示应用为online)。 - 查看应用日志:
pm2 logs my-node-app(排查启动或运行错误)。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Golang 在 CentOS 上怎么配置数据库连接:MySQL 与 PostgreSQL 实战说明
- 时间:2026-08-25
-
- CentOS 上 Python 版本怎么选:先保系统,再看项目与稳定性
- 时间:2026-08-25
-
- CentOS 下如何配置 Golang 并发模型
- 时间:2026-08-25
-
- CentOS 上安装 Python 需要哪些依赖?从基础环境到编译与项目隔离一次讲清
- 时间:2026-08-25
-
- CentOS 系统部署 Golang 应用,安全配置该从哪些环节下手
- 时间:2026-08-25
-
- Golang 在 CentOS 上如何搭建调试环境
- 时间:2026-08-25
-
- CentOS 下如何调试运行 Python 脚本:从 print 到 pdb 的实用选择
- 时间:2026-08-25
-
- CentOS 中 Golang 依赖库怎么安装
- 时间:2026-08-25
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
