Si votre configuration n'inclut pas d' root /some/absolute/path;
instruction, ou en inclut une qui utilise un chemin relatif commeroot some/relative/path;
, alors le chemin résultant dépend des options de compilation.
Probablement le seul cas qui vous permettrait de faire une supposition éclairée de ce que cela signifie pour vous, si vous téléchargiez et compiliez vous-même la source. Dans ce cas, les chemins seraient relatifs à ce qui a --prefix
été utilisé. Si vous ne l'avez pas modifié, il est par défaut /usr/local/nginx
. Vous pouvez trouver les paramètres avec lesquels nginx a été compilé via nginx -V
, il apparaît --prefix
comme le premier.
Étant donné que la root
directive est par défauthtml
, cela résulterait bien sûr en /usr/local/nginx/html
la réponse à votre question.
Cependant, si vous avez installé nginx de toute autre manière, tous les paris sont désactivés. Votre distribution peut utiliser des chemins par défaut entièrement différents. Apprendre à comprendre quel type de valeurs par défaut votre distribution de choix utilise pour les choses est une autre tâche entièrement.
nginx -V 2>&1 | grep --color -o -e '--prefix=[^[:space:]]\+'
vous donne la maison nginx.Si vous installez sur Ubuntu en utilisant apt-get, essayez
/usr/share/nginx/www
.ÉDITER:
Sur les versions plus récentes, le chemin d'accès est devenu:
/usr/share/nginx/html
MODIFICATION 2019:
Pourrait essayer
/var/www/html/index.nginx-debian.html
aussi.la source
Le répertoire Nginx par défaut sur Debian est
/var/www/nginx-default
.Vous pouvez vérifier le fichier:
/etc/nginx/sites-enabled/default
et trouve
La racine est l'emplacement par défaut.
la source
html
.default site
est activé?'racine Web publique par défaut' peut être trouvée à partir de la sortie nginx -V:
la valeur --prefix est la réponse à la question. pour l'exemple au-dessus de la racine est / var / lib / nginx
la source
Sur Mac OS X, l'installation de nginx avec brew crée le répertoire par défaut:
Alors:
veux dire
Il n'y a pas de répertoire html donc il faudrait le créer manuellement.
la source
root html
,index.html
et50x.html
est mis directement/usr/local/var/www
. Par conséquent, je doute qu'il existe unhtml
dossier. Pourriez-vous m'aider?/usr/local/Cellar/nginx/1.10.2_1/html
où 1.10.2_1 est la version nginx./usr/local/Cellar/nginx/1.12.0_1/html -> ../../../var/www/
et lenginx -V
montre:--prefix=/usr/local/Cellar/nginx/1.12.0_1
il enroot html
est de même pour une redirection via ce lien.Vous pouvez simplement mapper le dossier racine de nginx à l'emplacement de votre site Web:
à l'intérieur de fichier par défaut , recherchez la racine dans la balise du serveur et modifiez le dossier par défaut de votre site Web, par exemple mes sites Web sont dans / var / www
Lorsque j'évaluais nginx, apache2 et lighttpd, je les ai tous mis en correspondance avec mon site Web à l'adresse / var / www . J'ai trouvé que c'était la meilleure façon d'évaluer efficacement.
Ensuite, vous pouvez démarrer / arrêter le serveur de votre choix et voir celui qui fonctionne le mieux.
par exemple
Btw, nginx est en fait très rapide!
la source
comme la plupart des utilisateurs l'ont dit ici, c'est sous ce chemin:
C'est le chemin par défaut, mais vous pouvez faire le vôtre.
tout ce dont vous avez besoin est d'en créer un dans l'arborescence racine du serveur Web et de lui donner des autorisations "pas 0777" et uniquement pour un utilisateur et visible par cet utilisateur uniquement, mais la fin du chemin est visible par tout le monde depuis la fin du chemin est ce que vos fichiers et dossiers seront affichés par le public.
par exemple, vous pouvez en créer un comme ceci:
chaque fois que vous créez un hôte virtuel dans Nginx, vous pouvez personnaliser votre propre chemin racine, ajoutez simplement quelque chose comme ceci dans votre bloc serveur:
la source
/usr/share/nginx/html/
folder. Y a-t-il une raison de changer ce chemin (pour des raisons de sécurité ou pour toute autre raison)? Est-il correct de le laisser dans le dossier par défaut si je vais être le seul utilisateur et si je ne vais y héberger qu'un site Web?Le dossier Web par défaut pour nginx dépend de la façon dont vous l'avez installé, mais normalement il se trouve à ces emplacements:
la source
Pour les images Ubuntu et docker:
la source
Exécutez la commande
nginx -V
et recherchez le fichier--prefix
. Utilisez cette entrée pour localiser vos chemins par défaut.la source
Vider la configuration:
Ce que vous obtenez peut être différent car cela dépend de la façon dont votre a
nginx
été configuré / installé.Références:
-T
option sur laman
page-T
option dans le message d'aideMise à jour: il y a une certaine confusion sur la question de savoir si / quand l'
-T
option a été ajoutéenginx
. Il a été documenté dans la page de manuel de vl-homutov le 16 juin 2015, qui a été intégrée à la version v1.9.2 . Il est même mentionné dans les notes de version . L'-T
option est présente dans chaquenginx
version depuis, y compris celle disponible sur Ubuntu 16.04.1 LTS:la source
-T
option. L'-T
option manque-t-elle dans votre installation particulière? Pouvez-vous montrer quoi que ce soit pour étayer votre réclamation?Regardez dans le fichier de configuration nginx pour être sûr. Cette commande recherche tout ce qui est configuré sur votre machine:
sur ma machine, c'était: `root / usr / share / nginx / www;
la source
Sur Mac, installez nginx avec brew:
/usr/local/etc/nginx/nginx.conf
la source
Pour CentOS, Ubuntu et Fedora, le répertoire par défaut est
/usr/share/nginx/html
la source
var/www/html
.Pour AWS EC2 Linux, vous trouverez ici:
la source
Dans mon cas, c'était
/usr/share/nginx/html
vous pouvez essayer de trouver en effectuant une recherche
la source
Si vous êtes sur Ubuntu 14.04, vous pouvez trouver le répertoire nginx www au chemin suivant:
la source
var/www/html
.Vous pouvez le rechercher, peu importe où ils l'ont déplacé (administrateur système déplacé ou version plus récente de nginx)
la source
Si vous avez besoin de découvrir le dossier racine public nginx qui a été défini au moment de la compilation, vous pouvez simplement vérifier votre fichier access.log.
Voici un exemple de la section http de nginx.conf avec la directive log_format modifiée , $ document_root est ajouté au début de la chaîne:
Sauvegardez ensuite tous les fichiers de configuration * .conf dans le répertoire conf.d et créez-y le fichier de configuration, test.conf avec les lignes suivantes:
Ajoutez la ligne suivante au fichier / etc / hosts:
127.0.0.1 localhost
Recharger la configuration nginx:
nginx -s reload
Envoyez la demande GET à http: // localhost :
curl http://localhost
Vérifiez la dernière chaîne de access.log :
tail -n 1 /var/log/nginx/access.log
Voici l'exemple de sortie de cette commande, où / etc / nginx / html est la racine de document par défaut définie au moment de la compilation:
la source
vous pouvez accéder au fichier config nginx, vous pouvez voir root / path. dans ce défaut d'Apache Nginx à
/var/www/html
la source
/var/www/html
est la racine Web par défaut pour apache, pas nginx.* pages Web par défaut allouées dans var / www / html * serveur de configuration par défaut etc / nginx / sites / avaliable / nginx.conf
* serveur de configuration par défaut etc / nginx / nginx.conf
contenu..
journaux d'accès par défaut avec les clients ip var / log / nginx / ...
la source
Juste pour noter que la page d'index par défaut du serveur nginx affichera également l'emplacement racine. Du nginx (1.4.3) sur Amazon Linux AMI, vous obtenez les éléments suivants:
Il s'agit de la page index.html par défaut qui est distribuée avec nginx sur l'AMI Amazon Linux. Il se trouve dans / usr / share / nginx / html.
Vous devez maintenant placer votre contenu dans un emplacement de votre choix et éditer la directive de configuration racine dans le fichier de configuration nginx /etc/nginx/nginx.conf
la source
Mon nginx sur Ubuntu est "version nginx: nginx / 1.9.12 (Ubuntu)" et le chemin racine est / var / www / html /
Les informations sur Ubuntu sont: Aucun module LSB n'est disponible. ID du distributeur: Ubuntu Description: Ubuntu 16.04 LTS Version: 16.04 Nom de code: xenial
En fait, si vous venez d'installer nginx sur Ubuntu, vous pouvez aller dans "/ etc / nginx / sites-available" et vérifier le fichier par défaut, il y a une configuration comme "root / web / root / path / va / ici". Et c'est ce que vous recherchez.
la source
Vous pouvez le trouver dans / var / www / qui est le répertoire par défaut pour nginx et apache mais vous pouvez le changer. étape 1 allez dans le dossier suivant / etc / nginx / sites-available
étape 2 éditez le fichier par défaut en ce que vous pouvez trouver un bloc serveur sous lequel il y aura une ligne nommée en tant que racine qui définit l'emplacement.
la source
dans Ubuntu 19.04, nous l'avons trouvé sur
la source
Pour nginx / 1.4.6 (Ubuntu)
la source
Dans Ubuntu, l'emplacement du répertoire racine par défaut de Nginx est
/usr/share/nginx/html
la source
La valeur par défaut est liée à l'
prefix
option duconfigure
script lorsque nginx est compilé; voici un exemple étrange de Debian:Par la suite, la valeur par défaut de
root
est définie dans lehtml
répertoire (selon la documentation de laroot
directive ), qui se trouve à l'intérieurprefix
, comme cela peut être vérifié en regardant la$document_root
variable à partir d'un simple fichier de configuration:Cependant, les distributions maléfiques comme Debian semblent le modifier un peu, pour vous divertir davantage:
Donc, sur cette instance de Debian, vous pouvez voir que la racine est finalement définie sur
/usr/share/nginx/www
.Mais comme vous l'avez vu avec l'exemple de configuration de serveur qui servirait sa
$document_root
valeur sur http, la configuration de nginx est assez simple pour que vous puissiez écrire votre propre configuration en une ou deux lignes, en spécifiant la configuration requiseroot
pour répondre à vos besoins exacts.la source
root html;
, je veux dire quel est le vrai chemin?J'ai également eu ce problème sur Digital Ocean en exécutant un site Web WordPress avec nginx.
Ma solution était de faire ce qui suit:
/etc/nginx/nginx.conf
fichier avec les éléments suivants:J'ai dû
sudo service nginx restart
nginx -V
La commande vous montre également où se trouve votre fichier de configuration nginx (le mien a été pointé/etc/nginx/nginx.conf
)la source
Alpine Linux n'a aucun emplacement par défaut. Le dossier
/etc/nginx/conf.d/default.conf
dit:Remplacez ceux par une ligne comme
root /var/www/localhost/htdocs
pour pointer vers le répertoire que vous souhaitez. Puissudo service nginx restart
pour redémarrer.la source
nginx:alpine
image et elle sert le contenu/usr/share/nginx/html
de la boîte.apk add nginx
vous installez manuellement nginx à partir du propre gestionnaire de packages d'Alpine, vous obtenez la situation décrite dans ma réponse (ou c'était le cas lorsque je l'ai essayé il y a quelques mois de toute façon).