安裝lnmp1.5,搬遷Laravel項目到服務器筆記
近期有個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) 數據庫建立:n, 否,自己建。
(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配置,移除需要使用的函數,修改好保存,再reload一次php-fpm。重新執行上面的命令即可。
6、清空緩存:php artisan cache:clear
7、安裝redis:使用lnmp就可以安裝了,官網有說明,這裏略過不寫。
8、composer更新第三方vendor組件:在項目目錄下執行composer update時,提示缺少fileinfo的php擴展。這時需要手動編譯安裝fileinfo擴展了。
我們在第1步時就用了wget自動下載了lnmp安裝包,命令行有解壓此安裝包,裏面就有php的源碼,我們可以通過源碼來編譯安裝fileinfo擴展。這裏有篇文章詳述了安裝過程:https://blog.51cto.com/bella41981/1970723
安裝lnmp1.5,搬遷Laravel項目到服務器筆記