vagrant box php開發環境配置 -- nginx

centos7.3 直接用yum安裝nginx的版本是1.10.2,當前的最新穩定版是1.10.3,暫時不更新,直接安裝php

yum安裝nginx

sudo yum install -y nginx

測試html

nginx -t

啓動linux

sudo service nginx start
ps -ef|grep nginx
curl -i localhost

在virtualbox設置網絡的端口轉發主機8080轉發爲子系統的80端口,這樣就能夠在windows下的瀏覽器中輸入http://localhost:8080 查看了。 在virtualbox修改是臨時有效,重啓時會丟失配置。最好同時修改vagrant配置文件Vagrantfilenginx

config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip:"127.0.0.1"

加入開機啓動vim

# sudo chkconfig nginx on
sudo systemctl enable nginx.service

啓動php-fpm

sudo service php-fpm start

此次啓動應該不會報錯了windows

配置開發目錄爲/vagrant

具體站點的配置應該在/etc/nginx/conf.d/目錄增長配置文件,咱們配置開發環境直接修改nginx.conf文件centos

cd /etc/nginx
sudo vim nginx.conf

有用的配置段瀏覽器

...
#更改nginx的用戶身份
user nginx;
...
http {
...
    server {
       ...
#註釋掉默認的根目錄
        # root         /usr/share/nginx/html;
        root /vagrant
       ...

        location / {
            #autoindex on;
            index index.html index.php;
        }
        location ~* \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
        ...
    }
}

wq保存。 如今你已經能夠在windows下你的共享目錄編寫php代碼了。 新建test.php文件以下網絡

<?php
    phpinfo();

而後windows下瀏覽器訪問http://localhost:8080/test.php 好像一切正常。 等一下,創建一個test.html試試看呢?訪問http://localhost:8080/test.html, 熟悉的403來襲curl

403 Forbidden 那麼是什麼問題呢?

  1. nginx用戶權限?不對,/vagrant目錄other用戶擁有讀寫權限
  2. index相關問題?不是
  3. selinux狀態?
#SELinux status:                 enabled
sestatus -v

暫時關閉selinux測試一下

sudo setenforce 0

能夠看到test.html的內容了。 那麼如何解決這個問題呢?

方案1 關閉selinux

修改配置文件

sudo vim /etc/selinux/config
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

重啓虛擬機,windows cmd下

vagrant halt
vagrant up
相關文章
相關標籤/搜索