使用Laradock安裝Laravel環境

閱讀時間約 7 分鐘
Environment: GCP
Linux version: CentOS 7
Laradock的初衷原是為了將Laravel環境容器化,但隨著時間的演進,慢慢包含了各種常用的工具了,如php-fpm, apache, nginx, mysql, phpmyadmin, redis等等這些常用的東西,可以透過指令決定要選用哪些。

Requirement:

需先安裝docker與docker-compose

安裝與設定Laradock:

若沒有git,先安裝:
$ yum install git
1. 將Laradock clone下來:
$ git clone https://github.com/Laradock/laradock.git Laradock
ls看一下,真的是包山包海呢!
2. 配置環境設定
在Laradock資料夾內找到env-example,複製一份.env出來設定:
$ cp env-example .env
接著打開.env:
$ vim .env
APP_CODE_PATH_HOST: 設定Laravel專案要放在local的哪個path
APP_CODE_PATH_CONTAINER: 設定專案要同步到container中的哪個path
DATA_PATH_HOST: 設定db, redis資料要放在哪個path
Note: .env中還有mysql, php, phpmyadmin相關配置,也設定一下:
# phpmyadmin的預設使用者帳密:
PMA_USER=default
PMA_PASSWORD=secret

啟動 Laradock:

在Laradock folder下:
$ docker-compose up -d nginx mysql phpmyadmin
這邊可以自由放想啟動的服務,根據需求調整。
不用特別指定php-fpm,Laradock 會自己啟動php-fpm與workspace。
完成後會看到類似這些訊息,幫我們把容器都建好了:
Note: .env中有個COMPOSE_PROJECT_NAME,這是container name的prefix。

建立Laravel專案:

進入workspace container:
$ docker-compose exec workspace bash
進去後在/var/www目錄,則是對應到外部我們設定的../dev_project/。
直接來建立一個test的Laravel專案:
$ composer create-project laravel/laravel --prefer-dist test
接著記得修改.env中DB config:
在docker世界裡,DB_HOST不再是127.0.0.1,要用container name。

開啟phpmyadmin:

由於在8081 port,需在GCP中開啟該port。
VPC網路 -> 防火牆 -> 建立防火牆規則
其中目標標記這個tag則要拿來VM這邊加入防火牆Rule。
完成後即可在外部透過瀏覽器打開phpmyadmin:

設定Nginx:

在Laradock/nginx/sites中,複製一份laravel.conf.example,根據喜好命名:
$ cp laravel.conf.example laravel.test.conf
接著打開laravel.test.conf設定一下server_name, root等等:
重啟 laradock套用設定:
$ docker-compose down
$ docker-compose up -d nginx mysql phpmyadmin
接著打開若出現這個error,需修改權限:
進入workspace內修改project storage下的權限:
$ chown -R laradock:laradock storage/logs
後來發現又出現storage底下的framework也沒權限:
$ chown -R laradock:laradock storage/framework
後記:
程式執行過程若出現 chmod(): Operation not permitted 這種錯誤,把project owner改成laradock即可!
$ chown -R laradock:laradock project_path

若發生js code明明已經更新,瀏覽器cache也都清過了,但就是吃不到最新的code,這時需把nginx restart:
$ docker restart xxx_nginx
單純把laradock down再up是沒用的!

Note:
Laradock/.env中設定的nginx port是指expose到host的port,映射到container中的nginx port則是在Laradock/docker-compose.yml中設定(如下紅字):
因此在Laradock/nginx/sites中設定的config,listen port要設定映射到container中的port。

Laradock設定開機自啟動:
在Laradock/docker-compose.yml中設定需要開機自啟動的service,加入restart: unless-stopped,下圖以nginx為例:
以本文章為例,docker-compose up -d nginx mysql phpmyadmin,可以看到起了: php-fpm, workspace, nginx, mysql, phpmyadmin, docker-in-docker
這些東西! 因此這些service都要設上restart: unless-stopped。
為什麼會看到廣告
20會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
Laravel Model 關聯
閱讀時間約 1 分鐘
Laravel try catch
閱讀時間約 1 分鐘
CentOS 8 安裝 LEMP
閱讀時間約 4 分鐘
CentOS 7 安裝 Docker
閱讀時間約 1 分鐘
CentOS 7 安裝 docker-compose
閱讀時間約 1 分鐘
使用 GCP 建立 Linux VM
閱讀時間約 1 分鐘
你可能也想看
創作者要怎麼好好休息 + 避免工作過量?《黑貓創作報#4》午安,最近累不累? 這篇不是虛假的關心。而是《黑貓創作報》發行以來可能最重要的一篇。 是的,我們這篇講怎麼補充能量,也就是怎麼休息。
Thumbnail
avatar
黑貓老師
2024-06-29
防曬產品係數測試報告彙整(2024年)從2014年起,自己對於市售防曬產品的效能產生了濃厚的興趣。因為當時候發現不少產品的防曬係數其實標示是有問題的,像是原本應該是人體測試的SPF與PA數值,實際上沒有做,只用機器測試的數據來充當,但這兩者卻有很大的差異。像是防曬係數其實有強度、廣度與平均度三個面向需要一起判斷,但多數廠商並沒有完整標示
Thumbnail
avatar
邱品齊皮膚科醫師
2023-04-27
使用紫妍萃第一型膠原蛋白精華凝露的使用體驗 | 陳菊安陳菊安分享她使用紫妍萃第一型膠原蛋白精華凝露的使用體驗,純粹的第一型膠原蛋白能全面改善肌膚問題,質地輕盈且易吸收,是值得推薦的護膚產品。
Thumbnail
avatar
陳菊安
2024-06-20
使用 VBA 進行檔案操作:新增、刪除與移動Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
avatar
Pochi
2024-06-17
使用Wix網站架設好嗎?Wix網站設計平台:優缺點解析 Wix架設網站的優點 Wix最大的特色在於其簡單易用的拖放式編輯工具,這使得即便是不會寫程式的新手,也能輕鬆打造出美觀的網站,無論是為品牌還是個人用途。 Wix架設網站的缺點 然而,使用Wix架設網站也有一些缺點。免費版本的功能較為有限,且會有廣告,許多設計模
Thumbnail
avatar
Arthur
2024-06-14
【使用Obsidian 5年後,我的3個重大发現】無論是學術工作者還是生活愛好者, 都能從這篇文章中找到使用Obsidian的好處。 這篇文章將揭示如何有效地管理和利用資訊。 透過實踐, Obsidian已成為我生活與工作中的重要工具。 ▋發現1 - 高效的學術閱讀管理 在學術工作中, 我利用Obsidia
avatar
王啟樺
2024-06-12
使用 Gemini AI 聊天整理 YouTube 影片摘要使用 Gemini AI 聊天服務時,點擊「設定>擴充功能」啟用「YouTube」功能,即可在對話中利用 @YouTube 指令尋找 YouTube 影片和詢問內容。
Thumbnail
avatar
xiaoyao
2024-06-12
使用特定事件頁添加插件命令以直接使用指定事件頁面的內容。
Thumbnail
avatar
ReIris
2020-05-21
使用狗尿布的原因狗尿失禁 最常使用狗尿布的原因之一就是狗尿失禁。實際上尿失禁可能不是狗狗的行為問題。它可能是由尿路感染,膀胱問題,尿道括約肌減弱和細菌感染或糖尿病等疾病引起的。即使是訓練有素的狗也可能患有這種疾病,無法控制排尿的衝動。如果您懷疑狗的事故與行為無關,那麼第一步就是請您的獸醫諮詢。有些藥物和手術有時可以
avatar
JohnWu
2020-04-10
使用ARM處理器的Mac:這次是真的假的?/Jean-Louis Gassée現在,讓我們再一次看看Apple會不會在Mac上拋棄「過時」的Intel x86系列處理器,而改用自家設計的ARM架構晶片。這個過程聽起來好像很不錯,然而如果在2006年要做很容易,在2021年就不是那麼簡單了。
Thumbnail
avatar
吐納商業評論
2020-03-17
使用 Leanpub 建立你的第一本電子書上一篇文章〈Leanpub 網站使用介面概覽〉介紹了註冊 Leanpub 會員的步驟(非常簡單,且免費)以及 Leanpub 網站的選單操作介面,而這篇文章就要來告訴你建立書籍的步驟。在建立書籍的過程中,你也會大致了解 Leanpub 的免費與付費方案有哪些重要差異。
Thumbnail
avatar
Michael
2020-02-05
使用加密貨幣繳房租被告詐欺!?#我該投資加密貨幣嗎🤔  昨天有學員請教我,有沒有推薦的律師。因為他跟朋友合資,用加密貨幣USDT付房租,結果USDT大跌,房東認為他詐欺,所以請律師給他寄了存證信函,讓他相當緊張。 談這件事情,先讓我們瞭解一下什麼是USDT。 📍[泰達幣] USDT中文名稱是泰達幣,根據發行公司Tethe
Thumbnail
avatar
狐狸姊姊
2020-02-03