CentOS下Node.js项目管理指南
在CentOS上管理Node.js项目前,需先搭建基础环境。推荐通过NodeSource仓库或**NVM(Node Version Manager)**安装Node.js,以支持多版本切换或获取最新稳定版。
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc # 使NVM生效
nvm install --lts # 安装最新LTS版本
nvm use 14.17.0 # 切换到指定版本(如14.17.0)
node -v(查看Node.js版本)、npm -v(查看npm版本)确认安装成功。依赖管理是项目稳定性的核心,需通过package.json记录依赖,并用锁定文件确保环境一致性。
npm init -y(或yarn init),生成包含项目元数据的package.json文件。express):npm install express --save(或yarn add express),会自动添加到package.json的dependencies。webpack):npm install webpack --save-dev(或yarn add webpack --dev),添加到devDependencies。package-lock.json,yarn生成yarn.lock,务必将这两个文件提交到版本控制(如Git),确保团队成员或部署环境安装相同版本的依赖。npm update(更新package.json中的版本号并安装);yarn upgrade(同理)。npm uninstall package-name;yarn remove package-name。Node.js应用默认无守护进程,需通过PM2(进程管理器)实现后台运行、自动重启、负载均衡等功能。
sudo npm install pm2 -g
pm2 start app.js --name "my-app"(app.js为主入口文件,my-app为自定义应用名)。pm2 list:查看所有管理的应用;pm2 logs:查看应用日志;pm2 stop my-app:停止应用;pm2 restart my-app:重启应用;pm2 delete my-app:删除应用。pm2 startup,根据提示执行生成的命令(如sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u youruser --hp /home/youruser),确保服务器重启后应用自动恢复。版本控制是团队协作与项目迭代的基础,推荐使用Git跟踪代码变更。
git init,生成.git目录。git add . # 添加所有文件到暂存区
git commit -m "Initial commit" # 提交到本地仓库
git remote add origin <repository-url>添加远程仓库,再通过git push -u origin master推送代码。master/main):存储稳定代码,仅接受合并请求;dev):集成开发中的功能;feature/xxx):开发新功能,完成后合并到dev。为了让Node.js应用对外提供服务,需配置Nginx反向代理(处理HTTP请求、SSL卸载)和防火墙(开放端口)。
sudo yum install -y nginx
/etc/nginx/nginx.conf),在server块中添加: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。firewalld,运行以下命令开放端口(如3000):sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
npm init)并安装依赖;npm install)并启动应用(pm2 start);通过以上步骤,可实现CentOS下Node.js项目的高效管理,确保项目稳定、可维护。