php – Vagrant,找不到Apache文件

我想安装一个有流浪汉的虚拟机.
我使用puphet来启动和运行我的虚拟机.
我从https://puphpet.com/下载了我的文件
我运行命令vagrant up.
这工作正常,没有错误.
但是当我去我的apache服务器(ip:192.168.56.101/).它说

    File not found

我的config.yaml看起来像这样:

vagrantfile-local:
vm:
    box: puphpet/debian75-x64
    box_url: puphpet/debian75-x64
    hostname: ''
    memory: '512'
    cpus: '1'
    chosen_provider: virtualbox
    network:
        private_network: 192.168.56.101
        forwarded_port:
            3gxDQCQAxfdF:
                host: '7872'
                guest: '22'
    post_up_message: ''
    provider:
        virtualbox:
            modifyvm:
                natdnshostresolver1: on
        vmware:
            numvcpus: 1
        parallels:
            cpus: 1
    provision:
        puppet:
            manifests_path: puphpet/puppet
            manifest_file: site.pp
            module_path: puphpet/puppet/modules
            options:
                - '--verbose'
                - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
                - '--parser future'
    synced_folder:
        ncdRZBfrkcfO:
            source: ./
            target: /var/www
            sync_type: default
            rsync:
                args:
                    - '--verbose'
                    - '--archive'
                    - '-z'
                exclude:
                    - .vagrant/
                auto: 'false'
    usable_port_range:
        start: 10200
        stop: 10500
ssh:
    host: null
    port: null
    private_key_path: null
    username: vagrant
    guest_port: null
    keep_alive: true
    forward_agent: false
    forward_x11: false
    shell: 'bash -l'
vagrant:
    host: detect
server:
    install: '1'
    packages: {  }
firewall:
    install: '1'
    rules: null
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - rewrite
    vhosts:
        aVIZQPIIn6i3:
            servername: awesome.dev
            serveraliases:
                - www.awesome.dev
            docroot: /var/www/awesome
            port: '80'
            setenv:
                - 'APP_ENV dev'
            override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
            engine: php
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
    mod_pagespeed: 0
nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
    vhosts:
        uwr7HyJ5WO1T:
            server_name: awesome.dev
            server_aliases:
                - www.awesome.dev
            www_root: /var/www/awesome
            listen_port: '80'
            location: \.php$
            index_files:
                - index.html
                - index.htm
                - index.php
            envvars:
                - 'APP_ENV dev'
            engine: php
            ssl_cert: ''
            ssl_key: ''
php:
    install: '1'
    version: '56'
    composer: '1'
    composer_home: ''
    modules:
        php:
            - cli
            - intl
            - mcrypt
        pear: {  }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
    timezone: America/Chicago
    mod_php: 0
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings:
        host: 127.0.0.1
        port: '9000'
    ini:
        display_errors: On
        error_reporting: '-1'
    timezone: null
xdebug:
    install: '0'
    settings:
        xdebug.default_enable: '1'
        xdebug.remote_autostart: '0'
        xdebug.remote_connect_back: '1'
        xdebug.remote_enable: '1'
        xdebug.remote_handler: dbgp
        xdebug.remote_port: '9000'
xhprof:
    install: '0'
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions:
        TSsZyQH2LHKq:
            version: ''
nodejs:
    install: '1'
    npm_packages: {  }
python:
    install: '1'
    packages: {  }
    versions:
        YVfdTeUuv8wW:
            version: ''
mysql:
    install: '1'
    root_password: '123'
    adminer: 0
    databases:
        99Rdxm92r7xO:
            grant:
                - ALL
            name: dbname
            host: localhost
            user: dbuser
            password: '123'
            sql_file: ''
postgresql:
    install: '0'
    settings:
        root_password: '123'
        user_group: postgres
        encoding: UTF8
        version: '9.3'
    databases: {  }
    adminer: 0
mariadb:
    install: '0'
    root_password: '123'
    adminer: 0
    databases: {  }
    version: '10.0'
sqlite:
    install: '0'
    adminer: 0
    databases: {  }
mongodb:
    install: '0'
    settings:
        auth: 1
        port: '27017'
    databases: {  }
redis:
    install: '0'
    settings:
        conf_port: '6379'
mailcatcher:
    install: '0'
    settings:
        smtp_ip: 0.0.0.0
        smtp_port: 1025
        http_ip: 0.0.0.0
        http_port: '1080'
        mailcatcher_path: /usr/local/rvm/wrappers/default
        from_email_method: inline
beanstalkd:
    install: '0'
    settings:
        listenaddress: 0.0.0.0
        listenport: '13000'
        maxjobsize: '65535'
        maxconnections: '1024'
        binlogdir: /var/lib/beanstalkd/binlog
        binlogfsync: null
        binlogsize: '10485760'
    beanstalk_console: 0
    binlogdir: /var/lib/beanstalkd/binlog
rabbitmq:
    install: '0'
    settings:
        port: '5672'
elastic_search:
    install: '0'
    settings:
        java_install: true
        autoupgrade: true
最佳答案
在设置流浪汉时我也偶然发现了这个问题.

我在我的日志中发现问题是fcgi所以我注意到由vagrant创建的vhost文件中的这一行:

ProxyPassMatch ^/(.*\.php(/.*)?)$fcgi://127.0.0.1:9000/var/www//$1

将其更改为:

ProxyPassMatch ^/(.*\.php(/.*)?)$fcgi://127.0.0.1:9000/var/www/awesome/$1

它现在应该工作.现在的问题是,每次使用vagrant时都必须编辑它

我也得到了一个解决方案,也许不是最好的解决方案,但它可以工作,除非有人提出更好的解决方案,否则我会使用它.

将config.yaml中的vhosts部分更改为以下内容:

 vhosts:
    [your hash]
        server_name: awesome.dev
        server_aliases:
            - www.awesome.dev
        docroot: /var/www/
        port: '80'
        setenv:
            - 'APP_ENV dev'
        directories:
            provider: directory
            path: /var/www/awesome/
            allow_override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
        engine: php
        custom_fragment: ''
        ssl: '0'
        ssl_cert: ''
        ssl_key: ''
        ssl_chain: ''
        ssl_certs_dir: ''

在你的puphpet文件夹中搜索这个文件:puppet / modules / puphpet / templates / apache / custom_fragments.erb并将其内容更改为:

<%= @vhost['custom_fragment'] %>
<% if !@require_mod_php %>
  <% if @vhost.has_key?('engine') %>
    <% if @vhost['engine'] == 'php' %>
      <% if @vhost.has_key?('directories') %>
        <% if @vhost['directories'].has_key?('path') %>
          ProxyPassMatch ^/(.*\.php(/.*)?)$fcgi://<%= @fcgi_string %><%= @vhost['directories']['path'] %>$1
        <% else %>
          ProxyPassMatch ^/(.*\.php(/.*)?)$fcgi://<%= @fcgi_string %><%= @vhost['docroot'] %>/$1
        <% end %>
      <% else %>
        ProxyPassMatch ^/(.*\.php(/.*)?)$fcgi://<%= @fcgi_string %><%= @vhost['docroot'] %>/$1
      <% end %>
    <% end %>
  <% end %>
<% end %>

然后我做了流浪汉摧毁和流浪汉,它的工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、信号(signal)、消息队列、共享内存、信号量、套接字(socket)。管道用于具有亲缘关系的进程间通信,有名管道的每个管道具有名字,使没有亲缘关系的进程间也可以通信。信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别对整个系统的性能做统计,而进程级别则具体到进程,为每个进程维护统计信息。&#xD;&#xA;&#xD;&#xA;按实现原理分,可分为基于计数器和跟踪以及剖析。含义如下:&#xD;&#xA;&#xD;&#xA;计数器:内核维护的统计数据,通常为无符号整型,用于对发生的事件计数,比如,网络包接收计数器,磁
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书验证,详细追踪整个交互过程,可用于调用网络后端接口,诊断http和https网络服务故障。
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满、fd泄漏等问题。命令包括ping、fping、tcpdump、lsof、netstat、/proc/$pid/fd、du、grep、traceroute、dig。
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的进程数目,用uptime查看到负载很高,既有可能是CPU利用率高,也可能是大量在等待io的进程导致,用mpstat查看每个CPU的使用情况,查看CPU的使用率或者CPU花在等待io的时间,接着用pidstat定位具体的进程
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线程切换及中断切换,进程切换的开销较大,除了需要保存寄存器和程序计数器中的值还需保存全局变量、栈等到内存中,以便下次运行恢复,而同一进程中的线程切换开销会小很多,只需更新寄存器和线程独有的栈,共享资源如打开的文件、全局变量等无需切换,当硬件中
1.top命令 作用:该命令可以按CPU使用.内存使用和执行时间对任务进行排序,常用来监控系统中占用CPU或内存较高的程序及CPU和内存的负载。 默认视图: 当想看系统负载时,可观察汇总的%CPU中的us用户进程和sy系统进程是否占用CPU很高,相加接近100%就说明占用很高了,有些程序可能得不到及
文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限!!!粘滞位!!!超详解!!!
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Windows、Linux、MacBook_mack book 安装qt
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Linux——了解操作系统的发展历史以及初次体验Linux编程环境
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,个人学习时很认真的记录的,觉得好的麻烦点个赞。
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)_openssh_9.5p1
文章浏览阅读3.5k次,点赞93次,收藏78次。初识Linux中的线程,理解线程的各种概念,理解进程地址空间中的页表转换,介绍pthread线程库并理解线程库!
文章浏览阅读863次。出现此问题为Linux文件权限问题,解决方案为回到引擎目录执行命令。输入用户密码后运行./UnrealEditor。_increasing per-process limit of core file size to infinity.
文章浏览阅读2.9k次。使用文本编辑器:打开CSV文件,并使用文本编辑器(如Notepad++、Sublime Text、Visual Studio Code等)来查看文件的字符编码格式。通常在编辑器的底部状态栏或设置中可以找到当前编码的显示。请注意,上述方法并非绝对准确,特别是当文件没有明确的编码标识时。因此,如果你发现CSV文件在不同的工具或方法中显示不同的编码格式,可能需要进行进一步的分析和判断,或者尝试使用不同的编码转换方法。该命令将输出文件的MIME类型和编码信息。使用命令行工具:在命令行中,你可以使用。_shell读取csv文件逐行处理
本文介绍了如何在Linux系统中升级gcc版本,以便更好地支持C++11及以上版本的新特性。通过升级gcc,可以提升编译器的功能和性能,获得更好的开发体验。详细的步骤和方法请参考原文链接。
文章浏览阅读4.4k次,点赞6次,收藏19次。Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。_linux mosquitto
文章浏览阅读7.2k次,点赞2次,收藏12次。Linux中,用于根目录下有一个.ssh目录,保存了ssh相关的key和一些记录文件。_~/.ssh/
文章浏览阅读4.5k次,点赞5次,收藏18次。首先需要安装 snmp ,使用下面的命令进行安装安装完毕之后,使用下面的命令查看是否安装成功当命令行显示如图即为安装成功。_snmp工具