web-dev-qa-db-fra.com

Quels sont le nom et l'emplacement du fichier de configuration Nginx (équivalent htaccess)?

Il existe de nombreux tutoriels 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 mon PHP = cadre.

Voici ce que je sais jusqu'à présent:

  1. Ce fichier: /etc/nginx/nginx.conf malgré son nom attrayant n'est apparemment pas le lieu des directives serveur.
  2. Ce fichier: /etc/nginx/sites-available/default semble être ce dont j'ai besoin (je peux 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 l'équivalent du fichier "config"/.htaccess dont tout le monde parle?
31
tim peterson

J'utilise PHP avec nginx sur mon serveur de développement avec la configuration suivante:

  1. dans /etc/nginx/nginx.conf J'ai ajouté: include /etc/nginx/sites-enabled/*; avant le dernier }.

  2. exécutez les commandes suivantes pour créer vos configurations de site:

    mkdir /etc/nginx/sites-available/
    mkdir /etc/nginx/sites-enabled/
    cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/<site>
    
  3. é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/

  4. lien vers le site disponible pour l'activer

    ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/<site>
    
  5. 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.

28
abestic9