Il existe de nombreux didacticiels sur la façon d'écrire des règles de réécriture Nginx pour imiter le fichier .htaccess d'Apache, mais je ne peux pas dire avec certitude que je connais le nom ou l'emplacement de ce soi-disant fichier de configuration Nginx. Je recherche spécifiquement le fichier de configuration Nginx qui vous permet d'écrire le chemin du serveur et les directives PHP. J'utilise Ubuntu 12 linux et Codeigniter comme framework PHP.
Voici ce que je sais jusqu'à présent:
- Ce fichier:
/etc/nginx/nginx.conf
malgré son nom attrayant n'est apparemment pas le lieu des directives serveur. - Ce fichier:
/etc/nginx/sites-available/default
semble être ce dont j'ai besoin (je suis capable de générer des erreurs php spécifiques à mon application) mais je ne peux pas obtenir le routage de chemin spécifique à Codeigniter correct. Tout d'abord, est-ce le fichier "config" / l'équivalent .htaccess dont tout le monde parle?
php
apache-2.2
.htaccess
codeigniter
nginx
Tim Peterson
la source
la source
nginx -V
ce que vous pouvez trouver dans le manuel avecman nginx
. L'-V
option est documentée comme "-V Imprimer la version nginx, la version du compilateur et configurer les paramètres de script.". Singinx
n'est pas sur votre chemin, utilisezwhich nginx
qui renvoie le chemin complet vers nginx$(which nginx) -V
Réponses:
J'utilise PHP avec nginx sur mon serveur de développement avec la configuration suivante:
en
/etc/nginx/nginx.conf
I ajouté:include /etc/nginx/sites-enabled/*;
avant le dernier}
.exécutez les commandes suivantes pour créer vos configurations de site:
éditer la configuration du site, quelques configurations possibles (c'est ce à quoi j'ai fait référence dans ma configuration): http://kbeezie.com/view/nginx-configuration-examples/
lien vers le site disponible pour l'activer
gardez à l'esprit que vous pouvez réellement inclure des fichiers dans les configurations presque n'importe où, ce qui facilite la création de plusieurs sites lorsque vous souhaitez regrouper des configurations similaires.
Oui, .htaccess est comparable au
server{}
bloc dans nginx, mais ils sont également très différents. nginx a une approche beaucoup plus légère pour analyser la configuration, et il n'analysera pas les répertoires du site pour une configuration supplémentaire, uniquement ce qui est vu par nginx.conf.la source
/etc/nginx/nginx.conf
fichier a déjà toutinclude /etc/nginx/sites-enabled/*;
à la fin. Il semble que ces 2 fichiers se parlent sur mon serveur et maintenant je traite des problèmes spécifiques à Codeigniter. Utilisez-vous codeigniter? Il y a un peu de funkiness sur le chemin que je dois maîtriser ...root
paramètre. N'hésitez pas à consulter mes questions si vous avez besoin d'inspiration.