Existem muitos tutoriais sobre como escrever regras de reescrita do Nginx para imitar o arquivo .htaccess do Apache, mas não posso dizer com segurança que sei qual é o nome ou o local desse chamado arquivo de configuração do Nginx. Estou procurando especificamente o arquivo de configuração do Nginx que permite escrever o caminho do servidor e as diretivas PHP. Estou usando o Ubuntu 12 linux e Codeigniter como minha estrutura PHP.
Aqui está o que eu sei até agora:
- Este arquivo:
/etc/nginx/nginx.conf
apesar de seu nome atraente, aparentemente não é o lugar para diretivas de servidor. - Este arquivo:
/etc/nginx/sites-available/default
parece o que eu preciso (sou capaz de gerar erros de php específicos para meu aplicativo), mas não consigo corrigir o roteamento de caminho específico do Codeigniter. Primeiro de tudo, é este o arquivo "config" / .htaccess equivalente que todo mundo fala?
php
apache-2.2
.htaccess
codeigniter
nginx
Tim Peterson
fonte
fonte
nginx -V
que você pode encontrar no manualman nginx
. A-V
opção está documentada como "-V Imprima a versão nginx, versão do compilador e configure os parâmetros do script". Senginx
não estiver em seu caminho, o usowhich nginx
que retorna o caminho completo para nginx$(which nginx) -V
Respostas:
Eu uso PHP com nginx no meu servidor de desenvolvimento com a seguinte configuração:
em
/etc/nginx/nginx.conf
acrescentei:include /etc/nginx/sites-enabled/*;
antes do último}
.execute os seguintes comandos para criar as configurações do seu site:
edite a configuração do site, algumas configurações possíveis (isto é o que me referi na minha instalação): http://kbeezie.com/view/nginx-configuration-examples/
link para o site disponível para ativá-lo
lembre-se de que você pode realmente incluir arquivos nas configurações em praticamente qualquer lugar, isso facilita a criação de vários sites quando você deseja criar configurações semelhantes.
Sim, o .htaccess é comparável ao
server{}
bloco no nginx, mas eles também são muito diferentes. O nginx tem uma abordagem muito mais leve para analisar a configuração, e não examinará os diretórios do site em busca de configurações adicionais, apenas o que for visto pelo nginx.conf.fonte
/etc/nginx/nginx.conf
arquivo já teminclude /etc/nginx/sites-enabled/*;
no final. Parece que esses dois arquivos estão conversando no meu servidor e agora estou lidando com problemas específicos do Codeigniter. Você está usando codeigniter? Há alguma funkiness caminho que eu preciso para obter uma alça sobre ...root
parâmetro. Sinta-se livre para verificar minhas perguntas, se você precisar de alguma inspiração.