用 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, apachetraefik,請將 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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11
Summer

@wade 的回复已经被警告处理,请见 https://learnku.com/reports/2551

社区里有好多台湾兄弟,他们使用繁体这是常识啊,大家讲究点。

@appleboy 是台湾开源界的大拿(请见 https://github.com/appleboy ,开源软件 gorush 作者,go gin 核心开发团队成员)。五年前就加入本社区,后来跑去弄 Go 了,就很少出现。最近很开心看他又活跃,别把人家吓跑了 :joy:。

4年前 评论
appleboy

简繁体?????

4年前 评论

能友好一点吗, 上来就一局什么毛病

4年前 评论
CrazyZard 4年前
appleboy (楼主) 4年前

都是华夏儿女。 :grin:

4年前 评论
appleboy (楼主) 4年前
drinke9

使用laradock 在mac环境下搭建开发环境之后,chrome访问本地开发地址和的时候特别慢,卡在dns解析那边。请问楼主知道怎么解决吗?

4年前 评论
drinke9 (作者) 4年前
appleboy (楼主) 4年前
appleboy (楼主) 4年前

对于大陆人,或者对于繁体接触少,又或者根本没接触繁体的来说,看着就跟部分字不认识,需要猜的感觉,确实影响阅读体验。不知道常用繁体的人,看简体是不是也一样。

4年前 评论
appleboy (楼主) 4年前
Summer

@wade 的回复已经被警告处理,请见 https://learnku.com/reports/2551

社区里有好多台湾兄弟,他们使用繁体这是常识啊,大家讲究点。

@appleboy 是台湾开源界的大拿(请见 https://github.com/appleboy ,开源软件 gorush 作者,go gin 核心开发团队成员)。五年前就加入本社区,后来跑去弄 Go 了,就很少出现。最近很开心看他又活跃,别把人家吓跑了 :joy:。

4年前 评论

在使用 Laradock 作为开发环境时,无法连接需要通过 OpenV.P.N, Tunnelblick 之类的网络代理才可以访问远程的服务器(数据库),😁请问这种问题有什么解决方案(方向)?

4年前 评论

动不动就人身攻击的程序员,不是一个像样的技术人。

4年前 评论

讲真 乖乖去看 Laradock 的官方文档吧

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!