laravel部署api專案
我正在參加「掘金·啟航計劃」
一、購買伺服器
由於我們是測試,所以我們可以買按量付費的伺服器進行測試:
因為我們是測試的所以設定成一個小時後自動釋放。
配置入方向安全組
返回控制檯檢視我們雲主機的公網ip。
二、雲伺服器配置
購買完之後,我們用終端連線雲伺服器,升級軟體:
連線進來之後執行命令
apt update
更新完之後,安裝我們需要的軟體:
apt install nginx
安裝 mysql
。執行命令apt install mysql-server
:
安裝php
。apt install php
執行命令apt install php7.4-fpm
。(進行ftp
上傳需要,當然也可以使用git
進行上傳,我們這使用ftp
演示)
安裝php
相關擴充套件:apt install php7.4-xml
apt install php7.4-mysql
apt install composer
三、打包壓縮ftp上傳程式碼
我們將根目錄下的vendor
刪除,這個第三方的包檔案較大,我們刪掉之後再雲伺服器下composer
再安裝。
接著在虛擬機器裡code
資料夾下壓縮我們的專案:
tar -zcvf shopProjectApi.tar.gz ./shopProjectApi
我們需要將
shopProjectApi.tar.gz
傳輸到我們遠端的雲伺服器上。
執行命令:scp shopProjectApi.tar.gz [email protected]:/tmp
然後輸入密碼
可以看到已經傳輸完成了。
檢視遠端伺服器就有這個檔案:
接下來把這個檔案移動:
mv /tmp/shopProjectApi.tar.gz /var/www/
執行命令解壓:
tar -zxvf shopProjectApi.tar.gz
執行
composer install
安裝依賴項:報錯缺少什麼就安裝什麼。
apt install php7.4-curl
apt install php7.4-dom
然後再composer install
接著釋出配置:
1、
cp .env.example .env
2、修改.env
配置,主要是資料庫配置等 3、釋出DingoApi
配置:php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
4、釋出JWT
配置:php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
5、生成JWT TOKEN
:php artisan jwt:secret
6、釋出許可權相關配置:php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"
但是資料庫配置有問題,我們配置的是虛擬機器的,而云伺服器上還沒配置,接下來配置下:
可以看到我們資料的密碼和名稱。
接下來我們先去建立一個數據庫:
接著
exit
推出。
編輯.env
檔案:nano .env
:
control + x
推出輸入Y
儲存退出。
7、執行遷移同事填充資料:
php artisan migrate --seed
接著修改nginx
配置:nano /etc/nginx/sites-available/default
伺服器:
try_files $uri $uri/ /index.php?$query_string;
control + x
推出輸入Y
儲存退出。
輸入命令nginx -t
檢視配置是否正確:
四、測試效果
接著重啟nginx
:nginx -s reload
重啟後訪問發現報錯:
可以看到我們專案已經部署到線上了。
在學習的php的路上,如果你覺得本文對你有所幫助的話,那就請關注點贊評論三連吧,謝謝,你的肯定是我寫博的另一個支援。