聽網友說到他近期有Laravel開發項目,需要搬到CentOS伺服器做測試。就順便問了一下他搬遷的過程,分享給大家看看,有興趣的可以了解一下。
先說下專案的設定:
Laravel版本5.5 --確定了php7.0以上;
CentOS 7.0或以上。
lnmp 1.5版
以下是搬遷的過程:
1、伺服器安裝lnmp1.5:
lnmp安裝包是懶人最方便布署網站伺服器的工具了。比較介意的也可以自己一手編譯安裝。
安裝過程在官網寫得很清楚,考慮用無人自動化安裝方式:https://lnmp.org/faq/v1-5-auto-install.html。安裝前最好先使用screen,防ssh在安裝過程中自動斷開。
我是安裝了lnmp,使用nginx,不使用apache。
2、新增虛擬主機:
怎麼添加,官網有介紹:https://lnmp.org/faq/lnmp-vhost-add-howto.html
新增時寫的參數:
(1)網域:指向的網域名稱(或自訂一個假網域)
(2)網站目錄:不輸入直接回車,那麼預設就是/ home/wwwroot/網域名稱
(3)rewrite規則:y,需要。然後輸入laravel回車。
(4)開啟存取日誌:y, 回車
(5) 存取日誌名稱:直接回車,預設;
資料庫(6) 否,自己建。
(7)SSL功能:n,不需要。
3、搬專案檔案到網站目錄:
可以使用sftp方式,也可以透過lnmp安裝ftp伺服器透過ftp上傳。上傳完後自行透過 http://伺服器ip/phpmyadmin來進行建立資料庫和使用者帳號。完事後再修改項目下的.env檔下的資料庫設定。
4、修改網站目錄指向:
Laravel專案的網站目錄應該是專案下的public目錄,所以要修改vhost檔案:/usr/local/nginx/conf/vhost/網域.conf
將root 指向的目錄指向為專案下的public目錄。然後reload下nginx。
5、網站目錄權限設定:
(1)將整個網站目錄改為www:www所屬:chown www:www -R /home/wwwroot/網站目錄
(2)設定項目下的storage目錄為可寫入:chmod -R 775 /home/wwwroot/網站目錄/storage/
(3) 由於Laravel專案的實際傳目錄為storage/app/ public,所以要將此目錄做軟連結到public目錄下。這裡我們進入到專案目錄下,執行:php artisan storage:link。
此指令執行時出錯,原因是php.ini將某些php函數屏蔽了,修改php.ini檔案的disable_functions配置,移除需要使用的函數,修改好保存,再reloadphp- fpm。重新執行上面的命令即可。
6、清空快取:php artisan cache:clear
7、安裝redis:使用lnmp就可以安裝了,官網有說明,這裡略過不寫。
8、composer更新第三方vendor元件:在專案目錄下執行composer update時,提示缺少fileinfo的php擴充。這時需要手動編譯安裝fileinfo擴充功能了。
我們在步驟1時就用了wget自動下載了lnmp安裝包,命令列有解壓縮此安裝包,裡面就有php的源碼,我們可以透過原始碼來編譯安裝fileinfo擴充。
相關教學:PHP影片教學
#以上是如何將Laravel專案搬遷到伺服器上的詳細內容。更多資訊請關注PHP中文網其他相關文章!