laravel部署api專案

語言: CN / TW / HK

我正在參加「掘金·啟航計劃」

一、購買伺服器

由於我們是測試,所以我們可以買按量付費的伺服器進行測試: 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 因為我們是測試的所以設定成一個小時後自動釋放。 在這裡插入圖片描述 配置入方向安全組 在這裡插入圖片描述

返回控制檯檢視我們雲主機的公網ip。

二、雲伺服器配置

購買完之後,我們用終端連線雲伺服器,升級軟體: 在這裡插入圖片描述 連線進來之後執行命令 apt update 在這裡插入圖片描述 更新完之後,安裝我們需要的軟體: apt install nginx 在這裡插入圖片描述


安裝 mysql。執行命令apt install mysql-server在這裡插入圖片描述


安裝phpapt 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 TOKENphp 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檢視配置是否正確: 在這裡插入圖片描述

四、測試效果

接著重啟nginxnginx -s reload 在這裡插入圖片描述 重啟後訪問發現報錯: 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 可以看到我們專案已經部署到線上了。

在學習的php的路上,如果你覺得本文對你有所幫助的話,那就請關注點贊評論三連吧,謝謝,你的肯定是我寫博的另一個支援。