주택
software intallation homestead homestead homestead
- 공급자 설정
- 공유 폴더 구성
- Vagrant Box 시작
- 설치 프로젝트에
- Elasticsearch 설치
- alias 설치
- 일상 사용
- 대신
- Mac/Linux
- Windows
- SSH를 통해 연결
- 데이터베이스에 연결
- 데이터베이스 백업
- 사이트 추가
- 환경 변수
- 예약 일정 구성
- Mailhog 구성
- Minio 구성
- port
- 환경 공유
- 다양한 버전의 PHP
- 웹 서버
- 네트워크 인터페이스
- Update Homestead
- 특별 설정 제공
Laravel Homestead
소개
Laravel은 로컬 개발 환경을 포함하여 전체 PHP 개발 경험을 더욱 즐겁게 만들기 위해 최선을 다하고 있습니다. Vagrant는 가상 호스트를 관리하고 구성하는 간단하고 우아한 방법을 제공합니다.
Laravel Homestead는 완벽한 개발 환경을 제공하는 공식 사전 패키지 Vagrant 박스입니다. 로컬 컴퓨터에 PHP, 웹 서버 및 기타 서버 소프트웨어를 설치할 필요가 없습니다. 운영 체제를 다시 엉망으로 만드는 것에 대해 걱정할 필요가 없습니다! 방랑자 상자는 일회용입니다. 문제가 발생하면 몇 분 안에 상자를 파괴하고 다시 만들 수 있습니다!
Homestead는 Nginx 웹 서버, PHP 7.3, PHP 7.2, PHP 7.1, MySQL, PostgreSQL, Redis를 포함하여 모든 Windows, Mac 또는 Linux 시스템에서 실행할 수 있습니다. , Memcached, Node 및 Laravel을 사용하여 개발하는 데 필요한 모든 것입니다.
{note} Windows를 사용하는 경우 BIOS를 통해 하드웨어 가상화(VT-x)를 활성화해야 할 수도 있습니다. Hyper-V 시스템에서 UEFI를 사용하는 경우 VT-x에 액세스하려면 Hyper-V를 비활성화해야 할 수도 있습니다.
PHP 7.2Apache(선택 사항)MySQL
MariaDB (선택 사항)- Sqlite3
- PostgreSQL
- Composer
- 노드(Yarn, Bower, Grunt 및 Gulp 포함)
- Redis
- Memcached
- Beanstalkd
- Mailhog
- Neo4j (선택)
- MongoDB (선택)
- Elasticsearch(선택 사항)
- ngrok
- wp-cli
- Zend Z-Ray
- Go
- Minio
- 설치 및 설정
- 1단계
VMware 공급자를 사용하려면 VMware Fusion/Workstation 및 VMware Vagrant 플러그인을 구입해야 합니다. 무료는 아니지만 VMware에서는 더 빠른 공유 폴더 성능을 제공할 수 있습니다. Parallels 공급자를 사용하려면 Parallels Vagrant 플러그인을 설치해야 합니다. 그것은 무료입니다.
Vagrant 제한으로 인해 Hyper-V 공급자는 모든 네트워크 설정을 무시합니다.Homestead Vagrant Box 설치VirtualBox/VMware 및 Vagrant가 설치되면 터미널에서 다음 명령을 실행하여
box를 Vagrant에 추가하여 설치할 수 있습니다. 인터넷 연결 속도에 따라 상자를 다운로드하는 데 몇 분 정도 걸릴 수 있습니다.이 명령이 실패하면 최신 버전의 Vagrant가 설치되어 있는지 확인하세요.vagrant box add laravel/homestead
홈스테드 설치
코드를 복제하여 홈스테드를 설치할 수 있습니다. Homestead 상자가 모든 Laravel 프로젝트의 호스트 역할을 할 수 있도록 "home" 디렉토리의
Homestead
폴더에 코드를 복제하는 것이 좋습니다.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"]
Homestead의 마스터 브랜치이기 때문입니다. 안정적이지 않습니다. 예, 태그가 지정된 안정 릴리스를 사용해야 합니다. GitHub 릴리스 페이지::sites: - map: homestead.test to: /home/vagrant/code/my-project/public
에서 최신 안정 버전을 찾을 수 있습니다. 홈스테드 코드 복제가 완료되면 홈스테드에서 사용하세요. 디렉토리bash init.sh
명령을 사용하여Homestead.yaml
구성 파일을 생성합니다.Homestead.yaml
파일은 홈스테드 디렉터리192.168.10.10 homestead.test
🎜🎜🎜에 배치됩니다. 🎜홈스테드 구성
🎜🎜Homestead.yaml 파일에서 공급자🎜🎜Provider
설정 code> 매개변수는 사용하는 Vagrant 공급자(virtualbox
,vmware_fusion
,vmware_workstation
,parallels
및))를 결정합니다. 하이퍼v
. 환경 설정에 따라 설정할 수 있습니다:🎜http://homestead.test
🎜🎜공유 폴더 구성🎜🎜Homestead.yaml 파일의 폴더 속성은 다음과 관련된 모든 폴더를 나열합니다. 농가 환경 공유 폴더. 이 폴더의 파일이 변경되면 로컬 시스템과 홈스테드 환경 간에 동기화가 유지됩니다. 필요한 만큼 많은 공유 폴더를 구성할 수 있습니다. 🎜composer require laravel/homestead --dev
🎜 이 일반 매핑은 웹사이트를 몇 개만 만드는 경우에도 잘 작동합니다. 그러나 사이트 수가 계속 증가함에 따라 성능 문제가 발생할 수 있습니다. 이 문제는 성능이 낮은 컴퓨터나 파일 수가 많은 프로젝트에서 매우 두드러질 수 있습니다. 이 문제가 발생하면 각 프로젝트를 자체 Vagrant 폴더에 매핑해 보세요. 🎜php vendor/bin/homestead make
🎜 NFS🎜를 활성화하려면, 공유 폴더 구성에 간단한 플래그를 추가하기만 하면 됩니다: 🎜vendor\bin\homestead make
🎜{note} NFS를 사용할 때는 vagrant-winnfsd🎜 확장 프로그램. 이 플러그인은 Homestead 상자의 파일 또는 디렉토리 권한 문제를 처리합니다. 🎜
🎜옵션
에서 Vagrant의 🎜공유 폴더🎜에서 지원하는 모든 옵션을 나열할 수도 있습니다:🎜box: laravel/homestead ip: "192.168.10.10"memory: 2048cpus: 4provider: virtualbox mariadb: true
🎜🎜Nginx 사이트 구성
Nginx에 익숙하지 않으신가요? 그것은 중요하지 않습니다.
사이트
기능을 사용하면 "도메인 이름"을 홈스테드의 폴더에 쉽게 매핑할 수 있습니다. 간단한 사이트 구성 예제가Homestead.yaml
파일에 포함되어 있습니다. 마찬가지로 홈스테드 환경에 필요한 만큼 많은 사이트를 추가할 수 있습니다. Homestead는 개발 중인 모든 Laravel 프로젝트에 편리한 가상화 환경을 제공할 수 있습니다: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 ..'
Homestead 가상 머신을 구성한 후sites
옵션을 변경하는 경우vagrant를 다시 reload -- 실행해야 합니다. Provision
명령을 사용하여 가상 머신의 Nginx 구성을 업데이트합니다.Hosts 파일Nginx 사이트에 도메인 이름을 추가해야 합니다. 추가 로컬hosts
파일에 추가하세요.hosts
파일은 홈스테드 사이트에 대한 요청을 홈스테드 가상 머신으로 리디렉션합니다. 이 파일은 Mac 및 Linux의 경우/etc/hosts
에 있고 Windows의 경우C:WindowsSystem32driversetchosts
에 있습니다. 새 사이트를 추가하는 형식은 다음과 같습니다.function homestead() { ( cd ~/Homestead && vagrant $* ) }
🎜 수신 IP 주소가Homestead.yaml
파일에 설정한 주소인지 확인하세요.hosts
파일에 도메인 이름을 추가하고 Vagrant Box를 실행하면 브라우저를 통해 사이트에 액세스할 수 있습니다: 🎜@echo off set cwd=%cd% set homesteadVagrant=C:\Homestead cd /d %homesteadVagrant% && vagrant %* cd /d %cwd% set cwd= set homesteadVagrant=
🎜 🎜🎜🎜Vagrant Box 시작
🎜Run에서 필요에 따라Homestead.yaml
을 편집하고 완료하세요. Homestead 폴더에 있는vagrant up
명령. Vagrant는 가상 머신을 시작하고 공유 폴더와 Nginx 사이트를 자동으로 구성합니다. 🎜🎜가상 머신을 삭제하려면vagrant destroy --force
명령을 실행하세요. 🎜🎜🎜🎜🎜🎜🎜프로젝트별로 설치
홈스테드를 전역적으로 설치하고 모든 프로젝트에서 동일한 홈스테드 상자를 공유하는 것 외에도 프로젝트별로 홈스테드 인스턴스를 구성할 수 있습니다. 프로젝트 아래에
Vagrantfile
을 생성하면, 다른 프로젝트 구성원도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를 프로젝트에 직접 설치하려면 Composer 명령을 사용해야 합니다.Homestead.yaml
文件中添加elasticsearch
Mac/Linux:variables: - key: APP_ENV value: local - key: FOO value: bar
Homestead가 설치된 후
make
명령을 사용하여Vagrantfile
및를 생성합니다. >Homestead.yaml
파일.make
명령은Homestead.yaml
파일의sites
및folders
지시문을 자동으로 구성합니다.sites: - map: homestead.test to: /home/vagrant/code/my-project/public schedule: true
Windows:MAIL_DRIVER=smtp MAIL_HOST=localhost MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null
다음으로 명령줄에서vagrant up
명령을 실행하고 브라우저에서http://homestead.test<를 방문하세요. 코드> . 액세스하기 전에
/etc/hosts
파일에homestead.test
레코드나 다른 도메인 이름을 추가해야 한다는 점을 기억하세요. 🎜🎜🎜🎜MariaDB 설치🎜🎜MySQL 대신 MariaDB를 사용하려는 경우 다음에서 수행할 수 있습니다.Homestead.yaml
파일에mariadb
옵션을 추가하세요. 이 옵션은 MySQL을 제거하고 MariaDB를 설치합니다. MariaDB는 MySQL의 측면 대체품이므로 애플리케이션의 데이터베이스 구성에서mysql
데이터베이스 드라이버를 계속 사용할 수 있습니다. 🎜minio: true
🎜🎜🎜🎜🎜MongoDB 설치🎜🎜MongoDB Community Edition을 설치해야 하는 경우Homestead.yaml
파일의 구성을 다음과 같이 수정할 수 있습니다. 🎜'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 default 설치 방법은 데이터베이스 사용자 이름을homestead
로 설정하고 기본 비밀번호를secret
으로 설정합니다. 🎜🎜🎜🎜🎜🎜Elasticsearch 설치🎜🎜Elasticsearch를 설치하고 싶다면에서 하면 됩니다 Homestead.yaml
elasticsearch
옵션을 파일에 추가하고 지원되는 버전 번호를 지정하세요. 주요 버전만 포함할 수도 있고 특정 버전 번호(major.minor.patch)를 포함할 수도 있습니다. 기본 설치에서는 'homestead'라는 클러스터가 생성됩니다. Elasticsearch에 운영 체제 메모리의 절반 이상을 할당하지 않도록 주의하십시오. 따라서 Homestead가 Elasticsearch 메모리의 최소 두 배 이상 할당되었는지 확인하십시오. 🎜AWS_ACCESS_KEY_ID=homestead AWS_SECRET_ACCESS_KEY=secretkey AWS_DEFAULT_REGION=us-east-1 AWS_URL=http://homestead:9600
🎜🎜{tip} Elasticsearch 문서를 확인하여 구성을 사용자 정의하는 방법을 알아볼 수 있습니다. . 🎜🎜🎜🎜🎜🎜🎜🎜Install Neo4j
Neo4j는 그래프 데이터베이스 관리 시스템입니다. Neo4j Community Edition을 설치하려면
Homestead.yaml
구성 항목을 다음과 같이 업데이트해야 합니다.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"
Neo4j의 기본 설치에서는 데이터베이스 사용자 이름을homestead
로 설정하고 해당 비밀번호를secret
에 추가하세요. Neo4j를 보려면 브라우저에서http://homestead.test:7474
를 방문하세요. Neo4j는 클라이언트 액세스를 위해7687
(Bolt),7474
(HTTP),7473
(HTTPS)의 세 가지 외부 포트를 제공합니다.AliasHomestead 디렉토리의aliases
파일을 다음과 같이 편집할 수 있습니다. Homestead 가상 머신에 Bash 별칭 추가: 🎜php7.1 artisan list php7.2 artisan list php7.3 artisan list
🎜aliases
파일을 업데이트한 후vagrant reload --provision
명령을 사용하여 Homestead 가상 머신을 다시 시작해야 합니다. 새 별칭을 시스템에서 사용할 수 있는지 확인합니다. 🎜🎜🎜🎜🎜일일 사용량
🎜🎜🎜🎜🎜전 세계적으로 사용 가능한 Homestead🎜🎜때때로 파일 시스템의 모든 경로에서vagrant up
명령을 실행하고 싶을 수도 있습니다. 홈스테드 가상 머신을 시작합니다. Mac/Linux 시스템의 Bash 프로필(~/.bash_profile
)에 Bash 기능을 추가할 수 있습니다. Windows에서는PATH
에 "배치" 파일을 추가할 수 있습니다. 이 스크립트를 사용하면 시스템의 어느 곳에서나 Vagrant 명령을 실행하고 해당 명령이 홈스테드 설치 경로를 자동으로 가리킬 수 있습니다: 🎜🎜Mac / Linux h4>
flip
🎜이 함수의~/Homestead
경로를 실제 홈스테드 설치 경로에 맞게 조정하세요. 이를 통해 시스템 어디에서나homestead up
또는homestead ssh
와 같은 명령을 실행할 수 있습니다. 🎜🎜Windows
🎜다음 내용이 포함된 배치 파일homestead.bat
을 시스템 어디에서나 생성하세요: 🎜networks: - type: "private_network" ip: "192.168.10.20"
🎜스크립트의C:Homestead
경로를 실제 홈스테드 설치 경로에 맞게 조정하세요. 파일을 생성한 후PATH
에 파일 경로를 추가합니다. 그런 다음 시스템 어디에서나homestead up
또는homestead ssh
와 같은 명령을 실행할 수 있습니다. 🎜🎜🎜🎜🎜🎜SSH를 통해 연결🎜🎜이 작업은vagrant에서 실행하여 수행할 수 있습니다. 홈스테드 디렉터리 ssh
SSH를 통해 가상 머신에 연결하는 터미널 명령입니다. 🎜🎜그러나 홈스테드 가상 머신에 자주 연결해야 할 수도 있으므로 홈스테드 가상 머신에 빠르게 SSH를 연결하려면 위의 "기능"을 호스트에 추가하는 것을 고려해 보십시오. 🎜🎜🎜🎜🎜🎜🎜데이터베이스에 연결
homestead
는 기본적으로 가상 머신의 MySQL 및 PostgreSQL 데이터베이스에 대해 구성되었습니다. 편의를 위해 Laravel의.env
파일은 기본적으로 이 데이터베이스를 사용하도록 프레임워크를 구성합니다.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
可用的站点类型是:
호스트의 데이터베이스 클라이언트에서 MySQL 또는 PostgreSQL에 연결하려면apache
,apigility
,expressive
,laravel
(默认),proxy
,silverstripe
,statamic
,symfony2
,symfony4
,和zf
127.0.0.1
, 포트33060
(MySQL) 또는54320
에 연결해야 합니다. (포스트그레SQL). 사용자 이름과 비밀번호는 각각homestead
/secret
입니다.{note} 이러한 비표준 포트는 Hoemstead의 데이터베이스에 로컬로 연결할 때만 사용할 수 있습니다. Laravel이 가상 머신에서 실행될 때 데이터베이스 연결을 위해 기본 3306 및 5432 포트를 계속 사용해야 합니다.
🎜🎜데이터베이스 백업🎜🎜Vagrant 상자가 파괴되면 Homestead는 자동으로 뒤로 돌아갈 수 있습니다 데이터베이스를 업그레이드하세요. 이 기능을 활용하려면 Vagrant 2.1.0 이상을 사용해야 합니다. 또는 이전 버전의 Vagrant를 사용하는 경우vagrant-triggers
플러그인을 설치해야 합니다. 자동 데이터베이스 백업을 활성화하려면Homestead.yaml
파일에 다음 줄을 추가하세요: 🎜git fetchgit checkout v8.0.1
🎜 일단 구성되면 Homestead는vagrant destroy
명령이 실행될 때 데이터베이스를 다음으로 내보냅니다.mysql_backup
및postgres_backup
디렉터리. 프로젝트별 설치 방법을 사용하는 경우 복제된 홈스테드 또는 프로젝트 루트에서 이러한 디렉터리를 찾을 수 있습니다. 🎜🎜🎜🎜🎜🎜추가 사이트 추가 🎜🎜Homestead 환경이 구성되고 실행되면 Laravel 애플리케이션에 추가 Nginx 사이트를 추가할 수 있습니다. 단일 Homestead 환경에서 여러 Laravel 설치를 실행하고 싶을 수도 있습니다. 추가 사이트를 추가하려면Homestead.yaml
파일에 사이트를 추가하세요: 🎜composer update
🎜 Vagrant가 "hosts" 파일을 자동으로 관리할 수 없는 경우 파일에 새 사이트를 추가해야 할 수도 있습니다: 🎜vagrant destroy vagrant up
🎜 사이트가 추가되면 Homestead 디렉토리에서vagrant reload --provision
명령을 실행하세요. 🎜🎜🎜🎜🎜site-types
🎜Homestead는 다양한 유형의 사이트를 지원하므로 Laravel을 기반으로 하지 않은 프로젝트를 쉽게 실행할 수 있습니다. 예를 들어symfony2
사이트 유형을 사용하여 Homestead에 Symfony 애플리케이션을 쉽게 추가할 수 있습니다. 🎜provider: virtualbox natdnshostresolver: off
🎜사용 가능한 사이트 유형은apache
,apigility
,표현형
,laravel
(기본값),프록시
,실버스트라이프
,정적
, < code>symfony2,symfony4
및zf
. 🎜🎜🎜🎜🎜🎜🎜사이트 매개변수
params
사이트 지시문을 통해 사이트에 추가 Nginxfastcgi_param
값을 추가할 수 있습니다. 예를 들어,BAR
값을 가진Foo
매개변수를 추가합니다:params
站点指令添加额外的 Nginxfastcgi_param
值到你的站点。例如,我们添加一个值为BAR
的Foo
参数:config.vm.provider "virtualbox" do |v| v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] end
环境变量
你能通过添加如下的值到
rrreeeHomestead.yaml
文件来设置全局环境变量:更新
Homestead.yaml
文件之后,确保通过运行vagrant reload --provision
命令重新配置机器。这个将更新所有安装 的 PHP 版本的 PHP-FPM 配置并为vagrant
用户更新环境。配置定时计划
Laravel 提供了一种 计划定时作业 的方式,通过安排单个
schedule:run
Artisan 命令去每分钟运行。schedule:run
命令将检查在你在AppConsoleKernel
类中定义的计划来决定运行哪个作业。如果你想为一个 Homestead 站点的
rrreeeschedule:run
命令运行起来,在定义站点时,你可以设置schedule
选项为true
:站点的 Cron 作业将被定义在虚拟机的
/etc/cron.d
目录中。Configuring Mailhog
Mailhog 允许你轻松地捕获外发的电子邮件并进行检查它,而实际上没有将发送邮件给收件人。开始使用时,使用以下的邮件设置更新你的
rrreee.env
文件:一旦 Mailhog 被配置,你可以在
http://localhost:8025
rrreee환경 변수
Homestead.yaml
파일에 다음 값을 추가하여 전역 환경 변수를 설정할 수 있습니다:rrreeeUpdateHomestead .yaml
파일을 삭제하려면vagrant reload --provision
명령을 실행하여 머신을 재구성해야 합니다. 그러면 설치된 모든 PHP 버전에 대한 PHP-FPM 구성이 업데이트되고vagrant
사용자를 위한 환경이 업데이트됩니다. 🎜🎜🎜🎜🎜예약 일정 구성
🎜Laravel은 예약된 일정을 제공합니다. 단일schedule:run
Artisan 명령을 예약하여 1분마다 실행되도록 예약되었습니다.schedule:run
명령은AppConsoleKernel
클래스에 정의된 일정을 확인하여 실행할 작업을 결정합니다. 🎜🎜홈스테드 사이트에 대해schedule:run
명령을 실행하려면 사이트 정의 시schedule
옵션을true
로 설정하면 됩니다. :🎜rrreee🎜사이트의 Cron 작업은 가상 머신의/etc/cron.d
디렉터리에 정의됩니다. 🎜🎜🎜🎜🎜Mailhog 구성
🎜Mailhog을 사용하면 보내는 이메일 메시지를 쉽게 캡처하고 실제로 수신자에게 메시지를 보내지 않고 확인합니다. 시작하려면 다음 메일 설정으로.env
파일을 업데이트하세요: 🎜rrreee🎜Mailhog가 구성되면http://localhost:8025
Mailhog에서 액세스할 수 있습니다. 제어판. 🎜🎜🎜🎜🎜🎜🎜Minio 구성
Minio는 Amazon S3와 호환되는 API를 갖춘 오픈 소스 객체 스토리지 서버입니다. Minio를 설치하려면 다음 구성 옵션으로
rrreeeHomestead.yaml
파일을 업데이트하세요.Homestead.yaml
文件:默认情况下,Minio 在端口
9600
上是可用的。你可以访问 Minio 控制面板通过访问http://homestead:9600
。默认访问的键名是homestead
,同时默认的密钥是secretkey
。当访问 Minio 时,你应当总是使用us-east-1
。为了使用 Minio,你将需要在你的
rrreeeconfig/filesystems.php
配置文件中调整 S3 磁盘配置。你将需要添加use_path_style_endpoint
选项到磁盘配置,并将url
键更改为endpoint
:最后,确保你的
rrreee.env
文件有如下的选项:为了配置存储桶,在 Homestead 配置文件中添加一个
rrreeebuckets
指令:支持的
기본적으로 Minio는 포트policy
值包括:none
,download
,upload
和public
rrreee9600
에서 사용할 수 있습니다.http://homestead:9600
을 방문하여 Minio 제어판에 액세스할 수 있습니다. 기본 액세스 키는homestead
이고, 기본 비밀 키는secretkey
입니다. Minio에 액세스할 때는 항상us-east-1
을 사용해야 합니다. 마지막으로 < code> .env 파일에는 다음과 같은 옵션이 있습니다:rrreee버킷을 구성하려면 Homestead 구성 파일에buckets
지시어를 추가하세요:rrreee
지원되는policy
값에는없음
,다운로드
,업로드
및공개
가 포함됩니다.- Ports기본적으로 다음 포트가 홈스테드 환경으로 전달됩니다:
- SSH : 2222 -> 22
- ngrok UI 로 전달: 4 040 - > 4040
- HTTP로 전달: 8000
- HTTPS로 전달: 44300 -> 443
- MySQL으로 전달: 33060
- PostgreSQL:54320 - > 5432
- MongoDB: 27017 -> 27017
Mailhog: 8025Minio
: 9600으로 전달 9600앞으로 추가 포트🎜 원하는 경우 추가 포트를 Vagrant 상자에 전달하고 해당 프로토콜을 지정할 수도 있습니다: 🎜rrreee🎜🎜🎜🎜🎜🎜환경 공유
때로는 현재 작업 내용을 동료나 고객과 공유하고 싶을 때가 있습니다. Vagrant에는
vagrant share
를 통해 이를 지원하는 내장 메소드가 있지만Homestead.yaml
파일에 여러 사이트 구성이 있는 경우에는 작동하지 않습니다.vagrant share
去支持这个;然而,如果在Homestead.yaml
文件中有多个站点配置,这个将不会工作。为了解决这个问题,Homestead 包含它自己的
rrreeeshare
命令。开始时,SSH 通过vagrant ssh
进入你的 Homestead 机器并运行share homestead.test
。这个将从你的Homestead.yaml
配置文件中分享homestead.test
站点。当然,你可以将任何其它配置的站点替换为homestead.test
:运行此命令之后,你将看到一个 Ngrok 屏幕出现,其中包含了活动日志和共享站点的可访问的 URLs。如果你想指定一个自定义的区域,子域,或者其它 Ngrok 运行时选项,你可以添加他们到你的
rrreeeshare
命令:{note} 记住,Vagrant 本质上是不安全的,并且在运行
share
命令时将虚拟机显露到互联网。多版本 PHP
Homestead 6 在同一个虚拟机上引入了对多个 PHP 版本的支持。你可以在你的
rrreeeHomestead.yaml
文件中指定要用于给定站点的 PHP 版本。可用的 PHP 版本是:『7.1』,『7.2』和『7.3』(默认):另外,你可以通过 CLI 使用任何支持的 PHP 版本:
rrreeeWeb 服务器
默认情况下,Homestead 使用 Nginx web 服务器。然而,如果
rrreeeapache
是指定的一个站点类型,它能安装 Apache。同时两个 web 服务器在同时被安装,他们不能同时运行。flip
脚本命令可用来轻松处理 web 服务器之间的切换。flip
命令自动确定正在运行的 web 服务器,将其关闭。然后启动其它服务器。要使用这个命令,SSH 进入到你的 Homestead 机器并在终端运行命令:邮件
Homestead 包括 Postfix 邮件传输代理,默认监听
이 문제를 해결하기 위해 Homestead에는 자체1025
端口。因此,你可以指示你的应用程序在localhost
端口1025
上使用smtp
邮件驱动。所有发送的邮件将由 Postfix 处理并由 Mailhog 捕获。要查看已发送的邮件,在 web 浏览器中打开http://localhost:8025
share
명령이 포함되어 있습니다. 시작하려면vagrant ssh
를 통해 Homestead 시스템에 SSH로 접속하고share homestead.test
를 실행하세요. 그러면Homestead.yaml
구성 파일에서homestead.test
사이트가 공유됩니다. 물론, 구성된 다른 사이트를homestead.test
로 바꿀 수 있습니다.{note} 기억하세요, Vagrant 본질적으로 안전하지 않으며
share
명령을 실행할 때 가상 머신을 인터넷에 노출합니다. 🎜🎜🎜🎜동일한 가상 머신에 여러 버전의 PHP🎜🎜Homestead 6 여러 PHP 버전에 대한 지원이 도입되었습니다.Homestead.yaml
파일에서 특정 사이트에 사용할 PHP 버전을 지정할 수 있습니다. 사용 가능한 PHP 버전은 『7.1』, 『7.2』 및 『7.3』(기본값): 🎜rrreee🎜또한 CLI를 통해 지원되는 모든 PHP 버전을 사용할 수 있습니다: 🎜rrreee🎜 🎜🎜🎜🎜웹 서버🎜🎜기본적으로 Homestead는 Nginx 웹 서버를 사용합니다. 단, 사이트 유형으로apache
를 지정하면 Apache를 설치할 수 있습니다. 두 개의 웹 서버가 동시에 설치되어 있지만 동시에 실행할 수는 없습니다.flip
스크립트 명령을 사용하면 웹 서버 간 전환을 쉽게 처리할 수 있습니다.flip
명령은 실행 중인 웹 서버를 자동으로 확인하고 종료합니다. 그런 다음 다른 서버를 시작하십시오. 이 명령을 사용하려면 홈스테드 시스템에 SSH로 접속하고 터미널에서 🎜rrreee🎜🎜🎜🎜🎜mail🎜 명령을 실행하세요. 🎜Homestead에는 기본적으로1025
포트에서 수신 대기하는 Postfix 메일 전송 에이전트가 포함되어 있습니다. 따라서 애플리케이션이localhost
포트1025
에서smtp
메일 드라이버를 사용하도록 지시할 수 있습니다. 전송된 모든 이메일은 Postfix에 의해 처리되고 Mailhog에 의해 캡처됩니다. 보낸 메시지를 보려면 웹 브라우저에서http://localhost:8025
를 엽니다. 🎜🎜🎜🎜🎜🎜🎜네트워크 인터페이스
rrreeeHomestead.yaml
의networks
속성은 홈스테드 환경에 대한 네트워크 인터페이스를 구성합니다. 필요에 따라 여러 인터페이스를 구성할 수 있습니다.Homestead.yaml
中的networks
属性为 Homestead 环境配置网络接口。你可以根据需要配置多个接口:要开启一个 桥接 接口,配置
rrreeebridge
设置并改变public_network
网络类型:要开启 DHCP,仅从你的配置中移除
rrreeeip
选项:扩展 Homestead
你能在 Homestead 根目录下使用
after.sh
脚本扩展 Homestead。在这个文件中,你可以添加正确配置和自定义虚拟机所需的任何 shell 命令。当自定义 Homestead 时,Ubuntu 可能会询问你是否要保留程序包的原始配置或者用一个新的配置文件覆盖它。为了避免这种情况,你应该在安装软件包时使用以下的命令,以避免覆盖之前由 Homestead 编写的任何配置:
rrreee更新 Homestead
你能通过一些简单的步骤更新 Homestead。首先,你应当使用
rrreeevagrant box update
命令更新 Vagrant 盒子:接下来,你需要去更新 Homestead 源代码。如果你克隆过仓库,你能在最初克隆仓库的位置运行如下的命令:
rrreee这些命令从 GitHub 仓库拉取最新的 Homestead 代码,获取最新的标记,然后检出最新的标记版本。你能在 GitHub 版本页面 找到最新稳定的版本。
如果你通过你的项目的
rrreeecomposer.json
安装 Homestead,你应当确保你的composer.json
包含"laravel/homestead": "^8"
并更新你的依赖项:最后,你将需要销毁和重新生成你的 Homestead 盒子去利用最新的 Vagrant 安装。为了实现这个,在你的 Homestead 目录运行如下的命令:
rrreee提供特殊设置
VirtualBox
natdnshostresolver
默认情况下,Homestead 将
브리지 인터페이스를 활성화하려면natdnshostresolver
配置设置为on
。这允许 Homestead 去使用你的主机操作系统的 DNS 设置。如果你不想覆盖这个行为,添加如下的行到你的Homestead.yaml
rrreee브리지를 구성하세요.
public_network
네트워크 유형 설정 및 변경:rrreeeDHCP를 활성화하려면 , 구성에서ip
옵션을 제거하세요: 🎜rrreee🎜🎜🎜🎜Homestead 확장🎜🎜Homestead 루트 디렉터리에 있는after.sh
스크립트를 사용하여 Homestead를 확장할 수 있습니다. 이 파일에서는 가상 머신을 적절하게 구성하고 사용자 정의하는 데 필요한 셸 명령을 추가할 수 있습니다. 🎜🎜Homestead를 사용자 정의할 때 Ubuntu는 패키지의 원래 구성을 유지할 것인지 아니면 새 구성 파일로 덮어쓸 것인지 묻는 메시지를 표시할 수 있습니다. 이를 방지하려면 패키지를 설치할 때 이전에 Homestead에서 작성한 구성을 덮어쓰지 않도록 다음 명령을 사용해야 합니다: 🎜rrreee🎜🎜🎜🎜Homestead 업데이트🎜🎜몇 가지 간단한 단계에 따라 Homestead를 업데이트할 수 있습니다. 먼저vagrant box update
명령을 사용하여 Vagrant box를 업데이트해야 합니다. 🎜rrreee🎜다음으로 Homestead 소스 코드를 업데이트해야 합니다. 저장소를 복제한 경우 원래 저장소를 복제한 위치에서 다음 명령을 실행할 수 있습니다: 🎜rrreee🎜 이 명령은 GitHub 저장소에서 최신 홈스테드 코드를 가져오고 최신 태그를 가져온 다음 최신 태그를 확인합니다. 버전. GitHub 릴리스 페이지에서 최신 안정 릴리스를 찾을 수 있습니다. 🎜🎜프로젝트의composer.json
을 통해 홈스테드를 설치한 경우composer.json
에"laravel/homestead": "^8 "<이 포함되어 있는지 확인해야 합니다. /code>를 입력하고 종속 항목을 업데이트하세요. 🎜rrreee🎜마지막으로 최신 Vagrant 설치를 활용하려면 Homestead 상자를 삭제하고 다시 빌드해야 합니다. 이렇게 하려면 홈스테드 디렉터리에서 다음 명령을 실행하세요: 🎜rrreee🎜🎜
🎜 🎜 특별한 설정 제공🎜🎜🎜🎜VirtualBox
🎜
🎜기본적으로 Homestead는natdnshostresolver
natdnshostresolver
구성을on 으로 설정합니다. 코드>. 이를 통해 Homestead는 호스트 운영 체제의 DNS 설정을 사용할 수 있습니다. 이 동작을 재정의하지 않으려면
Homestead.yaml
파일에 다음 줄을 추가하세요: 🎜rrreee🎜🎜Windows의 기호 링크
Windows 컴퓨터에서 기호 링크가 제대로 작동하지 않으면
rrreeeVagrantfile
파일에 다음 블록을 추가해야 할 수도 있습니다.이 기사는 LearnKu.com 웹 사이트에 처음 게재되었습니다.
- Neo4j