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