Homestead
- Pemasangan & Persediaan
- Langkah 1
- Konfigurasi Homestead
- Sediakan penyedia
- Fail hos
- Pasang MongoDB
- Pasang Elasticsearch
- Pasang Neo4j
- alias
- tersedia secara global Homestead
- Mac/Linux
- Windows
- Sandaran pangkalan data
- Tambah Tapak tambahan
- Pembolehubah persekitaran
- Mengkonfigurasi jadual berjadual
- memikirkan Minio
- port
- Kongsi persekitaran anda
- Berbilang versi PHP
- Pelayan web
- Extended Homestead
- Kemas kini Homestead
- Pengenalan
- Pemasangan dan Persediaan
- Homestead tersedia secara global
- Sambung ke pangkalan data melalui SSH
- Sandaran pangkalan data
- Tambah tapak lain
- Pembolehubah persekitaran
- Konfigurasikan penjadual Cron
- Konfigurasikan Minio
- port
- kongsi anda Persekitaran
- Berbilang versi PHP
- Pelayan Web
- Antara Muka Web Expand
- Tetapan Khas dikemas kini untuk penyedia Homestead
- Neo4j (Pilihan)MongoDB (Pilihan) Elasticsearch (Pilihan)ngrokwp-cliZend Z-Ray GoMinio
- Pemasangan &Pemasangan
- Langkah 1
- Istimewa tetapan yang disediakan
Laravel Homestead
Pengenalan
Laravel komited untuk menjadikan keseluruhan pengalaman pembangunan PHP lebih menyeronokkan, termasuk persekitaran pembangunan tempatan anda. Vagrant menyediakan cara yang mudah dan elegan untuk mengurus dan mengkonfigurasi hos maya.
Laravel Homestead ialah kotak Vagrant pra-pakej rasmi, yang memberikan anda persekitaran pembangunan yang sempurna Anda tidak perlu memasang PHP, pelayan web dan perisian pelayan lain pada mesin tempatan anda. Anda tidak perlu risau tentang mengacaukan sistem pengendalian anda lagi! Kotak vagrant boleh guna. Jika berlaku masalah, anda boleh memusnahkan dan mencipta semula kotak dalam beberapa minit
Homestead boleh dijalankan pada mana-mana sistem Windows, Mac atau Linux, ia termasuk pelayan web Nginx, PHP 7.3, PHP 7.2, PHP 7.1, MySQL, PostgreSQL , Redis , Memcached, Node dan segala-galanya yang anda perlukan untuk membangunkan dengan Laravel.
{note} Jika anda menggunakan Windows, anda mungkin perlu mendayakan virtualisasi perkakasan (VT-x) melalui BIOS. Jika anda menggunakan UEFI pada sistem Hyper-V, anda juga mungkin perlu melumpuhkan Hyper-V untuk mengakses VT-x
PHP 7.2
MySQL
- . (Pilihan)Sqlite3PostgreSQLKomposerNod (Dengan Benang, Bower, Dengusan dan Gulp)Redis MemcachedMemcached
Untuk menggunakan penyedia VMware, anda perlu membeli pemalam VMware Fusion/Workstation dan VMware Vagrant Walaupun ia tidak percuma, VMware boleh memberikan prestasi folder kongsi yang lebih pantas. Untuk menggunakan pembekal Parallels, anda perlu memasang pemalam Parallels Vagrant. Ia percuma.
Pasang Homestead Vagrant BoxSetelah VirtualBox / VMware dan Vagrant dipasang, anda boleh melaksanakan arahan berikut dalam terminal untuk menambah kotak
ke Vagrant untuk pemasangan. Anda mungkin mengambil masa beberapa minit untuk memuat turun kotak kerana ia bergantung pada kelajuan sambungan internet anda:vagrant box add laravel/homestead
Memasang Homestead
Anda boleh memasang Homestead dengan mengklon kod. Adalah disyorkan untuk mengklonkan kod ke dalam folder Homestead
dalam direktori "home" anda, supaya kotak Homestead boleh berfungsi sebagai hos untuk semua projek Laravel anda: Homestead
文件夹中, 这样 Homestead box 就可以作为你的所有 Laravel 项目的主机:
git clone https://github.com/laravel/homestead.git ~/Homestead
因为 Homestead 的 master 分支并不是稳定的,你应该使用打过标签的稳定版本。你可以在 GitHub 发行页: 上找到最新的稳定版本:
cd ~/Homestead// 克隆期望的发行版本...git checkout v8.0.1
一旦克隆 Homestead 代码完成以后,在 Homestead 目录中使用 bash init.sh
命令来创建 Homestead.yaml
配置文件。 Homestead.yaml
文件将被放在 Homestead 目录中:
// Mac / Linux...bash init.sh// Windows...init.bat
配置 Homestead
设置提供器
Homestead.yaml
文件中的 provider
参数决定了你用的是哪一个 Vagrant 提供器 : virtualbox
, vmware_fusion
, vmware_workstation
, parallels
以及 hyperv
。 你可以根据你的喜好来设置他们:
provider: virtualbox
配置共享文件夹
Homestead.yaml 文件的 folders 属性里列出了所有与 Homestead 环境共享的文件夹。 这些文件夹中的文件如果发生变更,它们会保持本地机器与 Homestead 环境之间同步。 你可以根据需要配置多个共享文件夹:
folders: - map: ~/code to: /home/vagrant/code
如果你只创建几个网站,这种通用的映射将运行的很好。但是,随着网站数量的不断增加,你可能会开始遇到性能问题。在包含大量文件的低性能机器或项目中,这个问题会非常明显。如果遇到此问题,请尝试将每个项目映射到自己的 Vagrant 文件夹:
folders: - map: ~/code/project1 to: /home/vagrant/code/project1 - map: ~/code/project2 to: /home/vagrant/code/project2
若要开启 NFS, 你只需要在共享的文件夹配置中添加一个简单的标志:
folders: - map: ~/code to: /home/vagrant/code type: "nfs"
{note} 当使用 NFS 时,你最好使用 vagrant-winnfsd 扩展插件。 这个插件会替你处理 Homestead box 中的文件或目录权限的问题。
你也可以通过在 options
folders: - map: ~/code to: /home/vagrant/code type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"]Sebab cawangan induk Homestead tidak stabil Ya, anda harus menggunakan keluaran stabil berteg. Anda boleh menemui versi stabil terkini pada halaman keluaran GitHub::
sites: - map: homestead.test to: /home/vagrant/code/my-project/public
bash init.sh
untuk mencipta fail konfigurasi Homestead.yaml
. Fail Homestead.yaml
akan diletakkan dalam direktori Homestead: 192.168.10.10 homestead.test🎜🎜🎜
Konfigurasikan Homestead
vmware_fusion
, vmware_workstation
, parallels
dan hyperv
. Anda boleh menyediakannya mengikut keutamaan anda:🎜http://homestead.test
composer require laravel/homestead --dev🎜 Pemetaan generik ini akan berfungsi dengan baik jika anda hanya membuat beberapa tapak web. Walau bagaimanapun, apabila bilangan tapak terus meningkat, anda mungkin mula mengalami masalah prestasi. Masalah ini boleh menjadi sangat ketara pada mesin atau projek berprestasi rendah dengan sejumlah besar fail. Jika anda menghadapi masalah ini, cuba petakan setiap projek ke folder Vagrantnya sendiri: 🎜
php vendor/bin/homestead make🎜 Untuk mendayakan NFS🎜, anda hanya perlu menambah bendera ringkas pada konfigurasi folder kongsi: 🎜
vendor\bin\homestead make
🎜{note} Apabila menggunakan NFS, lebih baik anda menggunakan vagrant-winnfsd🎜. Pemalam ini akan mengendalikan isu kebenaran fail atau direktori dalam kotak Homestead untuk anda. 🎜🎜Anda juga boleh menyenaraikan mana-mana pilihan yang disokong oleh Vagrant's 🎜Folder Dikongsi🎜 dengan menyenaraikannya dalam
box: laravel/homestead ip: "192.168.10.10"memory: 2048cpus: 4provider: virtualbox mariadb: true🎜🎜
Mengkonfigurasi tapak Nginx
Tidak biasa dengan Nginx? Tidak mengapa. Ciri tapak
membolehkan anda memetakan "nama domain" dengan mudah ke folder di Homestead. Contoh konfigurasi tapak yang mudah disertakan dalam fail Homestead.yaml
. Begitu juga, anda boleh menambah seberapa banyak tapak pada persekitaran Homestead anda yang anda perlukan. Homestead boleh menyediakan persekitaran virtualisasi yang mudah untuk setiap projek Laravel yang anda sedang bangunkan: sites
功能可以让你在 Homestead 上轻松的映射一个 "域名" 到一个文件夹。在 Homestead.yaml
文件中包含了一个简单的站点配置示例。同样,您可以根据需要为您的 Homestead 环境添加很多的站点。Homestead 可以为你正在开发的每个 Laravel 项目提供一个方便的虚拟化环境:
mongodb: true
如果你在配置 Homestead 虚拟机后更改了 sites
选项,你需要再次运行 vagrant reload --provision
命令去更新虚拟机上的 Nginx 配置.
Hosts 文件
你必须将 Nginx 站点中所添加的域名添加到你本机的 hosts
文件中。 hosts
文件会将把访问你 Homestead 站点的请求重定向到你的 Homestead 虚拟机上。在 Mac 和 Linux 中,该文件的地址在 /etc/hosts
,在 Windows 中位于 C:WindowsSystem32driversetchosts
。添加新站点的格式如下所示:
box: laravel/homestead ip: "192.168.10.10"memory: 4096cpus: 4provider: virtualbox elasticsearch: 6
确保监听的 IP 地址是你在 Homestead.yaml
文件中所设置的。一旦你将将域名添加到 hosts
文件中并启动 Vagrant Box 后,你就可以通过浏览器访问该站点了:
neo4j: true
启动 Vagrant Box
根据你的需求编辑完成 Homestead.yaml
,在你的 Homestead 文件夹中运行 vagrant up
命令。Vagrant 将启动虚拟机并自动配置你的共享文件夹和 Nginx 站点。
若要删除虚拟机,只需要运行 vagrant destroy --force
alias c='clear'alias ..='cd ..'Jika anda menukar pilihan
sites
selepas mengkonfigurasi mesin maya Homestead, anda perlu menjalankan vagrant again reload -- perintah peruntukan
untuk mengemas kini konfigurasi Nginx pada mesin maya.host
setempat anda. Fail hos
akan mengubah hala permintaan ke tapak Homestead anda ke mesin maya Homestead anda. Fail ini terletak di /etc/hosts
pada Mac dan Linux, dan C:WindowsSystem32driversthosts
pada Windows. Format untuk menambah tapak baharu adalah seperti berikut: function homestead() { ( cd ~/Homestead && vagrant $* ) }🎜 Pastikan alamat IP pendengaran adalah yang anda tetapkan dalam fail
Homestead.yaml
. Setelah anda menambahkan nama domain anda pada fail hos
anda dan melancarkan Vagrant Box, anda boleh mengakses tapak melalui penyemak imbas anda: 🎜@echo off set cwd=%cd% set homesteadVagrant=C:\Homestead cd /d %homesteadVagrant% && vagrant %* cd /d %cwd% set cwd= set homesteadVagrant=🎜 🎜🎜
Mulakan Vagrant Box
🎜Edit dan lengkapkanHomestead.yaml
mengikut keperluan anda, dalam Larian anda perintah vagrant up
dalam folder Homestead. Vagrant akan memulakan mesin maya dan mengkonfigurasi folder kongsi anda dan tapak Nginx secara automatik. 🎜🎜Untuk memadamkan mesin maya, jalankan sahaja perintah vagrant destroy --force
. 🎜🎜🎜🎜🎜🎜🎜Pasang setiap projek
Selain memasang Homestead secara global dan berkongsi kotak Homestead yang sama merentas semua projek, anda boleh mengkonfigurasi tika Homestead setiap projek. Dengan mencipta Vagrantfile
di bawah projek, ahli projek lain boleh mempunyai persekitaran pembangunan yang sama dengan hanya menjalankan vagrant up
. Vagrantfile
,其他的项目成员只需运行 vagrant up
就能拥有相同的开发环境。
要将 Homestead 直接安装到项目中,需要使用 Composer 命令:
backup: true
Homestead 安装之后, 使用 make
命令在项目根目录中生成 Vagrantfile
和 Homestead.yaml
文件。 make
命令会自动配置 Homestead.yaml
文件中 sites
和 folders
指令。
Mac / Linux:
sites: - map: homestead.test to: /home/vagrant/code/my-project/public - map: another.test to: /home/vagrant/code/another/public
Windows:
192.168.10.10 homestead.test 192.168.10.10 another.test
接下来,在命令行中运行 vagrant up
命令,然后在浏览器中访问 http://homestead.test
。 记住,在访问之前你仍然需要在 /etc/hosts
文件中添加你的 homestead.test
记录或者其他的域名。
安装 MariaDB
如果你喜欢使用 MariaDB 而不是 MySQL, 你可以在 Homestead.yaml
文件中增加一个 mariadb
的选项。这个选项会删除 MySQL 并安装 MariaDB。 MariaDB 只是作为 MySQL 的旁支替代品,因此你还是可以在应用的数据库配置中使用 mysql
数据库驱动:
sites: - map: symfony2.test to: /home/vagrant/code/my-symfony-project/web type: "symfony2"
安装 MongoDB
如果你需要安装 MongoDB 社区版, 你可以在 Homestead.yaml
文件中将配置修改为:
sites: - map: homestead.test to: /home/vagrant/code/my-project/public params: - key: FOO value: BAR
MongoDB 默认的安装方式会把数据库的用户名设置为 homestead
,默认密码为 secret
。
安装 Elasticsearch
如果你要安装 Elasticsearch,你可以在 Homestead.yaml
文件中添加 elasticsearch
Mac/Linux:variables: - key: APP_ENV value: local - key: FOO value: barSelepas Homestead dipasang, gunakan perintah
make
untuk menjanaVagrantfile
danFail Homestead.yaml
. Perintahmake
secara automatik mengkonfigurasi arahansites
danfolder
dalam failHomestead.yaml
.
sites: - map: homestead.test to: /home/vagrant/code/my-project/public schedule: trueWindows:
MAIL_DRIVER=smtp MAIL_HOST=localhost MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=nullSeterusnya, jalankan perintah
vagrant up
daripada baris arahan, kemudian lawati http://homestead.test< dalam penyemak imbas anda / kod> . Ingat, anda masih perlu menambah rekod homestead.test
anda atau nama domain lain dalam fail /etc/hosts
sebelum mengaksesnya. 🎜🎜🎜🎜Memasang MariaDB🎜🎜Jika anda lebih suka menggunakan MariaDB dan bukannya MySQL, anda boleh melakukannya dalam Tambahkan pilihan mariadb
pada fail Homestead.yaml
. Pilihan ini akan mengalih keluar MySQL dan memasang MariaDB. MariaDB hanyalah pengganti sampingan untuk MySQL, jadi anda masih boleh menggunakan pemacu pangkalan data mysql
dalam konfigurasi pangkalan data aplikasi anda: 🎜minio: true
🎜🎜🎜🎜🎜Pasang MongoDB🎜🎜Jika anda perlu memasang Edisi Komuniti MongoDB, anda boleh mengubah suai konfigurasi dalam fail Homestead.yaml
kepada: 🎜's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'endpoint' => env('AWS_URL'),
'use_path_style_endpoint' => true
]
🎜MongoDB lalai Kaedah pemasangan akan menetapkan nama pengguna pangkalan data kepada homestead
dan kata laluan lalai kepada rahsia
. 🎜🎜🎜🎜🎜🎜Pasang Elasticsearch🎜🎜Jika anda ingin memasang Elasticsearch, anda boleh melakukannya dalam Homestead.yaml
Tambahkan pilihan elasticsearch
pada fail dan nyatakan nombor versi yang disokong. Ia boleh mengandungi hanya versi utama, atau ia boleh menjadi nombor versi tertentu (major.minor.patch). Pemasangan lalai mencipta kluster bernama 'homestead'. Ambil perhatian bahawa anda tidak boleh memberikan Elasticsearch lebih daripada separuh daripada memori sistem pengendalian, jadi pastikan Homestead anda diperuntukkan sekurang-kurangnya dua kali ganda memori Elasticsearch: 🎜AWS_ACCESS_KEY_ID=homestead
AWS_SECRET_ACCESS_KEY=secretkey
AWS_DEFAULT_REGION=us-east-1
AWS_URL=http://homestead:9600
🎜🎜{tip} Anda boleh menyemak dokumentasi Elasticsearch untuk mengetahui cara menyesuaikan konfigurasi anda. 🎜🎜🎜🎜🎜🎜🎜🎜Pasang Neo4j
Neo4j ialah sistem pengurusan pangkalan data graf. Untuk memasang Edisi Komuniti Neo4j, anda perlu mengemas kini item konfigurasi Homestead.yaml
seperti berikut: Homestead.yaml
配置项如下:
buckets:
- name: your-bucket
policy: public
- name: your-private-bucket
policy: none
默认安装的 Neo4j 会将数据库用户名设置为 homestead
,对应的密码设置为 secret
。 要查看 Neo4j 可以在浏览器中访问 http://homestead.test:7474
。 Neo4j 对外提供了三个端口: 7687
(Bolt)、 7474
(HTTP)、 7473
(HTTPS) 用于从客户端访问。
别名
你可以通过编辑 Homestead 目录下的 aliases
文件为 Homestead 虚拟机添加 Bash 别名:
ports:
- send: 50000
to: 5000
- send: 7777
to: 777
protocol: udp
更新完 aliases
文件后, 你应该使用 vagrant reload --provision
命令重启 Homestead 虚拟机, 以确保新的别名在机器上可用。
日常使用
全局可用的 Homestead
有时你可能想在文件系统的任意路径都能运行 vagrant up
命令启动 Homestead 虚拟机。在 Mac / Linux 系统上可以在 Bash 配置文件( ~/.bash_profile
)中添加 Bash 函数 。在 Windows 上, 你可以添加「批处理」文件到 PATH
。这些脚本允许你在系统的任何位置运行 Vagrant 命令并自动将该命令指向 Homestead 的安装路径:
Mac / Linux
share homestead.test
确保将该函数中的 ~/Homestead
路径调整为实际的 Homestead 安装路径。这样你就可以在系统的任意位置运行 homestead up
或 homestead ssh
等命令。
Windows
在系统的任意位置创建一个批处理文件 homestead.bat
,内容如下:
share homestead.test -region=eu -subdomain=laravel
一定要将脚本中 C:Homestead
路径调整为 Homestead 的实际安装路径。创建文件后,将文件路径添加到 PATH
。然后你就可以在系统任意位置运行 homestead up
或 homestead ssh
等命令。
通过 SSH 连接
你可以通过在 Homestead 目录下运行 vagrant ssh
sites:
- map: homestead.test
to: /home/vagrant/code/my-project/public
php: "7.1"
Pemasangan lalai Neo4j akan menetapkan nama pengguna pangkalan data kepada homestead
dan kata laluan yang sepadan dengan rahsia
. Untuk melihat Neo4j anda boleh melawati http://homestead.test:7474
dalam penyemak imbas anda. Neo4j menyediakan tiga port luaran: 7687
(Bolt), 7474
(HTTP), 7473
(HTTPS) untuk akses daripada klien. AliasAnda boleh mengedit fail alias
dalam direktori Homestead sebagai Tambahkan alias Bash pada mesin maya Homestead: 🎜php7.1 artisan list
php7.2 artisan list
php7.3 artisan list
🎜Selepas mengemas kini fail alias
, anda harus menggunakan perintah vagrant reload --provision
untuk memulakan semula mesin maya Homestead untuk memastikan bahawa alias baharu tersedia pada mesin. 🎜🎜🎜🎜🎜Penggunaan harian
🎜🎜🎜🎜🎜Homestead tersedia secara global🎜🎜Kadangkala anda mungkin mahu menjalankan perintah vagrant up
di mana-mana laluan dalam sistem fail Mulakan mesin maya Homestead. Fungsi Bash boleh ditambah pada profil Bash ( ~/.bash_profile
) pada sistem Mac/Linux. Pada Windows, anda boleh menambah fail "batch" pada PATH
. Skrip ini membolehkan anda menjalankan perintah Vagrant dari mana-mana sahaja pada sistem anda dan secara automatik menghalakan arahan itu ke laluan pemasangan Homestead: 🎜🎜Mac / Linux h4> flip
🎜Pastikan anda melaraskan laluan ~/Homestead
dalam fungsi ini kepada laluan pemasangan Homestead sebenar. Ini membolehkan anda menjalankan arahan seperti homestead up
atau homestead ssh
dari mana-mana sahaja pada sistem. 🎜🎜Windows
🎜Buat fail kelompok homestead.bat
di mana-mana dalam sistem dengan kandungan berikut: 🎜 networks:
- type: "private_network"
ip: "192.168.10.20"
🎜Pastikan anda melaraskan laluan C:Homestead
dalam skrip kepada laluan pemasangan sebenar Homestead. Selepas mencipta fail, tambahkan laluan fail pada PATH
. Anda kemudiannya boleh menjalankan arahan seperti homestead up
atau homestead ssh
di mana-mana sahaja pada sistem. 🎜🎜🎜🎜🎜🎜Sambung melalui SSH🎜🎜Anda boleh melakukan ini dengan menjalankan gelandangan dalam Direktori Homestead ssh
Perintah terminal untuk menyambung ke mesin maya melalui SSH. 🎜🎜Walau bagaimanapun, anda mungkin perlu menyambung ke mesin maya Homestead dengan kerap, jadi sila pertimbangkan untuk menambah "fungsi" di atas pada hos untuk SSH dengan cepat ke mesin maya Homestead. 🎜🎜🎜🎜🎜🎜🎜Sambung ke pangkalan data
homestead telah dikonfigurasikan untuk pangkalan data MySQL dan PostgreSQL dalam mesin maya secara lalai. Untuk kemudahan, fail .env
dalam Laravel mengkonfigurasi rangka kerja untuk menggunakan pangkalan data ini secara lalai. homestead
默认已经在虚拟机中为 MySQL 和 PostgreSQL 数据库做好了配置。为了方便起见, Laravel 中的 .env
文件将框架配置成默认使用此数据库。
要从主机的数据库客户端连接到 MySQL 或 PostgreSQL ,应该连接到 127.0.0.1
,端口 33060
(MySQL) 或 54320
(PostgreSQL)。用户名和密码分别是 homestead
/ secret
。
{note} 只有从本地连接 Hoemstead 的数据库时才能使用这些非标准的端口。而 Laravel 在虚拟机中 运行时还是应该使用默认的 3306 和 5432 端口进行数据库连接。
数据库备份
当你的 Vagrant 盒子销毁时,Homestead 能自动备份你的数据库。为了利用这个功能,你必须使用 Vagrant 2.1.0 或者更高的版本。或者,如果你使用一个旧版本的 Vagrant,你必须安装 vagrant-triggers
插件。为了开启自动数据库备份,添加如下的行到你的 Homestead.yaml
文件:
networks:
- type: "public_network"
ip: "192.168.10.20"
bridge: "en1: Wi-Fi (AirPort)"
一旦配置了,当 vagrant destroy
命令被执行时,Homestead 将导出你的数据库到 mysql_backup
和 postgres_backup
目录。如果你使用 每个项目安装 方法,则可以在克隆的 Homestead 或者在你的项目根目录中找到这些目录。
添加额外的站点
一旦你的 Homestead 环境已配置并运行,你可以为你的 Laravel 应用添加额外的 Nginx 站点。你可能希望在单个 Homestead 环境运行多个 Laravel 安装。要添加额外的站点,到 Homestead.yaml
文件中添加站点:
networks:
- type: "public_network"
bridge: "en1: Wi-Fi (AirPort)"
如果 Vagrant 不能自动管理你的『hosts』文件,你可能还需要添加新的站点到该文件中:
sudo apt-get -y \
-o Dpkg::Options::="--force-confdef" \
-o Dpkg::Options::="--force-confold" \
install your-package
一旦这个站点被添加,从你的 Homestead 目录运行 vagrant reload --provision
命令。
站点类型
Homestead 支持多种类型的站点,允许你轻松运行不是基于 Laravel 的项目。例如,我们可以使用 symfony2
站点类型轻松地添加一个 Symfony 应用到 Homestead:
vagrant box update
可用的站点类型是:apache
,apigility
,expressive
,laravel
(默认),proxy
,silverstripe
,statamic
,symfony2
,symfony4
,和 zf
Untuk menyambung ke MySQL atau PostgreSQL daripada klien pangkalan data hos, anda harus menyambung ke 127.0.0.1
, port 33060
(MySQL) atau 54320
(PostgreSQL). Nama pengguna dan kata laluan masing-masing adalah homestead
/ rahsia
. {note} Port bukan standard ini hanya boleh digunakan apabila menyambung ke pangkalan data Hoemstead secara setempat. Apabila Laravel berjalan dalam mesin maya, anda masih harus menggunakan port 3306 dan 5432 lalai untuk sambungan pangkalan data.
🎜🎜Sandaran pangkalan data🎜🎜Apabila kotak Vagrant anda dimusnahkan, Homestead boleh Kembali secara automatik naik pangkalan data anda. Untuk memanfaatkan ciri ini, anda mesti menggunakan Vagrant 2.1.0 atau lebih tinggi. Sebagai alternatif, jika anda menggunakan versi Vagrant yang lebih lama, anda mesti memasang pemalam vagrant-triggers
. Untuk mendayakan sandaran pangkalan data automatik, tambahkan baris berikut pada fail Homestead.yaml
anda: 🎜git fetchgit checkout v8.0.1
🎜Setelah dikonfigurasikan, Homestead akan mengeksport apabila perintah vagrant destroy
dilaksanakan pangkalan data anda ke direktori mysql_backup
dan postgres_backup
. Jika anda menggunakan kaedah pemasangan setiap projek, anda boleh menemui direktori ini dalam Homestead yang diklon atau dalam akar projek anda. 🎜🎜🎜🎜🎜🎜Menambah tapak tambahan 🎜🎜Setelah persekitaran Homestead anda dikonfigurasikan dan berjalan, anda mungkin untuk menambah tapak Nginx tambahan pada aplikasi Laravel anda. Anda mungkin mahu menjalankan berbilang pemasangan Laravel dalam satu persekitaran Homestead. Untuk menambah tapak tambahan, tambah tapak pada fail Homestead.yaml
: 🎜composer update
🎜 Jika Vagrant tidak dapat mengurus fail "hos" anda secara automatik, anda juga mungkin perlu menambah tapak baharu pada fail: 🎜vagrant destroy
vagrant up
🎜 Setelah tapak ditambahkan, jalankan perintah vagrant reload --provision
daripada direktori Homestead anda. 🎜🎜🎜🎜🎜site-types
🎜Homestead menyokong berbilang jenis tapak, membolehkan anda Jalankan projek yang tidak berdasarkan Laravel dengan mudah. Sebagai contoh, kita boleh dengan mudah menambah aplikasi Symfony ke Homestead menggunakan jenis tapak symfony2
: 🎜provider: virtualbox
natdnshostresolver: off
🎜Jenis tapak yang tersedia ialah: apache
, apigility
, ekspresif, laravel
(lalai), proxy
, silverstripe
, statamic
, < code>symfony2, symfony4
dan zf
. 🎜🎜🎜🎜🎜🎜🎜Parameter Tapak
Anda boleh menambah nilai fastcgi_param
Nginx ke tapak anda melalui arahan tapak params
. Sebagai contoh, kami menambah parameter Foo
dengan nilai BAR
: params
站点指令添加额外的 Nginx fastcgi_param
值到你的站点。例如,我们添加一个值为 BAR
的 Foo
参数:
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
环境变量
你能通过添加如下的值到 Homestead.yaml
文件来设置全局环境变量:
rrreee更新 Homestead.yaml
文件之后,确保通过运行 vagrant reload --provision
命令重新配置机器。这个将更新所有安装 的 PHP 版本的 PHP-FPM 配置并为 vagrant
用户更新环境。
配置定时计划
Laravel 提供了一种 计划定时作业 的方式,通过安排单个 schedule:run
Artisan 命令去每分钟运行。schedule:run
命令将检查在你在 AppConsoleKernel
类中定义的计划来决定运行哪个作业。
如果你想为一个 Homestead 站点的 schedule:run
命令运行起来,在定义站点时,你可以设置 schedule
选项为 true
:
rrreee站点的 Cron 作业将被定义在虚拟机的 /etc/cron.d
目录中。
Configuring Mailhog
Mailhog 允许你轻松地捕获外发的电子邮件并进行检查它,而实际上没有将发送邮件给收件人。开始使用时,使用以下的邮件设置更新你的 .env
文件:
rrreee一旦 Mailhog 被配置,你可以在 http://localhost:8025
rrreee
Pembolehubah Persekitaran
Anda boleh menetapkan pembolehubah persekitaran global dengan menambahkan nilai berikut pada fail Homestead.yaml
: rrreeeKemas kini Fail Homestead .yaml
, pastikan anda mengkonfigurasi semula mesin dengan menjalankan perintah vagrant reload --provision
. Ini akan mengemas kini konfigurasi PHP-FPM untuk semua versi PHP yang dipasang dan mengemas kini persekitaran untuk pengguna gelandangan
. 🎜🎜🎜🎜🎜Mengkonfigurasi jadual berjadual
🎜Laravel menyediakan jadual berjadual Jobs are dijadualkan untuk dijalankan setiap minit dengan menjadualkan satu perintah schedule:run
Artisan. Perintah schedule:run
akan menyemak jadual yang anda tetapkan dalam kelas AppConsoleKernel
untuk menentukan kerja yang hendak dijalankan. 🎜🎜Jika anda ingin menjalankan perintah schedule:run
untuk tapak Homestead, anda boleh menetapkan pilihan schedule
kepada true
apabila menentukan tapak :🎜rrreee🎜Tugas Cron tapak akan ditakrifkan dalam direktori /etc/cron.d
mesin maya. 🎜🎜🎜🎜🎜Mengkonfigurasi Mailhog
🎜Mailhog membolehkan anda menangkap mesej e-mel keluar dengan mudah dan menyemaknya tanpa benar-benar menghantar mesej kepada penerima. Untuk bermula, kemas kini fail .env
anda dengan tetapan mel berikut: 🎜rrreee🎜Setelah Mailhog dikonfigurasikan, anda boleh mengaksesnya di http://localhost:8025
Mailhog panel kawalan. 🎜🎜🎜🎜🎜🎜🎜Mengkonfigurasi Minio
Minio ialah pelayan storan objek sumber terbuka dengan API yang serasi dengan Amazon S3. Untuk memasang Minio, kemas kini fail Homestead.yaml
anda dengan pilihan konfigurasi berikut: Homestead.yaml
文件:
rrreee默认情况下,Minio 在端口 9600
上是可用的。你可以访问 Minio 控制面板通过访问 http://homestead:9600
。默认访问的键名是 homestead
,同时默认的密钥是 secretkey
。当访问 Minio 时,你应当总是使用 us-east-1
。
为了使用 Minio,你将需要在你的 config/filesystems.php
配置文件中调整 S3 磁盘配置。你将需要添加 use_path_style_endpoint
选项到磁盘配置,并将 url
键更改为 endpoint
:
rrreee最后,确保你的 .env
文件有如下的选项:
rrreee为了配置存储桶,在 Homestead 配置文件中添加一个 buckets
指令:
rrreee支持的 policy
值包括:none
,download
,upload
和 public
rrreee
Secara lalai, Minio tersedia pada port 9600
. Anda boleh mengakses panel kawalan Minio dengan melawati http://homestead:9600
. Kunci akses lalai ialah homestead
dan kunci rahsia lalai ialah secretkey
. Apabila mengakses Minio, anda hendaklah sentiasa menggunakan us-east-1
. Akhir sekali, pastikan anda < code> Fail .env mempunyai pilihan berikut: rrreeeUntuk mengkonfigurasi baldi, tambahkan arahan baldi
pada fail konfigurasi Homestead: rrreee
Disokong dasar Nilai termasuk: tiada, muat turun
, muat naik
dan awam
. - PortsSecara lalai, port berikut akan dimajukan ke persekitaran Homestead anda:
- SSH
: 2222 -> 4040 - > ; Maju ke 4040- HTTP
: 8000 -> - PostgreSQL
:54320 - >Majukan ke 5432- MongoDB
: 27017 -> Maju ke 9600 - Maju port tambahan Jika anda mahu, anda boleh memajukan port tambahan ke kotak Vagrant dan juga menyatakan protokolnya:
rrreee
Kongsi persekitaran anda
Kadangkala anda ingin berkongsi kandungan kerja semasa anda dengan rakan sekerja atau pelanggan. Vagrant mempunyai cara terbina dalam untuk menyokong ini melalui perkongsian gelandangan
walau bagaimanapun, ini tidak akan berfungsi jika terdapat berbilang konfigurasi tapak dalam fail Homestead.yaml
. vagrant share
去支持这个;然而,如果在 Homestead.yaml
文件中有多个站点配置,这个将不会工作。
为了解决这个问题,Homestead 包含它自己的 share
命令。开始时,SSH 通过 vagrant ssh
进入你的 Homestead 机器并运行 share homestead.test
。这个将从你的 Homestead.yaml
配置文件中分享 homestead.test
站点。当然,你可以将任何其它配置的站点替换为 homestead.test
:
rrreee运行此命令之后,你将看到一个 Ngrok 屏幕出现,其中包含了活动日志和共享站点的可访问的 URLs。如果你想指定一个自定义的区域,子域,或者其它 Ngrok 运行时选项,你可以添加他们到你的 share
命令:
rrreee{note} 记住,Vagrant 本质上是不安全的,并且在运行 share
命令时将虚拟机显露到互联网。
多版本 PHP
Homestead 6 在同一个虚拟机上引入了对多个 PHP 版本的支持。你可以在你的 Homestead.yaml
文件中指定要用于给定站点的 PHP 版本。可用的 PHP 版本是:『7.1』,『7.2』和『7.3』(默认):
rrreee另外,你可以通过 CLI 使用任何支持的 PHP 版本:
rrreeeWeb 服务器
默认情况下,Homestead 使用 Nginx web 服务器。然而,如果 apache
是指定的一个站点类型,它能安装 Apache。同时两个 web 服务器在同时被安装,他们不能同时运行。flip
脚本命令可用来轻松处理 web 服务器之间的切换。flip
命令自动确定正在运行的 web 服务器,将其关闭。然后启动其它服务器。要使用这个命令,SSH 进入到你的 Homestead 机器并在终端运行命令:
rrreee邮件
Homestead 包括 Postfix 邮件传输代理,默认监听 1025
端口。因此,你可以指示你的应用程序在 localhost
端口 1025
上使用 smtp
邮件驱动。所有发送的邮件将由 Postfix 处理并由 Mailhog 捕获。要查看已发送的邮件,在 web 浏览器中打开 http://localhost:8025
Untuk menyelesaikan masalah ini, Homestead menyertakan perintah share
nya sendiri. Untuk bermula, SSH ke dalam mesin Homestead anda melalui vagrant ssh
dan jalankan share homestead.test
. Ini akan berkongsi tapak homestead.test
daripada fail konfigurasi Homestead.yaml
anda. Sudah tentu, anda boleh menggantikan mana-mana tapak lain yang dikonfigurasikan dengan homestead.test
: {note} Ingat, Vagrant Ia sememangnya tidak selamat dan mendedahkan mesin maya kepada Internet apabila menjalankan perintah share
. 🎜🎜🎜🎜Berbilang versi PHP🎜🎜Homestead 6 pada mesin maya yang sama Memperkenalkan sokongan untuk berbilang versi PHP. Anda boleh menentukan versi PHP untuk digunakan bagi tapak tertentu dalam fail Homestead.yaml
anda. Versi PHP yang tersedia ialah: 『7.1』, 『7.2』 dan 『7.3』 (lalai): 🎜rrreee🎜Selain itu, anda boleh menggunakan mana-mana versi PHP yang disokong melalui CLI: 🎜rrreee🎜 🎜🎜🎜🎜Web Server🎜🎜Secara lalai, Homestead menggunakan pelayan web Nginx. Walau bagaimanapun, jika apache
ditentukan sebagai jenis tapak, ia boleh memasang Apache. Walaupun dua pelayan web dipasang pada masa yang sama, mereka tidak boleh berjalan pada masa yang sama. Perintah skrip flip
boleh digunakan untuk mengendalikan penukaran antara pelayan web dengan mudah. Perintah flip
secara automatik menentukan pelayan web yang sedang berjalan dan mematikannya. Kemudian mulakan pelayan lain. Untuk menggunakan arahan ini, SSH ke dalam mesin Homestead anda dan jalankan arahan dalam terminal: 🎜rrreee🎜🎜🎜🎜🎜mail🎜 🎜Homestead termasuk ejen pemindahan mel Postfix, yang mendengar pada port 1025
secara lalai. Oleh itu, anda boleh mengarahkan aplikasi anda untuk menggunakan pemacu mel smtp
pada port localhost
1025
. Semua e-mel yang dihantar akan diproses oleh Postfix dan ditangkap oleh Mailhog. Untuk melihat mesej yang dihantar, buka http://localhost:8025
dalam penyemak imbas web. 🎜🎜🎜🎜🎜🎜🎜Antara muka rangkaian
Sifat networks
dalam Homestead.yaml
mengkonfigurasi antara muka rangkaian untuk persekitaran Homestead. Anda boleh mengkonfigurasi berbilang antara muka seperti yang diperlukan: Homestead.yaml
中的 networks
属性为 Homestead 环境配置网络接口。你可以根据需要配置多个接口:
rrreee要开启一个 桥接 接口,配置 bridge
设置并改变 public_network
网络类型:
rrreee要开启 DHCP,仅从你的配置中移除 ip
选项:
rrreee扩展 Homestead
你能在 Homestead 根目录下使用 after.sh
脚本扩展 Homestead。在这个文件中,你可以添加正确配置和自定义虚拟机所需的任何 shell 命令。
当自定义 Homestead 时,Ubuntu 可能会询问你是否要保留程序包的原始配置或者用一个新的配置文件覆盖它。为了避免这种情况,你应该在安装软件包时使用以下的命令,以避免覆盖之前由 Homestead 编写的任何配置:
rrreee更新 Homestead
你能通过一些简单的步骤更新 Homestead。首先,你应当使用 vagrant box update
命令更新 Vagrant 盒子:
rrreee接下来,你需要去更新 Homestead 源代码。如果你克隆过仓库,你能在最初克隆仓库的位置运行如下的命令:
rrreee这些命令从 GitHub 仓库拉取最新的 Homestead 代码,获取最新的标记,然后检出最新的标记版本。你能在 GitHub 版本页面 找到最新稳定的版本。
如果你通过你的项目的 composer.json
安装 Homestead,你应当确保你的 composer.json
包含 "laravel/homestead": "^8"
并更新你的依赖项:
rrreee最后,你将需要销毁和重新生成你的 Homestead 盒子去利用最新的 Vagrant 安装。为了实现这个,在你的 Homestead 目录运行如下的命令:
rrreee提供特殊设置
VirtualBox
natdnshostresolver
默认情况下,Homestead 将 natdnshostresolver
配置设置为 on
。这允许 Homestead 去使用你的主机操作系统的 DNS 设置。如果你不想覆盖这个行为,添加如下的行到你的 Homestead.yaml
rrreee
Untuk mendayakan antara muka jambatan, konfigurasikan jambatan
Sediakan dan tukar jenis rangkaian public_network
: rrreeeUntuk mendayakan DHCP < /a>, cuma alih keluar pilihan ip
daripada konfigurasi anda: 🎜rrreee🎜🎜🎜🎜Memperluas Homestead🎜🎜Anda boleh menggunakan skrip after.sh
dalam direktori root Homestead untuk melanjutkan Homestead. Dalam fail ini, anda boleh menambah sebarang arahan shell yang diperlukan untuk mengkonfigurasi dan menyesuaikan mesin maya dengan betul. 🎜🎜Apabila menyesuaikan Homestead, Ubuntu mungkin bertanya kepada anda sama ada anda mahu mengekalkan konfigurasi asal pakej atau menulis ganti dengan fail konfigurasi baharu. Untuk mengelakkan perkara ini, anda harus menggunakan arahan berikut semasa memasang pakej untuk mengelak daripada menulis ganti sebarang konfigurasi yang sebelum ini ditulis oleh Homestead: 🎜rrreee🎜🎜🎜🎜Mengemas kini Homestead🎜🎜Anda boleh mengemas kini Homestead dengan mengikuti beberapa langkah mudah. Mula-mula, anda harus mengemas kini kotak Vagrant menggunakan perintah vagrant box update
: 🎜rrreee🎜Seterusnya, anda perlu mengemas kini kod sumber Homestead. Jika anda telah mengklonkan repositori, anda boleh menjalankan arahan berikut dari lokasi asal anda mengklonkan repositori: 🎜rrreee🎜 Arahan ini menarik kod Homestead terkini daripada repositori GitHub, dapatkan teg terkini, dan kemudian semak teg terkini versi. Anda boleh menemui keluaran stabil terkini di halaman keluaran GitHub. 🎜🎜Jika anda memasang Homestead melalui composer.json
projek anda, anda harus memastikan bahawa composer.json
anda mengandungi "laravel/homestead": "^8 "< /code> dan kemas kini kebergantungan anda: 🎜rrreee🎜Akhir sekali, anda perlu memusnahkan dan membina semula kotak Homestead anda untuk memanfaatkan pemasangan Vagrant terkini. Untuk melakukan ini, jalankan arahan berikut dalam direktori Homestead anda: 🎜rrreee🎜🎜🎜 🎜 Sediakan tetapan khas🎜🎜🎜🎜VirtualBox
🎜natdnshostresolver
🎜Secara lalai, Homestead menetapkan konfigurasi natdnshostresolver
kepada on kod>. Ini membolehkan Homestead menggunakan tetapan DNS sistem pengendalian hos anda. Jika anda tidak mahu mengatasi tingkah laku ini, tambahkan baris berikut pada fail Homestead.yaml
anda: 🎜rrreee🎜🎜Pautan Simbolik pada Windows
Jika pautan simbolik tidak berfungsi dengan betul pada mesin Windows anda, anda mungkin perlu menambah blok berikut pada fail Vagrantfile
:
rrreeeArtikel ini mula-mula muncul di tapak web LearnKu.com.
Laman web PHP Cina