如果你使用 PM2 的 ecosystem 文件來管理應用程序,可以通過以下步驟確保重新加載 `.env` 文件中的環境變量: ## 更新 `.env` 文件 確保你已經更新了 `.env` 文件中的環境變量。 ## 在 ecosystem 文件中配置 `env` 屬性 確保在 ecosystem 文件中配置了 `env` 屬性來加載環境變量。 例如,`ecosystem.config.js` 文件可能如下所示: ```javascript module.exports = { apps: [ { name: 'my-app', script: './app.js', env: { NODE_ENV: 'production', MY_VARIABLE: process.env.MY_VARIABLE, // 從 .env 文件加載 }, }, ], }; ``` ## 使用 `pm2 restart` 並帶上 `--update-env` 參數 這樣可以確保 PM2 在重啟應用時重新加載環境變量。 例如: ```bash pm2 restart ecosystem.config.js --update-env ``` ## 確保在應用啟動時加載 `.env` 文件 如果你使用 `dotenv` 或其他庫來加載 `.env` 文件,確保在應用啟動時正確加載這些變量。 例如,在 `app.js` 中: ```javascript require('dotenv').config(); // 你的應用代碼 console.log(process.env.MY_VARIABLE); ``` ## 啟動或重啟應用 使用 PM2 啟動或重啟應用,並確保帶上 `--update-env` 參數。 例如: ```bash pm2 start ecosystem.config.js pm2 restart my-app --update-env ``` 這樣可以確保 PM2 在重啟應用時重新加載 `.env` 文件中的環境變量。 ## 也可以用 reload 是的,你可以使用 `pm2 reload` 命令來重新加載應用程序,並確保它重新加載環境變量。與 `restart` 命令類似,你需要使用 `--update-env` 參數來確保環境變量被重新加載。 以下是使用 `ecosystem.config.js` 文件的步驟: ### 更新 `.env` 文件 確保你已經更新了 `.env` 文件中的環境變量。 ### 在 ecosystem 文件中配置 `env` 屬性 確保在 ecosystem 文件中配置了 `env` 屬性來加載環境變量。 例如,`ecosystem.config.js` 文件可能如下所示: ```javascript module.exports = { apps: [ { name: 'my-app', script: './app.js', env: { NODE_ENV: 'production', MY_VARIABLE: process.env.MY_VARIABLE, // 從 .env 文件加載 }, }, ], }; ``` ### 確保在應用啟動時加載 `.env` 文件 如果你使用 `dotenv` 或其他庫來加載 `.env` 文件,確保在應用啟動時正確加載這些變量。 例如,在 `app.js` 中: ```javascript require('dotenv').config(); // 你的應用代碼 console.log(process.env.MY_VARIABLE); ``` ### 使用 `pm2 reload` 並帶上 `--update-env` 參數 這樣可以確保 PM2 在重新加載應用時重新加載環境變量。 例如: ```bash pm2 reload ecosystem.config.js --update-env ``` 這樣可以確保 PM2 在重新加載應用時重新加載 `.env` 文件中的環境變量。