Debian下Node.js项目管理指南
在Debian系统中,Node.js和npm(Node包管理器)是管理Node.js项目的核心工具。推荐通过NodeSource仓库安装最新稳定版本(避免系统自带版本过旧),步骤如下:
sudo apt updatecurl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -sudo apt install -y nodejsnode -v(查看Node.js版本)、npm -v(查看npm版本)。curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash,随后运行source ~/.bashrc生效;nvm install 18.17.1;nvm use 18.17.1。初始化项目:
在项目根目录下运行npm init -y,自动生成package.json文件(记录项目元数据、依赖及脚本)。若需手动配置(如项目名称、版本),可省略-y参数,按提示填写信息。
依赖安装与版本控制:
npm install <package-name> --save(生产依赖,自动添加到package.json的dependencies)或npm install <package-name> --save-dev(开发依赖,添加到devDependencies);npm update更新所有过时依赖,或npm update <package-name>更新指定依赖;npm uninstall <package-name> --save(生产依赖)或npm uninstall <package-name> --save-dev(开发依赖)。node_modules添加到.gitignore文件(排除版本控制),并通过package-lock.json(npm自动生成)锁定依赖版本。使用PM2(进程管理器)可实现Node.js应用的后台运行、自动重启、日志管理及负载均衡:
sudo npm install -g pm2;pm2 start app.js --name "my-node-app"(app.js为入口文件,--name指定应用名称);pm2 status;pm2 logs my-node-app;pm2 stop my-node-app;pm2 restart my-node-app;pm2 startup(按提示执行命令),随后保存当前进程列表:pm2 save。使用Git进行版本控制,确保项目代码的可追溯性与团队协作:
sudo apt update && sudo apt install git;git config --global user.name "Your Name"、git config --global user.email "your_email@example.com";git init(在项目根目录下运行);git add .(添加所有文件)或git add <file>(添加指定文件);git commit -m "Initial commit"(-m后为提交信息);git remote add origin <repository-url>(<repository-url>为远程仓库地址);git push -u origin main(首次推送需设置上游分支)。.gitignore文件,排除node_modules/、logs/、*.env(环境变量文件)等无需版本控制的目录。Nginx反向代理:
安装Nginx:sudo apt install nginx;
编辑配置文件(如/etc/nginx/sites-available/default),添加反向代理规则:
server {
listen 80;
server_name your_domain_or_ip;
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;
}
}
测试配置有效性:sudo nginx -t,随后重载Nginx:sudo systemctl reload nginx。
SSL证书配置(HTTPS):
使用Let’s Encrypt免费获取SSL证书:
sudo apt install certbot python3-certbot-nginx;sudo certbot --nginx -d yourdomain.com(替换为你的域名);git clone <repository-url>;npm install(或yarn install,若使用Yarn);pm2 start app.js --name "my-app";