在CentOS系統中部署Node.js應用程序,可以按照以下步驟進行:
首先,你需要在CentOS上安裝Node.js。你可以使用NodeSource提供的Node.js二進制分發庫來安裝特定版本的Node.js。
添加NodeSource倉庫:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
這里的14.x是你想要安裝的Node.js版本。你可以根據需要更改版本號。
安裝Node.js和npm:
sudo yum install -y nodejs
驗證安裝:
node -v
npm -v
假設你已經有一個Node.js應用程序,并且它已經準備好在生產環境中運行。
確保你的應用程序代碼已經準備好,并且所有依賴項都已經安裝在package.json文件中。
在你的應用程序目錄中運行以下命令來安裝所有依賴項:
npm install
你可能需要設置一些環境變量,例如數據庫連接字符串、API密鑰等。你可以將這些變量添加到你的.env文件中,并使用dotenv包來加載它們。
你可以使用pm2來管理你的Node.js應用程序。pm2是一個進程管理器,可以幫助你保持應用程序在線并自動重啟。
安裝pm2:
sudo npm install pm2 -g
啟動應用程序:
pm2 start app.js --name "my-app"
這里的app.js是你的應用程序入口文件,my-app是應用程序的名稱。
查看應用程序狀態:
pm2 status
查看日志:
pm2 logs my-app
為了提高性能和安全性,你可以使用Nginx作為Node.js應用程序的反向代理。
安裝Nginx:
sudo yum install nginx -y
啟動Nginx:
sudo systemctl start nginx
配置Nginx:
編輯Nginx配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf),添加以下內容:
server {
listen 80;
server_name yourdomain.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;
}
}
這里的yourdomain.com是你的域名,3000是你的Node.js應用程序監聽的端口。
重新加載Nginx配置:
sudo systemctl reload nginx
確保你的防火墻允許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
使用pm2來啟動和管理你的Node.js應用程序,并使用Nginx來處理HTTP請求。你可以使用pm2 monit來監控應用程序的性能和狀態。
通過以上步驟,你應該能夠在CentOS系統上成功部署Node.js應用程序。