在 Ubuntu 22.04 上,按照以下步骤安装 Node.js 20.5.0、npm、Git、MongoDB、PM2 和 Nginx:
1. 安装 Node.js 20.5.0 和 npm
首先,通过 NodeSource 仓库安装指定版本的 Node.js 及其附带的 npm。
1.1 添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
1.2 安装 Node.js 20.5.0
sudo apt-get install -y nodejs
检查安装的 Node.js 版本:
node -v
# 如果不是 20.5.0,使用 n 工具来切换版本
sudo npm install -g n
sudo n 20.5.0
再次确认版本:
node -v
1.3 安装 npm(如果没有自动安装)
如果 npm 没有随 Node.js 安装:
sudo apt-get install -y npm
检查 npm 版本:
npm -v
2. 安装 Git
sudo apt-get update
sudo apt-get install -y git
检查 Git 版本:
git --version
3. 安装 MongoDB
3.1 导入 MongoDB 公钥
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb.asc
3.2 添加 MongoDB 源
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
3.3 更新并安装 MongoDB
sudo apt-get update
sudo apt-get install -y mongodb-org
3.4 启动并设置 MongoDB 开机自启
sudo systemctl start mongod
sudo systemctl enable mongod
检查 MongoDB 运行状态:
sudo systemctl status mongod
4. 安装 PM2
PM2 是 Node.js 进程管理工具,可以通过以下命令全局安装:
sudo npm install pm2@latest -g
4.1 验证 PM2 是否安装成功
pm2 -v
4.2 启动应用示例
启动应用并命名:
pm2 start app.js --name "my-app"
4.3 设置 PM2 开机自启动
pm2 startup
4.4 保存当前的 PM2 进程
pm2 save
5. 安装 Nginx
Nginx 是一个常用的 Web 服务器,常用于反向代理。
5.1 安装 Nginx
sudo apt-get install -y nginx
5.2 启动 Nginx 并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
5.3 检查 Nginx 状态
sudo systemctl status nginx
6. 配置 Nginx 反向代理(可选)
如果需要将 Nginx 配置为反向代理,以转发请求到你的 Node.js 应用,编辑默认的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/default
示例配置(假设 Node.js 应用运行在端口 3000):
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost: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;
}
}
保存并退出后,测试 Nginx 配置:
sudo nginx -t
然后重新加载 Nginx:
sudo systemctl reload nginx
总结
你已经成功在 Ubuntu 22.04 上安装并配置了:
- Node.js 20.5.0 和 npm
- Git
- MongoDB
- PM2(用于管理 Node.js 应用)
- Nginx(用于反向代理)
这样,你的服务器环境已经准备好用于部署和管理 Node.js 应用。