在Linux服務器上部署Node.js應用通常涉及以下幾個步驟:
確保服務器環境:確保你的Linux服務器已經安裝了Node.js和npm。如果沒有,可以通過以下命令安裝:
sudo apt update
sudo apt install nodejs npm
創建項目目錄:在你的服務器上創建一個新的目錄來存放你的Node.js應用。
mkdir myapp
cd myapp
初始化Node.js項目:使用npm初始化你的項目。
npm init -y
package.json
文件中的依賴項安裝到項目中。npm install
.env
文件中,并使用dotenv
包來加載它們。npm install dotenv
在項目的根目錄下創建一個.env
文件,并添加你的環境變量:DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
編寫啟動腳本:在package.json
中添加一個啟動腳本。
"scripts": {
"start": "node app.js"
}
啟動應用:使用npm啟動你的應用。
npm start
為了確保你的Node.js應用在服務器重啟后自動啟動,并且能夠處理崩潰等問題,建議使用進程管理器,如PM2。
安裝PM2:
npm install pm2 -g
啟動應用:使用PM2啟動你的應用。
pm2 start app.js --name myapp
查看應用狀態:使用PM2查看應用的狀態。
pm2 status
為了提高性能和安全性,通常會使用Nginx作為反向代理。
安裝Nginx:
sudo apt install nginx
配置Nginx:編輯Nginx配置文件(通常位于/etc/nginx/sites-available/default
),添加一個反向代理配置。
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;
}
}
重啟Nginx:
sudo systemctl restart nginx
為了確保你的應用通過HTTPS提供服務,建議配置SSL證書。你可以使用Let’s Encrypt來免費獲取SSL證書。
安裝Certbot:
sudo apt install certbot python3-certbot-nginx
獲取并安裝證書:
sudo certbot --nginx -d yourdomain.com
按照提示完成證書的安裝和配置。
監控應用:使用PM2的監控功能來監控你的應用。
pm2 monit
日志管理:使用PM2的日志管理功能來查看和管理應用的日志。
pm2 logs myapp
通過以上步驟,你應該能夠在Linux服務器上成功部署你的Node.js應用。