记录一次通过homestead配置多站点不起作用的坑--No input file specified.

因为安装的homestead环境的配置文件中仅创建了一个虚拟主机的目录。
对于多个项目在同一个环境中的话实际上不太友好。
创建多个homestead的话不仅浪费PC的资源而且还不太好管理(配置文件分散)
因此萌生在同一个homestead中创建多个虚拟主机进行不同项目的访问。
因此修改homestead的配置文件。如下图

记录一次通过homestead配置多站点不起作用的坑
既然配置了虚拟主机那么在本地的hosts文件中自然要配置不同的域名来指向虚拟机啦。如下图

记录一次通过homestead配置多站点不起作用的坑

windows: C:\Windows\System32\drivers\etc\hosts
配置完成后进行以下的操作:
vagrant halt -> vagrant provision -> vagrant up && vagrant ssh
完成后随即对站点进行页面的访问,但是页面显示:No input file specified.
感到非常的奇怪。为啥配置完成之后页面无法访问呢?
随即在虚拟主机中查看nginx的日志及配置文件的查看
发现是访问的路劲是错误的?(猜测是homestead的配置文件没有生效⑧?)
多次进行虚拟机的配置文件修改->重启->访问依旧不奏效。
故放弃此条路线。
查看nginx的配置文件
cat /etc/nginx/nginx.conf
发现其中有一条语句: include /etc/nginx/conf.d/*.conf;
但是查看了/etc/nginx/目录实际上里面是空的!!!

翻阅其他文件目录之后发现:/etc/nginx/sites-available/ 下存在一个示例目录(估计是刚开始的时候生成的)
所以 cp /etc/nginx/sites-available/xxxxx /etc/nginx/conf.d/xxxx.conf
并且修改了文件中的映射站点和文件目录

记录一次通过homestead配置多站点不起作用的坑--No input file specified.

之后在系统中运行:systemclt restart nginx
nginx重启之后进行站点的访问,结果自然是访问成功啦


最后补充一句 homestead 终归是ubuntu , ubuntu 终归是 linux

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3
vagrant provision

这个命令是用于Homestead开启期间,运行对应的脚本实时写nginx配置并重启服务的,这个命令无需预先关闭Homestead

如果你想重启Homestead并应用配置的话,命令应该是这个

vagrant reload --provision

PS: 用Homestead就是懒得写nginx配置嘛,要是还要自己手写的话不如从0开始搭建一个虚拟机开发环境哩~ :joy:

2年前 评论

一看就没看文档 :joy: 开发环境搭建 - Windows

2年前 评论

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