centos7.3 直接用yum安裝nginx的版本是1.10.2,當前的最新穩定版是1.10.3,暫時不更新,直接安裝
yum安裝nginx
sudo yum install -y nginx
測試
nginx -t
啟動
sudo service nginx start
ps -ef|grep nginx
curl -i localhost
在virtualbox設置網絡的端口轉發主機8080轉發為子系統的80端口,這樣就可以在windows下的瀏覽器中輸入http://localhost:8080 查看了。 在virtualbox修改是臨時有效,重啟時會丟失配置。最好同時修改vagrant配置文件Vagrantfile
config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip:"127.0.0.1"
加入開機啟動
# sudo chkconfig nginx on
sudo systemctl enable nginx.service
啟動php-fpm
sudo service php-fpm start
這次啟動應該不會報錯了
配置開發目錄為/vagrant
具體站點的配置應該在/etc/nginx/conf.d/目錄增加配置文件,我們配置開發環境直接修改nginx.conf文件
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文件如下
phpinfo();
403 Forbidden 那么是什么問題呢?
nginx用戶權限?不對,/vagrant目錄other用戶擁有讀寫權限
index相關問題?不是
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