有许多教程关于如何编写 Nginx 重写规则来模仿 Apache 的 .htaccess 文件,但我不能自信地说我知道这个所谓的 Nginx 配置文件的实际名称或位置。我专门寻找允许您编写服务器路径和 PHP 指令的 Nginx 配置文件。我使用 Ubuntu 12 linux 和 Codeigniter 作为我的 PHP 框架。
以下是我目前所知道的情况:
- 这个文件:
/etc/nginx/nginx.conf
尽管它的名字很诱人,但显然不是服务器指令的位置。 - 此文件:
/etc/nginx/sites-available/default
似乎是我需要的(我能够生成特定于我的应用程序的 php 错误),但我无法正确获取特定于 Codeigniter 的路径路由。首先,这是每个人都在谈论的“配置”文件/.htaccess 等效文件吗?
答案1
我在开发服务器上使用 PHP 和 nginx,配置如下:
在最后一个之前
/etc/nginx/nginx.conf
我补充道:include /etc/nginx/sites-enabled/*;
}
运行以下命令来创建您的站点配置:
mkdir /etc/nginx/sites-available/ mkdir /etc/nginx/sites-enabled/ cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/<site>
编辑站点配置,一些可能的配置(这是我在设置中所提到的):http://kbeezie.com/view/nginx-configuration-examples/
链接到可用的网站以启用它
ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/<site>
请记住,您实际上可以在几乎任何地方的配置中包含文件,当您想要将类似的配置放在一起时,这使得创建多个站点变得容易。
是的,.htaccess 与 nginx 中的块类似server{}
,但它们也有很大不同。nginx 有一种更轻量级的方法来解析配置,它不会扫描站点目录以获取其他配置,只会扫描 nginx.conf 看到的内容。