在CentOS上部署Node.js微服務涉及幾個步驟,包括安裝Node.js、設置環境、編寫和測試代碼、以及配置和啟動服務。以下是一個詳細的指南:
首先,你需要在CentOS上安裝Node.js。你可以使用NodeSource的二進制分發庫來安裝最新版本的Node.js。
添加NodeSource庫:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
安裝Node.js:
sudo yum install -y nodejs
驗證安裝:
node -v
npm -v
確保你的環境變量設置正確,以便Node.js和npm命令可以在任何地方運行。
echo "export PATH=\$PATH:/usr/local/bin/node:/usr/local/bin/npm" >> ~/.bashrc
source ~/.bashrc
編寫你的Node.js微服務代碼,并使用npm進行依賴管理。
my-node-service/
├── app.js
├── package.json
└── package-lock.json
package.json
npm init -y
npm install express
app.js
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
node app.js
訪問 http://localhost:3000
應該會看到 “Hello World!”。
為了在生產環境中運行Node.js應用,你需要進行一些配置和啟動服務的步驟。
PM2是一個進程管理器,可以幫助你管理和監控Node.js應用。
安裝PM2:
sudo npm install pm2 -g
啟動應用:
pm2 start app.js --name my-node-service
查看應用狀態:
pm2 status
停止應用:
pm2 stop my-node-service
重啟應用:
pm2 restart my-node-service
為了提高性能和安全性,你可以使用Nginx作為反向代理。
安裝Nginx:
sudo yum install nginx -y
啟動Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx:
編輯 /etc/nginx/conf.d/my-node-service.conf
文件:
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 systemctl restart nginx
確保你的防火墻允許HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
使用PM2的監控和日志功能來管理你的應用。
查看日志:
pm2 logs my-node-service
監控應用:
pm2 monit
通過以上步驟,你應該能夠在CentOS上成功部署一個Node.js微服務。