从购买域名到使用PM2部署Node.js项目的完整指南
本文详细记录了前端项目从购买域名和服务器开始,到在CentOS环境下安装Node.js与PM2,再到使用Git克隆项目、配置PM2集群模式以及通过Nginx进行反向代理的完整部署流程。涵盖环境初始化、依赖安装、进程守护及开机自启等关键步骤,帮助开发者顺利完成Node.js项目的线上部署。
前言与部署背景
作为前端开发者,面对将本地项目部署至服务器的任务时,往往感到无从下手。尽管存在困惑,但出于对技术实现的浓厚兴趣,我决定亲自尝试并执行部署操作。
域名与服务器选购
一、域名与服务器选购
部署项目的前提是拥有独立的域名,这是不可或缺的环节。目前腾讯云提供限时免费的服务器资源(免费期为7天),因此我首先在腾讯云注册了域名,随后领取了免费服务器。在此过程中,需完成账号的实名认证。

域名注册流程

服务器领取流程
在腾讯云后台选择CentOS系统的服务器后,需进行域名解析配置,并对服务器基础环境进行设置,包括账号密码等安全信息的设定。

域名解析配置
Node.js运行环境部署
二、Node.js运行环境部署
(一)服务器登录与系统更新
yum update -y
(二)安装Node.js与PM2工具
使用wget命令下载Node.js安装包。该安装包为预编译文件,解压后bin目录下已包含node和npm可执行文件,无需再次进行源码编译。
wget https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz
执行文件解压操作。
tar xvf node-v8.9.3-linux-x64.tar.xz
创建软链接以实现node和npm的全局可用。通过建立软链接,确保在任意目录下均可直接调用node和npm命令:
ln -s /root/node-v8.9.3-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm
检查node与npm的版本信息。
node -v
npm -v
至此,Node.js基础环境安装完成。软件默认安装路径为/root/node-v8.9.3-linux-x64/。若需将软件迁移至其他目录(例如/opt/node/),请执行以下操作:
mkdir -p /opt/node/
mv /root/node-v8.9.3-linux-x64/* /opt/node/
rm -f /usr/local/bin/node
rm -f /usr/local/bin/npm
ln -s /opt/node/bin/node /usr/local/bin/node
ln -s /opt/node/bin/npm /usr/local/bin/npm
安装PM2进程管理器
npm install pm2@latest -g
创建软链接,使pm2命令具备全局执行权限。
ln -s /root/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/pm2
项目代码部署
三、通过Git将项目部署至服务器
首先登录服务器根目录,查看根目录下的文件夹内容,随后进入var目录。在var目录下新建www文件夹,查看var目录内容后,进入www目录。依次执行的命令如下:
cd /
ls
cd var
ls
mkdir www
cd www
相关操作截图

随后,将代码仓库中的项目通过git clone命令拉取至服务器。
若服务器未安装git,需先使用以下命令进行安装:
yum install git
y
进入项目根目录。

截图中显示存在一个非Express项目的文件,该文件为PM2的配置文件。PM2的具体配置方法可参考官方文档:http://pm2.keymetrics.io/docs/usage/cluster-mode/
以下是我的项目配置示例(新手编写,如有疏漏欢迎指正):
{
"apps": [
{
"name": "app1",
"script": "bin/www",
"log_date_format": "YYYY-MM-DD HH:mm:SS",
"log_file": "logs/app1.log",
"error_file": "logs/app1-err.log",
"out_file": "logs/app1-out.log",
"pid_file": "pids/app1.pid",
"instances": 1,
"min_uptime": "200s",
"max_restarts": 10,
"max_memory_restart": "1M",
"cron_restart": "1 0 * * *",
"watch": false,
"merge_logs": true,
"exec_interpreter": "node",
"exec_mode": "cluster_mode",
"autorestart": true,
"vizion": false
}
]
}
项目启动与管理
四、项目启动与管理
pm2 start processes.json
关闭运行中的项目
先查找ID
pm2 status
然后,停止相应项目的id
pm2 stop id
重新启动指定项目
先查找ID
pm2 status
然后,开启相应项目的id
pm2 start id
配置PM2开机自启动
pm2 startup
pm2 save
选用PM2启动项目的主要原因是,即使断开服务器连接,Node.js项目仍能保持运行状态。
此时项目虽已部署完成,但访问端口被限制为80端口。后台开发人员建议使用Nginx作为反向代理服务器,并提供了相应的安装指导。
Nginx反向代理配置
五、Nginx安装与配置
执行Nginx安装命令
yum install nginx
Nginx配置步骤
进入配置文件夹目录,编辑nginx.conf文件;或者在conf.d目录下新建后缀名为.conf的配置文件。
cd /
cd etc/nginx
vim nginx.conf
配置界面截图

此处涉及vim编辑器的基本使用方法,建议查阅相关教程。
简要介绍几个常用快捷键,直接按下键盘:
i 编辑
Esc 退出编辑
:q 退出vim编辑器
:wq 保存并退出vim编辑器
以下是我的Nginx配置示例(新手编写,如有疏漏欢迎指正):

启动Nginx服务
service nginx start
此时Nginx服务已正常运行。
每次修改Nginx配置后,均需重启服务,使用以下命令:
service nginx reload
设置Nginx开机自启动
ln -s /bin/systemctl /usr/local/bin/systemcel
systemcel enable nginx
至此,Node.js项目在服务器上的部署工作全部结束,直接访问网址即可。再次感谢公司PHP开发人员的指导以及网络上技术分享者的贡献,也希望大家多多支持本站。
Java和JavaScript的应用场景分工:后端企业级开发与Web前端交互
2026-11-05 15:57:34
除了浏览器和Node.js,还有哪些轻量级Js脚本运行工具?
2026-11-04 17:38:24
无需后端:用JavaScript实现简单网站的本地数据存储
2026-11-03 23:03:30
Node.js 下载慢或官网打不开怎么办
2026-11-03 18:19:37
JS解析大体积Excel文件内存溢出怎么办
2026-11-03 18:19:37
