Nginx 配置文件(相当于 htaccess)的名称和位置是什么?

tim*_*son 32 php nginx .htaccess codeigniter apache-2.2

有很多关于如何编写 Nginx 重写规则来模仿 Apache 的 .htaccess 文件的教程,但我不能自信地说我知道这个所谓的 Nginx 配置文件的名称或位置实际上是什么。我特别在寻找允许您编写服务器路径和 PHP 指令的 Nginx 配置文件。我使用 Ubuntu 12 linux 和 Codeigniter 作为我的 PHP 框架。

以下是我目前所知道的:

  1. 这个文件:/etc/nginx/nginx.conf尽管它的名字很吸引人,但它显然不是服务器指令的地方。
  2. 这个文件:/etc/nginx/sites-available/default似乎是我需要的(我能够生成特定于我的应用程序的 php 错误),但我无法使 Codeigniter 特定的路径路由正确。首先,这是每个人所说的“配置”文件/.htaccess 等价物吗?

小智 29

我在我的开发服务器上使用 PHP 和 nginx,配置如下:

  1. /etc/nginx/nginx.conf我补充说:include /etc/nginx/sites-enabled/*;在最后一个之前}

  2. 运行以下命令来创建站点配置:

    mkdir /etc/nginx/sites-available/
    mkdir /etc/nginx/sites-enabled/
    cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/<site>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 编辑站点配置,一些可能的配置(这是我在设置中提到的):http : //kbeezie.com/view/nginx-configuration-examples/

  4. 链接到可用站点以启用它

    ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/<site>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 请记住,您实际上几乎可以在任何地方在配置中包含文件,当您想将类似的配置放在一起时,这使得创建多个站点变得容易。

是的,.htaccess 可以与server{}nginx 中的块进行比较,但它们也非常不同。nginx 有一种更轻量级的方法来解析配置,它不会扫描站点目录以获取其他配置,只会扫描 nginx.conf 看到的内容。