在CentOS上部署Node.js應用通常涉及以下幾個步驟:
安裝Node.js: 首先,你需要在CentOS系統上安裝Node.js。你可以使用NodeSource二進制分發庫來安裝特定版本的Node.js。
# 導入NodeSource庫的GPG密鑰
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安裝Node.js和npm
sudo yum install -y nodejs
上面的命令會安裝Node.js 14.x版本及其對應的npm包管理器。你可以將14.x
替換為你需要的版本。
上傳你的Node.js應用:
將你的Node.js應用上傳到CentOS服務器。你可以使用scp
、rsync
或者通過Git等方式來上傳。
安裝依賴: 在你的應用目錄中,運行以下命令來安裝所有必要的npm包:
npm install
配置環境變量(可選):
如果你的應用需要特定的環境變量,比如數據庫連接字符串或者API密鑰,你可以將這些變量設置為環境變量。你可以在~/.bashrc
或~/.bash_profile
文件中設置,或者在啟動應用時通過命令行傳遞。
export NODE_ENV=production
export YOUR_VARIABLE_NAME=value
設置完環境變量后,運行source ~/.bashrc
或source ~/.bash_profile
來使變量生效。
啟動應用: 使用npm來啟動你的Node.js應用:
node app.js
其中app.js
是你的應用入口文件。為了保持應用持續運行,你可以使用pm2
這樣的進程管理器。
# 全局安裝pm2
sudo npm install pm2 -g
# 使用pm2啟動應用
pm2 start app.js --name "my-app"
# 查看應用狀態
pm2 status
# 停止應用
pm2 stop my-app
# 重啟應用
pm2 restart my-app
配置防火墻: 如果你的應用需要對外提供服務,確保你的CentOS防火墻允許外部訪問你的應用端口(默認是3000)。
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload
使用Nginx作為反向代理(可選): 為了提高性能和安全性,你可以使用Nginx作為Node.js應用的反向代理。
# 安裝Nginx
sudo yum install nginx -y
# 啟動Nginx服務
sudo systemctl start nginx
# 設置Nginx開機自啟
sudo systemctl enable nginx
# 配置Nginx
# 編輯Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf
sudo vi /etc/nginx/conf.d/my-app.conf
# 添加以下內容
server {
listen 80;
server_name my-app.com; # 你的域名或公網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;
}
}
# 重啟Nginx服務
sudo systemctl restart nginx
按照以上步驟,你應該能夠在CentOS上成功部署你的Node.js應用。記得根據你的具體需求調整配置。