用 15 分鐘快速打造 Laravel 開發環境
原文來自:『用 15 分鐘快速打造 Laravel 開發環境』
相信大家對 Laravel 都很熟悉,但是初學者或是新進同事要快速入門 Laravel 最大的門檻就是該如何在短時間內在本機電腦快速安裝好公司專案。這時候使用 Laradock 就是一個最佳時機,透過 Docker 容器話,快速切換 PHP 版本,或者是安裝額外的服務像是 MySQL, MariaDB, phpMyAdmin 或 nginx 等服務,讓本機端不受到自訂安裝套件的困擾,用完隨時關閉,完全不會影響到電腦環境。底下我會介紹使用 Laradock 該注意的事情。完整詳細的操作步驟可以直接看 Youtube 影片。
教學影片
https://www.youtube.com/watch?v=IXwppHYpvu...
同步放在 Udemy 平台上面,有興趣的可以直接參考底下:
前置處理
先來定義 laradock 該如何跟既有或者是全新專案結合,底下提供一種目錄結構
├── laradock
└── www
其實蠻好懂的,先建立空目錄,www 代表專案的程式碼,而 laradock 就是本機端開發環境。你也可以直接將 laradock 放進 www 內也可以。
編輯 laradock/.env (從 env-example 複製)
修改
APP_CODE_PATH_HOST=../www
專案架構調整為:
├── laradock
└── www
如果機器本身已經有 nginx, apache 或 traefik,請將 nginx container port 修改為:
NGINX_HOST_HTTP_PORT=8000
NGINX_HOST_HTTPS_PORT=4430
下載專案原始碼
如果已經有 Source Code 了請忽略此步驟,如果是全新的專案,請先進入 workspace
容器:
docker-compose exec workspace bash
進去後預設會在 /var/www
目錄底下,接著下載 laravel 官方原始碼
composer create-project laravel/laravel --prefer-dist .
完成後請離開 container,就可以看到在 www
底下有完整的 laravel 代碼,避免跟主機 Host 衝突。接著啟動專案 (nginx + mariadb)
docker-compose up -d nginx mariadb
設定 nginx 檔案
先假設網域名稱為 laravel.test
,先複製 config
cp -r nginx/sites/laravel.conf.example nginx/sites/laravel.test.conf
修改 nginx/sites/laravel.test.conf
# 將底下
root /var/www/laravel/public
# 改成
root /var/www/public
這邊我有發個 PR 到 Laradock,最後新增 laravel.test 到 /etc/hosts
檔案
修改目錄權限
由於 php-fpm 容器運行的 www-data 的使用者,所以您必須在 Host 設定相對應的 uid 及 gid,先進入 php-fpm
來取得 www-data 個人資訊:
$ docker-compose exec php-fpm id www-data
uid=1000(www-data) gid=1000(www-data) groups=1000(www-data)
設定權限
chown -R 1000:1000 www/storage/
編輯 laradock/docker-compose.yml
Docker 預設使用 172.21.x 開頭的 IP,可以修改 docker-compose.yml 來調整網路設定:
networks:
frontend:
driver: ${NETWORKS_DRIVER}
ipam:
driver: default
config:
- subnet: 192.168.100.0/24
backend:
driver: ${NETWORKS_DRIVER}
ipam:
driver: default
config:
- subnet: 192.168.101.0/24
default:
driver: ${NETWORKS_DRIVER}
ipam:
driver: default
config:
- subnet: 192.168.110.0/24
本作品采用《CC 协议》,转载必须注明作者和本文链接
高认可度评论:
@wade 的回复已经被警告处理,请见 https://learnku.com/reports/2551
社区里有好多台湾兄弟,他们使用繁体这是常识啊,大家讲究点。
@appleboy 是台湾开源界的大拿(请见 https://github.com/appleboy ,开源软件 gorush 作者,go gin 核心开发团队成员)。五年前就加入本社区,后来跑去弄 Go 了,就很少出现。最近很开心看他又活跃,别把人家吓跑了 :joy:。
简繁体?????
能友好一点吗, 上来就一局什么毛病
都是华夏儿女。 :grin:
使用laradock 在mac环境下搭建开发环境之后,chrome访问本地开发地址和的时候特别慢,卡在dns解析那边。请问楼主知道怎么解决吗?
对于大陆人,或者对于繁体接触少,又或者根本没接触繁体的来说,看着就跟部分字不认识,需要猜的感觉,确实影响阅读体验。不知道常用繁体的人,看简体是不是也一样。
@wade 的回复已经被警告处理,请见 https://learnku.com/reports/2551
社区里有好多台湾兄弟,他们使用繁体这是常识啊,大家讲究点。
@appleboy 是台湾开源界的大拿(请见 https://github.com/appleboy ,开源软件 gorush 作者,go gin 核心开发团队成员)。五年前就加入本社区,后来跑去弄 Go 了,就很少出现。最近很开心看他又活跃,别把人家吓跑了 :joy:。
在使用 Laradock 作为开发环境时,无法连接需要通过 OpenV.P.N, Tunnelblick 之类的网络代理才可以访问远程的服务器(数据库),😁请问这种问题有什么解决方案(方向)?
动不动就人身攻击的程序员,不是一个像样的技术人。
讲真 乖乖去看 Laradock 的官方文档吧