亚洲一二区制服无码中字,国产无套露脸在线观看,中文字幕丝袜人妻制服丝袜在线,国内精品自线在拍2020不卡,香蕉影院在线观看

您的位置:首頁 > wordpress

Mac/Windows 系統(tǒng)中使用 Laradock 搭建基于 Docker 的 Laravel 開發(fā)環(huán)境
wordpress 2024-04-20編輯:重慶網(wǎng)站建設(shè) WordPress 搭建 環(huán)境

簡介

Laradock 是為 Docker 提供的完整 PHP 本地開發(fā)環(huán)境,和 Homestead 一樣提供了一系列打包好(包括配置)的 Docker Image。Laradock 早期專注為 Laravel 打造 Docker 開發(fā)環(huán)境,因而最早在 Laravel 社區(qū)中出名,后來隨著影響力的擴大,逐漸被 PHP 社區(qū)接納和采用,目前支持的 PHP 項目除了 Laravel 之外,還有 Symfony、CodeIgniter、WordPress、Drupal 等等。

Docker 掃盲

在學(xué)習(xí)和使用 Laradock 之前,我們有必要先學(xué)習(xí)和了解 Docker,而在使用 Docker 之前,又有必要搞清楚下面兩個問題:

Docker 是什么

Docker 基于 Go 語言開發(fā),是一個基于 LXC 技術(shù)之上構(gòu)建的 Container 容器引擎。容器是一種以固定格式打包軟件的方式,以便讓軟件可以在共享的操作系統(tǒng)中運行,不同于虛擬機,容器并不需要捆綁這個操作系統(tǒng),只需要軟件正常工作所必須的庫和設(shè)置即可,這使得容器更加高效、輕量級、可以自成系統(tǒng)并且不管部署在什么地方都可以保證運行結(jié)果一致。

Docker提供了一種在安全、可重復(fù)的環(huán)境中自動部署軟件的方式,它的出現(xiàn)拉開了基于云計算平臺發(fā)布產(chǎn)品方式的變革序幕。開發(fā)者使用 Docker 可以解決當(dāng)需要和同事共享代碼時"只能在我的機器工作"的問題;操作者使用 Docker 可以在關(guān)聯(lián)容器中邊運行邊管理以便獲取更好的計算密度;企業(yè)使用 Docker 可以用來構(gòu)建敏捷的軟件分發(fā)管道以便可以更快處理新特性。

為什么要使用 Docker

Docker 的出現(xiàn)就是為了解決以下問題:

  • 環(huán)境管理復(fù)雜: 從各種 OS 到各種中間件再到各種 App,一款產(chǎn)品能夠成功發(fā)布,作為開發(fā)者需要關(guān)心的東西太多,且難于管理,這個問題在軟件行業(yè)中普遍存在并需要直接面對。Docker 可以簡化部署多種應(yīng)用實例工作,比如Web應(yīng)用、后臺應(yīng)用、數(shù)據(jù)庫應(yīng)用、大數(shù)據(jù)應(yīng)用比如 Hadoop 集群、消息隊列等等都可以打包成一個 Image 部署。
  • 云計算時代的到來: AWS 的成功, 引導(dǎo)開發(fā)者將應(yīng)用轉(zhuǎn)移到云上, 解決了硬件管理的問題,然而軟件配置和管理相關(guān)的問題依然存在。Docker 的出現(xiàn)正好能幫助軟件開發(fā)者開闊思路,嘗試新的軟件管理方法來解決這個問題。
  • 虛擬化手段的變化: 云時代采用標(biāo)配硬件來降低成本,采用虛擬化手段來滿足用戶按需分配的資源需求以及保證可用性和隔離性。然而無論是 KVM 還是 Xen,在 Docker 看來都在浪費資源,因為用戶需要的是高效運行環(huán)境而非 OS, GuestOS 既浪費資源又難于管理, 更加輕量級的 LXC 更加靈活和快速。
  • LXC的便攜性: LXC在 Linux 2.6 的 Kernel 里就已經(jīng)存在了,但是其設(shè)計之初并非為云計算考慮的,缺少標(biāo)準(zhǔn)化的描述手段和容器的可便攜性,決定其構(gòu)建出的環(huán)境難于分發(fā)和標(biāo)準(zhǔn)化管理。Docker就在這個問題上做出了實質(zhì)性的創(chuàng)新方法。

Docker 通常用于如下場景:

  • Web 應(yīng)用的自動化打包和發(fā)布;
  • 自動化測試和持續(xù)集成、發(fā)布;
  • 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應(yīng)用;
  • 從頭編譯或者擴展現(xiàn)有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS 環(huán)境。

本教程不將那么多高大上的東西了,我們專注于通過 Docker 構(gòu)建一個可移植的本地開發(fā)環(huán)境。

Docker 安裝使用

首先我們需要在系統(tǒng)安裝 Docker 的免費社區(qū)版,官方提供 Windows、Mac 及 Linux 等版本下載:下載地址。下載操作系統(tǒng)對應(yīng)版本后,按照引導(dǎo)流程安裝,最后打開 Docker 應(yīng)用,即可在命令行檢查是否安裝成功:

Mac

Windows

注:Windows 系統(tǒng)下使用 Docker 需啟用 Hyper-V 組件(推薦在原生系統(tǒng)中使用,Windows 10 專業(yè)版默認(rèn)已啟用,另外,Windows 10 家庭版不支持 Docker for Windows 桌面版),如果是在 VMware 或 Parallels 虛擬機中使用 Windows,需要在設(shè)置里面啟用嵌套的虛擬化支持(設(shè)置->處理器和內(nèi)存->高級選項->啟用虛擬化管理程序),如果虛擬機不支持此配置或 Hyper-V,可以嘗試額外安裝 Docker ToolBox 來支持使用 Docker(詳情參考官方文檔)。我這里的環(huán)境就是 Mac + VMware Fusion + Windows 10(虛擬機)。

配置鏡像加速器

在本地操作系統(tǒng)安裝好 Docker 后,需要為 Docker Hub 鏡像倉庫配置鏡像加速器以加速國內(nèi) Docker 鏡像下載速度,比如阿里云提供的鏡像加速器,Mac 系統(tǒng)點擊任務(wù)欄 Docker 圖標(biāo)選擇 Preferences->Docker Engine,Windows 系統(tǒng)通過 Settings->Docker Engine 即可進入鏡像加速器配置界面(下圖是 Windows 示例,Mac 與之類似,只是入口為 Preferences 而已,阿里云 Docker 鏡像加速器獲取參考這篇教程:https://yq.aliyun.com/articles/29941):

然后點擊「Sign In」菜單通過 Docker ID/密碼登錄到 Docker Hub(注意是 Docker ID,非注冊郵箱),以免鏡像拉取過程中有認(rèn)證問題。

快速上手

深入了解 Laradock 之前讓我們先見識下如何在 Laradock 中快速安裝 Nginx、PHP、Composer、MySQL、Redis 吧,有了這些開發(fā) Laravel 必備的工具組件也就差不離了。

1、首先將 Laradock 項目代碼克隆到本地:











1















2、進入?laradock?目錄將?env-example?重命名為?.env











1















然后在?.env?中修改鏡像構(gòu)建過程中 Linux 軟件源為國內(nèi)鏡像以免鏡像構(gòu)建過程中出現(xiàn)網(wǎng)絡(luò)超時問題:











1





2





3





4















3、構(gòu)建鏡像 & 啟動容器:











1















nginx?鏡像構(gòu)建在?php-fpm?之上,php-fpm?構(gòu)建在?workspace?之上,所以啟動 nginx 會先啟動?workspace?和?php-fpm。

如果指定端口已經(jīng)被占用,運行上述命令會報錯,關(guān)閉相應(yīng)的服務(wù)再重新運行上述命令即可。

如果在 Windows 系統(tǒng)中上述指令構(gòu)建鏡像過程中報錯:











1















可參考這個 issue 解決:https://github.com/laradock/laradock/issues/2450。

4、打開 Laravel 項目的?.env?文件并添加如下配置:











1





2





3















5、要測試配置訪問域名指向 Docker 環(huán)境目錄,我們先在?laradock?父級目錄下創(chuàng)建一個與?laradock?同級的?wwwroot?目錄,然后在?wwwroot?目錄下運行?composer create-project laravel/laravel blog --prefer-dist?命令創(chuàng)建一個新的 Laravel 應(yīng)用,相應(yīng)的層級目錄關(guān)系如下所示:

然后我們需要到?laradock?下編輯?.env?中的?APP_CODE_PATH_HOST?配置項:











1















這樣就相當(dāng)于為?wwwroot?與 Docker 的?/var/www?目錄建立了軟鏈接,然后我們在?laradock/nginx/sites?目錄下新增一個?blog.conf?配置,設(shè)置虛擬域名為?blog.test











1





2





3





4





5





6





7





8





9





10





11





12





13





14





15





16





17





18





19





20





21





22





23





24





25





26





27





28





29





30





31





32





33





34















接下來需要在?/etc/hosts?(Windows 下對應(yīng)文件路徑是?C:WindowsSystem32driversetchosts)文件中新增如下這行配置:











1















最后,需要重啟 Docker 的 Nginx:











1





2















這樣,我們就可以在瀏覽器中通過?http://blog.test?訪問這個應(yīng)用了:

以上就是 Laradock 的簡單上手指南。這里我們設(shè)置的場景是新建一個應(yīng)用,如果是多個應(yīng)用的話要怎么辦呢?也很簡單,就是在上述?wwwroot?目錄下創(chuàng)建多個應(yīng)用目錄,然后在?laradock/nginx/sites?下對應(yīng)創(chuàng)建多個配置文件,最后不要忘記在系統(tǒng)?/etc/hosts?中配置相關(guān)域名綁定 IP 即可。

注:更多使用細(xì)節(jié)請參考官方文檔:http://laradock.io/documentation/

功能特性

最后,我們來捋一下 Laradock 的功能特性:

  • 可輕松在不同版本 PHP 之間切換: 7.2、7.1、5.6 等
  • 自由選擇數(shù)據(jù)庫: MySQL、Postgres、MariaDB 等
  • 運行自己的軟件: Memcached、HHVM、Beanstalkd 等
  • 每個軟件都運行在隔離的容器中: PHP-FPM、NGINX、PHP-CLI 等
  • 輕松自定義容器,只需編輯?Dockerfile?文件即可
  • 所有的鏡像都擴展自官方的鏡像
  • 預(yù)配置的 NGINX
  • 可以在每個項目中使用 Laradock, 也可以讓所有項目共享一個 Laradock
  • 使用環(huán)境變量在容器中輕松安裝/卸載軟件
  • 干凈、結(jié)構(gòu)良好的?Dockerfile
  • 最新版本的?docker-compose?文件
  • 一切均可見、可編輯
  • 快速構(gòu)建鏡像

除此之外,目前為止,Laradock 支持的軟件包括但不限于:

  • 數(shù)據(jù)庫引擎: MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres-PostGIS.
  • 數(shù)據(jù)庫管理工具: PhpMyAdmin - Adminer - PgAdmin
  • 緩存工具: Redis - Memcached - Aerospike
  • Web 服務(wù)器: NGINX - Apache2 - Caddy
  • PHP 編譯器: PHP-FPM - HHVM
  • 消息隊列: Beanstalkd - RabbitMQ - PHP Worker
  • 隊列管理器: Beanstalkd Console - RabbitMQ Console
  • 大國重器: HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - Minio - Varnish - Swoole - Laravel Echo 等
  • Laradock 還引入了 Workspace 鏡像作為開發(fā)環(huán)境,里面包含了豐富且實用的工具集:PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush 等

Docker 還是 Vagrant

最后,我們繞不開的話題是作為開發(fā)環(huán)境,選擇 Docker(Laradock) 還是 Vagrant(Homestead),Mac 系統(tǒng)上官方還提供了 Valet,嘗鮮的話、做Demo或者快速學(xué)習(xí)為目的當(dāng)然 Valet 還是不二之選,因為它最小巧、最輕量級,上手最快,天下武功,唯快不破。

至于 Laradock 還是 Homestead,就是見仁見智了,Laradock 相對 Homestead 而言更加輕量級,因為正如前面所言,Homestead 是 VM 級別的虛擬化解決方案,依賴一個完整的操作系統(tǒng),雖然功能很全,但是很重,而 Laradock 是容器,只依賴那些它必需的軟件,更加靈活,更加高效。

還有一點需要提及的是 Docker 可以用于本地也可以用于線上,所謂 same environment everywhere,而 Vagrant 部署的開發(fā)環(huán)境只能用于本地,這一點也可以作為重要考量因素。

服務(wù)范圍:WordPress搭建、WordPress主題開發(fā)、WordPress二次開發(fā)、WordPress插件開發(fā)
其它服務(wù):網(wǎng)站建設(shè)、企業(yè)郵箱、數(shù)字證書ssl、400電話、
技術(shù)標(biāo)簽:企業(yè)網(wǎng)站、外貿(mào)網(wǎng)站、外貿(mào)商城、其它問題
聯(lián)系方式:電話:18696588163 微信同號

企業(yè)網(wǎng)站定制

企業(yè)網(wǎng)站定制 根據(jù)企業(yè)需求,量身定制設(shè)計

企業(yè)網(wǎng)站定制:2800元起
添加微信 請說明來意
聯(lián)系我們
站內(nèi)搜索 MORE+

24小時服務(wù)熱線 18696588163
創(chuàng)意化數(shù)字品牌整合網(wǎng)絡(luò)營銷
營銷網(wǎng)站讓你坐等商機坐傭客戶,Rss

版權(quán)所有:重慶安菲科技有限公司

版權(quán)所有:重慶安菲科技有限公司
友情連接link: