집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Laravel 개발 환경 설정 문제를 해결하는 방법
이 글의 내용은 라라벨 개발 환경 설정 문제를 해결하는 방법에 관한 내용입니다. 도움이 필요한 친구들이 참고하시면 좋을 것 같습니다.
VirtualBox 설치
Vagrant 설치
Homestead Box 가상 머신 상자 가져오기
Git 설치
Homestead 관리 스크립트 설치
홈스테드 구성. yaml 파일
Homestead 시작
VirtualBox百科词条 https://baike.baidu.com/item/VirtualBox/5842786?fromtitle=virtual%20box&fromid=3961028&fr=aladdin
간단한 이해: 원하는 시스템 시뮬레이션
설치: 다음 단계 클릭
百度词条 https://baike.baidu.com/item/Vagrant/1321946?fr=aladdin
간단한 이해: 가상화된 개발 생성 및 배포 환경.
설치: next
처음 vagrant 명령을 사용하기 시작할 때 항상 vagrant up을 vargant로 입력하세요. var 할당을 의미한다고 생각하는 것이 일반적입니다. 나중에 mysql GrantPermission에서 영감을 얻어 그 영어 단어 뜻을 물어보니 그랜트(Grant)가 승인(Recognition)이라는 뜻이라는 걸 알게 됐다. 이는 "권한 부여"와 다소 유사한 프로그램 컨텍스트로 변환됩니다. 외국인이 개발한 것을 사용하려면 기본적인 영어 실력을 마스터해야 이해가 잘 됩니다...
원본 링크에서 제공하는 홈스테드는 실제로 개발에 필요한 N가지 종류의 소프트웨어와 방랑박스를 패키지화한 것입니다. 주요 목적은 우수한 개발 환경을 제공하는 것입니다. PHP, Composer, Nginx, Mysql, git... 및 기타 도구 소프트웨어가 상자에 이식되었습니다.
팀 개발 구성원을 위한 일관된 개발 환경을 구축하고 구성원 환경의 일관성을 보장하며 환경 구성으로 인한 예측할 수 없는 오류를 방지하는 것이 목적입니다. 이것이 라라벨 아카데미가 초보자에게 맞춤형 박스를 다운로드하고 임포트하도록 요구하는 이유입니다~
홈스테드 스크립트는 Ruby 및 Shell 스크립트를 사용하여 작성됩니다. 원칙은 vagrantfile 파일을 사용자 정의하는 것입니다. 구성 정보는 ~/Homestead/Homestead.yaml
에서 읽습니다. 프로비저닝 중에는 vagrant 명령으로 구문 분석되어 가상 머신용으로 구성됩니다~/Homestead/Homestead.yaml
读取配置信息。在provision时,解析为vagrant命令并进行对虚拟机的配置
同时提供了极其简单易用的接口,傻瓜化配置即可完成复杂任务
IP配置,端口映射
Nginx Site创建
数据库创建
主机文件夹挂在到虚拟机等任务
下载和导入Homestead虚拟机盒子
安装Git,为下载Homestead管理脚本做准备
使用Git下载Homestead管理脚本
Windows下需要使用导入命令,找到盒子所在的路径,cmd输入以下命令
> vagrant box add metadata.json
关键字:next
很多安装模式选项,得找时间研究一下
克隆 summer主页的git项目 WINDOWS下,默认在 C盘 用户名/homstead。能找到该文件
> cd ~ > git clone https://git.coding.net/summerblue/homestead.git Homestead
完成后,为GIT创建分支 checkout v7.8.0(注意区分文件名大小写)
> cd ~/Homestead > git checkout v7.8.0 #刚开始不知道checkout是什么,还以为是检查版本,后来发现这是git版本管理一个强大的功能
接下来初始化Homestead
> bash init.sh
运行成功后会在~/Homestead
目录生成三个文件
Homestead.yaml主要配置信息文件,从中可以读到战点和数据库等信息
after.sh-每一次homestead盒子重置后(provision)会调用shell脚本文件
alsaes-每一次homestead盒子重置后,会被替换到虚拟机的~/.bash_alisases
文件中,aliases
放一些文件的各项配置信息进行详细
此处vagrant provision与vagrant reload搭配使用,可加载修改后的yaml文件配置,类似修改完apache后重启
接下来再对 Homestead.yaml
进行详细配置
> cd ~/Homestead/ #进入到Homestead/文件夹下> explorer . #打开该文件夹视图,然后打开homestead.yaml配置进行修改
另外一种使用命令快速打开Homestead.yaml文件
> subl ~/Homestead/Homestead.yaml #subl是sublime打开文件的命令,需要单独配置,详见下方
转:终端用sublime打开文件的方法 作者:**QUETAL** https://blog.csdn.net/u011240016/article/details/54434923
Homestead.yaml配置大致分为以下几种
虚拟机配置
SSH秘钥登录设置
共享文件夹配置
站点配置
数据库配置
自定义变量
Homestead支持我们对虚拟机的IP,内存,CPU,虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置。
ip: "192.168.10.10" #ip映射,配置虚拟域名,需要在终端hosts添加该ip.后续有memory: 2048cpus: 1provider: virtualbox
authorize
选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被默认复制存储到虚拟机/home/vagrant/.ssh/authorized_keys
또한 매우 간단하고 사용하기 쉬운 인터페이스를 제공하며 간단한 구성으로 복잡한 작업을 완료할 수 있습니다
authorize ~/.ssh/id.rsa.pub #这就是为什么输入vagrant up && vagrant ssh即可免密码登录🎜2에 다음 명령을 입력하세요. GIT 설치🎜🎜키워드: next 🎜많은 설치 모드 옵션이 있으므로 시간을 들여 연구해야 합니다🎜🎜3 . 농가 관리 스크립트를 다운로드하세요🎜🎜여름 홈페이지에서 git 프로젝트를 복제하세요. WINDOWS에서는 기본적으로 C 드라이브 사용자 이름/homstead에 있습니다. 파일을 찾을 수 있습니다🎜
keys: - ~/.ssh/id_ras- ~/.ssh/id_rsa.pub #变化在这里,此处我们将公钥和私钥一起同步到虚拟机中🎜완료 후 GIT용 브랜치 체크아웃 v7.8.0을 만듭니다. (🎜파일 이름은 대소문자를 구분합니다🎜)🎜
> ls -al ~/.ssh #输入这个即可查询是否配置> > #ls (选项)(参数) > #ls命令用来显示目标列表,在Linux中是使用率较高的命令> # -a 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);> # -l与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;> # cannot access '/c/Users/用户名/.ssh': No such file or directory 即没有配置过🎜다음으로 Homestead를 초기화합니다🎜
ssh-keygen -t rsa -C "your_email@example.com"#上面的邮箱替换成自己的🎜작업이 성공하면 ~/Homestead 디렉토리는 3개의 파일을 생성합니다🎜
에서 교체됩니다~ /.bash_alisas
파일, aliases자세한 내용을 보려면 일부 파일의 일부 구성 정보를 입력하세요🎜🎜Homestead.yaml
을 자세히 구성하겠습니다🎜Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]🎜명령을 사용하여 Homestead.yaml 파일을 빠르게 여는 또 다른 방법 🎜
ls -al ~/.ssh
folders: - map :~/Code - to:/home/vagrant/Code🎜Homestead.yaml 구성은 대략 다음 🎜🎜🎜🎜가상 머신 구성🎜🎜🎜🎜SSH 키 로그인 설정🎜🎜🎜🎜공유 폴더 구성🎜🎜🎜🎜사이트 구성🎜🎜에 대한 사용자 정의 변수로 나뉩니다. 🎜🎜데이터베이스 구성 🎜🎜🎜🎜 🎜🎜🎜 🎜1. 가상 머신 구성🎜🎜Homestead에서는 가상 머신의 IP, 메모리, CPU 및 기본 공급자를 구성할 수 있도록 지원합니다. 기본적으로 여기서는 어떤 구성도 수행할 필요가 없습니다. 🎜
> cd ~ > mkdir Code #在默认路径下创建Code文件夹> > #可使用 explorer .打开该文件夹的视图🎜2.SSH 키 로그인 구성🎜🎜
authorize
옵션은 가상 머신에 로그인하기 위한 연결을 승인하는 공개 키 파일을 할당하는 것입니다. 이 파일은 🎜공개 키 파일로 채워집니다. 🎜host🎜의 address🎜, 가상 머신이 초기화되면 이 파일의 내용이 기본적으로 가상 머신의 /home/vagrant/.ssh/authorized_keys
파일에 복사되어 저장됩니다. 🎜ssh 비밀번호 없는 로그인🎜을 실현합니다. 여기서는 기본적으로 입력합니다🎜authorize ~/.ssh/id.rsa.pub #这就是为什么输入vagrant up && vagrant ssh即可免密码登录
keys
是数组选项,填写的是本机SSH私钥文件地址。虚拟机初始化时,会将此处填写的所有SSH私钥文件赋值到虚拟机的/home/vagrant/.ssh/
文件夹中,从而使虚拟机能共享主机上的SSH私钥文件,使虚拟机具备等同于主机的身份认证。此功能为SSH授权提供了便利。例如在后面章节中,我们只需要在Github配置一个SSH公钥即可实现GITHUB对虚拟机和主机共同认证(GitHub是代码托管,终端代码提交需要配置公钥连接)
keys: - ~/.ssh/id_ras- ~/.ssh/id_rsa.pub #变化在这里,此处我们将公钥和私钥一起同步到虚拟机中
接下来生成ssh key,请先检查主机是否已生成过SSH key C:/……./用户/用户名/.ssh 可查看是否已配置
> ls -al ~/.ssh #输入这个即可查询是否配置> > #ls (选项)(参数) > #ls命令用来显示目标列表,在Linux中是使用率较高的命令> # -a 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);> # -l与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;> # cannot access '/c/Users/用户名/.ssh': No such file or directory 即没有配置过
生成 SSH key
ssh-keygen -t rsa -C "your_email@example.com"#上面的邮箱替换成自己的
接下来命令行会提示让你指定秘钥的名称,按回车键将 SSH KEY保存到默认文件名即可
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
设置密码,回车键默认为空密码
再次查看是否配置成功
ls -al ~/.ssh
如下图
SSH秘钥的连个文件
id_rsa
——–SSH秘钥 的 私钥 (Private Key)
id_ras.pub
———SSH秘钥的公钥 (Public Key)
可以通过folders
来致命本机要映射到Homestead虚拟机上的文件夹
map
对应的是我们本机的文件夹,例如 C:/Code 。
to
对应的是Homestead上的文件夹,即虚拟机中的文件夹。
一定一定要注意映射文件夹的大小写名字,否则会出现 no input file specified
一定一定要保存修改完后的配置文件,如果没有保存直接配置加载也没关系,你会学习到一系列有趣的问题(手动微笑)
folders: - map :~/Code - to:/home/vagrant/Code
联想:
相当于在本机修改程序文件,最终是会映射到虚拟机的文件夹上。
PS:使用IDE最好是轻量级的,例如editplus、sublime等。如果ide有git相关插件。以后每次修改文件,会遍历整个目录树,机器不好的容易卡。例如laravel默认是9000个文件,映射到虚拟机的文件同样是9000个,那么修改代码时,相当于遍历18000个文件。这也间接体现了laravel为什么是重量级框架,集成了现代商业化项目大部分需要的功能。由于是深度配置,所以定制功能时的修改也相对麻烦。
关于laravel框架 和 ide 的选择上,适合自己的才是最好的,未必集成的功能越多就越好。具体看项目开发/开发者自身需求
默认Homestead
会将我们本地的~/Code
文件映射到/home/vagrant/Code
文件夹上。目前还没有~/Code,需创建
> cd ~ > mkdir Code #在默认路径下创建Code文件夹> > #可使用 explorer .打开该文件夹的视图
站点配置允许你在唉主机里,通过域名来访问虚拟机的Laravel应用。如下面sites
配置所示,将homestead.test映射到一个Laravel项目的public
目录上。这一行配置,会命令homestead为我们新建一个Nginx站点,并且把Web Root配置到指定目录下。Laravel应用的Nginx站点 Web Root 配置,默认就是根目录的public
目录下
sites: - map: homestead.test to: /home/vagrant/Code/Laravel/public #此处的Laravel还没创建,待会会用COMPOSER下载
另外,主机里直接访问虚拟机站点,必须通过绑定hosts
来实现。终端需要修改hosts文件绑定到homestead.test
到虚拟机IP192.168.10.10
上,hosts
完整路径为 C:\Windows\System32\Drivers\ect\hosts
> subl C:\Windows\System32\Drivers\ect\hosts
在hosts文件中添加
192.168.10.10 homestead.test
注意:WINDOWS 10因为权限设置相关问题,即使打开了该文件可能也无法修改成功,此处有两种方式替代
打开该路径,复制hosts到任意目录并修改配置,最后覆盖
使用powershell打开并修改
2.1windows 开始菜单图标【即最左下角的菜单】—> 点击右键
2.2 单击Windows PowerShell(管理员)
2.3 cd drivers/etc
2.4 notepad hosts
可以为homestead指定数据库名称,这里使用默认设置即可
databases: - homestead
完成相关配置后,开启虚拟机
以下为相关命令
命令行 | 说明 | 相关例子 |
---|---|---|
vagrant init | 初始化vagrant | |
vagrant up | 启动vagrant | |
vagrant halt | 关闭虚拟机 | 如果直接在cmd中exit 不halt,下次启动会出现仍在运行 |
vagrant ssh | 通过SSH登录vagrant (需要先启动vagrant) | 需要在homestead配置公钥而免密码登录 |
vagrant provision | 重新应用更改vagrant配置 | 类似apache修改配置项后需要重启,此处同理 |
vagrant reload | 重载虚拟机 | 搭配 vagrant provision && vagrant reload |
vagrant destroy | 删除vagrant |
接下来开启Homestead
> cd ~/Homestead && vagrant up
第一次启动时,vagrant会做以下几件事
以导入的Homestead虚拟机盒子为模版,新建一台虚拟机(之前导入的homestead)
并按照homestead.yaml
里的配置信息,对这台新建的虚拟机进行配置
配置完成后启动虚拟机
成功启动后还是在~/Homestead
目录中,通过以下命名来来SSH登录Homestead虚拟机中
> vagrant ssh
> exit #退出当前虚拟机
> vagrant halt #关闭整个虚拟机
위 내용은 Laravel 개발 환경 설정 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!