Homestead 配置 Nginx 等问题

安装了 Homestead , 但我代码使用的是 ThinkPHP, 需要配置 nginx 的 rewrite , 怎样在 homestead.yaml 文件中配置? 我直接在 虚拟机中改了 nginx.conf 配置文件,但 vagrant provisition 后 所有配置 都还原了,

还有 里面默认使用的是 PHP7 ,里面还有一个 5.6 的版本,怎样指定 php的版本? 或新增其他版本?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

今天我遇到这个问题,按以下修改成功运行。
假如 Homestead.yaml 中 sites 如下设置

sites:
    - map: think.test
      to: /home/vagrant/Code/thinkphp

修改 /etc/nginx/sites-enabled/think.test .(修改文件与 map 设置的文件名对应)

    location / {
#        try_files $uri $uri/ /index.php?$query_string;
        if (!-e $request_filename) {
                rewrite  ^(.*)$  /index.php?s=$1  last;
                break;
         }
    }
5年前 评论

更改 php 版本的话貌似只有安装低版本的box了,看看这个 PHP5.6 and PHP7 development with Homestead

7年前 评论

@oustn 你好,请问 另一点,单独配置 某个站点 重写规则,怎么设置呢?

7年前 评论

@qice 这个没有用过,也不太了解,不过 google 了一下,看看这个 homestead provision deletes custom nginx settings ,主要两个思路:

  1. 使用命令添加 site 来替代每次重新run provision.

    serve domain.app /home/vagrant/Code/path/to/public/directory 80
  2. 修改 Homestead\scripts\serve-xx.sh

一年前的文章,没有尝试过到底行不行,可以按照这种思路试试。

7年前 评论

@oustn
非常感谢 ! 看来这样也挺麻烦,直接架个 centos 虚拟机好了

7年前 评论

今天我遇到这个问题,按以下修改成功运行。
假如 Homestead.yaml 中 sites 如下设置

sites:
    - map: think.test
      to: /home/vagrant/Code/thinkphp

修改 /etc/nginx/sites-enabled/think.test .(修改文件与 map 设置的文件名对应)

    location / {
#        try_files $uri $uri/ /index.php?$query_string;
        if (!-e $request_filename) {
                rewrite  ^(.*)$  /index.php?s=$1  last;
                break;
         }
    }
5年前 评论

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