我在 ubuntu VM 的 apache2 服務器上部署了一個 laravel 應用程式。設定花費了很多時間,但我想對網站進行更多更改,例如現在我添加了頁腳。
僅pull在存盤庫中是否安全/可能,以便在專案中安裝更新然后重新啟動 apache?
我做了谷歌,但沒有找到任何具體的東西,因此我在這里問。
由于設定需要很長時間,我害怕我會破壞某些東西。
uj5u.com熱心網友回復:
是的,您可以提取代碼并運行這些命令來洗掉舊版本快取。
php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan view:cache
php artisan route:cache
你不需要重新啟動你的 apache 服務。
uj5u.com熱心網友回復:
確保檔案權限和所有權正確。如果檔案歸 www-data 所有,并且您使用自己的用戶 git pull,并創建了一個新檔案,則新檔案將歸您自己的用戶所有,而不是 www-data。可以創建一個 git 掛鉤來chown為您歸檔檔案,但您也可以在拉取更改后在自己的腳本中執行此操作(例如chown -R www-data)。
此外,請確保您使用git pull --ff-only. --ff-only如果由于某種原因服務器上的存盤庫和上游的存盤庫由于沖突(例如強制推送)而不同,將拒絕合并。這將防止 git pull 在檔案中創建合并沖突標記,這可能會因語法錯誤而破壞您的代碼。
將您的 git 存盤庫移動到不同的檔案夾,在那里執行 git 操作,然后修復檔案權限等,然后 rsync 或以其他方式覆寫 Apache 正在使用的目錄中的檔案,可能會更安全。
至于 Laravel,您需要遵循檔案中列出的部署步驟。
composer install --no-interaction --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
php artisan view:cache
這些:cache命令清除現有快取并重新快取組態檔、路由串列和編譯的 Blade 模板。如果您以前使用過快取命令,則需要運行這些命令,否則與配置、路由和視圖相關的新代碼更改將不會生效。如果您以前沒有使用過這些,您可能不需要使用它們。
php artisan migrate如果您有新的資料庫遷移,您可能還需要運行。例如,如果您使用 Laravel Mix,您可能還需要運行npm install和/npm run prod或其他與 npm 相關的構建命令。
在此之后,您最終需要重新加載 Apache2 實體 ( sudo service apache2 reload) 以清除 Apache2 opcache(如果您使用的是 opcache)。
最后,如果您使用佇列,則需要重新啟動佇列作業程式。此處的程序會有所不同,具體取決于您使用什么來保持工人的生命。例如,如果您supervisor按照此處記錄的方式使用,您可能會使用sudo supervisorctl restart laravel-worker:*. 在所有先前的操作之后執行此操作,以便作業人員在最新代碼上運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/405096.html
標籤:
