手上有多個網站 都是 Laravel 5.8,放在一台 Ubuntu 18.04 的機器上(租用 Linode 機器)
四、五年了,一直沒去更新,最近終於下定決心來更新
首先把 Laravel 5 -> 6 -> 7 分多次升級,然後部署
都還算順利,官方的 upgrade guide 很清楚,簡單照做就完成
但是無法升到 laravel 8 因為需要 php 8
我那台 ubuntu 18.04 安裝 php 8 一直失敗
直接升級 OS 也失敗,一堆問題會出現
最後決定,在 Linode 租一台新的 Ubuntu 22.04 然後把專案通通搬過去
因為專案中很多「用戶上傳的圖片」放在 local,所以都需要一起搬運
最後是用 scp 硬搬檔案
然後用 mysqldump 搬運資料
才終於順利升級到 laravel 8.83 了
詳細用到的指令大概像這樣
scp -r [email protected]:/{PATH}/{FOLDER} /{PATH}
scp -r [email protected]:/etc/apache2/sites-available/{CONF_FILE} /etc/apache2/sites-available/
a2ensite
service apache2 reload
create mysql user & database with phpmyadmin
mysqldump --column-statistics=0 --default-character-set=utf8mb4 -h xxx.xxx.xxx.xxx -u {USER} --single-transaction -p{PASSWORD} {DATABASE} > /home/dump.sql;
mysql -u root -p{PASSWORD} {DATABASE} < /home/dump.sql
artisan down legacy site
composer install -> new site is now online
簡單筆記分享一下,希望能幫到一些人~
ssh-keygen
because I need a public key