在nginx配置文件中location的index文件、htm文件有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在nginx配置文件中location的index文件、htm文件有啥区别?相关的知识,希望对你有一定的参考价值。

参考技术A

当你访问根目录比如  http://127.0.0.1/ 时 你的index默认配置为index.htm 他就回去读
http://127.0.0.1/index.htm 当然这个index.htm加不加都会读,应为你设置如果网站每当当问一个目录都会先去找这个目录下的index.htm 如果找不到就去找index.html 以此类推,你加什么就去找什么,我一般设置
index index.php index.htm index.html 
意思就是 每当访问一个文件夹,先找index.php 到不到就找index.htm找不到再找index.html 找不到就不找了。不执行文件。

1、当你访问根目录比如  http://127.0.0.1/ 时 你的index默认配置为index.htm 他就回去http://127.0.0.1/index.htm 当然这个index.htm加不加都会读,应为你设置如果网站每当当问一个目录都会先去找这个目录下的index.htm 如果找不到就去找index.html 以此类推,你加什么就去找什么。

2、我一般设置
index index.php index.htm index.html 
意思就是 每当访问一个文件夹,先找index.php 到不到就找index.htm找不到再找index.html 找不到就不找了。不执行文件。

nginx配置支持php

下图有nginx.cond配置文件,加了支持php的location。然后我在根目录里写了一个index.php和hello.php,浏览器访问localhost/index.php和其他的php可以访问,而hello.php却访问不了。然后就在文件夹里点击这些php文件,浏览器却显示下载该文件。问题出在哪里,该如何配置?

nginx本身不支持php解析,需要配合php-fpm来配置。

location ~ \\.php$ 
     root /var/www; #指定php的根目录
     fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;

centos下安装php-fpm (php及其它组件已经安装过的情况)

yum install php-fpm

启动php-fpm 并设置开机启动 (centos 7)

systemctl start php-fpm
systemctl enable php-fpm

参考技术A php没有启动,就当成普通文件了 参考技术B

送上一份nginx配置中文详解大典,你可以参考看下能不能解决你的问题nginx超全配置详解中文版

参考技术C localhost/hello.php 这样也不能访问?

以上是关于在nginx配置文件中location的index文件、htm文件有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Nginx Location 配置讲解

nginx配置支持php

Nginx Location 配置

关于 nginx location / 和 location = 的优先级

Nginx配置 隐藏入口文件index.php

nginx配置伪静态