web-dev-qa-db-fra.com

nginx: [Emerg] directive inconnue "" dans /etc/nginx/sites-enabled/example.com:3

J'ai suivi ce site Web http://raspberrypihelp.net/tutorials/24-raspberry-pi-webserver pour configurer le serveur HTTP nginx sur mon Raspberry Pi et essayer de configurer un appel de site example.com . Mais quand je lance Sudo service nginx restart, Ça disait

Redémarrage de nginx: nginx: [Emerg] directive inconnue "" dans /etc/nginx/sites-enabled/example.com:3

Voici le code dans example.com .

    server {

    server_name example.com 192.168.1.88;

    access_log /srv/www/example.com/logs/access.log;

    error_log /srv/www/example.com/logs/error.log;

    root /srv/www/example.com/public/;

    location / {

        index index.php index.html index.htm;

        try_files $uri $uri/ /index.php?$args;

    }

    location ~ \.php$ {

        include /etc/nginx/fastcgi_params;

        fastcgi_pass unix:/var/run/php5-fpm.sock;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public$fastcgi_script_name;

    }

    location /phpmyadmin {

        root /usr/share/;

        index index.php index.html index.htm;

        location ~ ^/phpmyadmin/(.+\.php)$ {

            try_files $uri =404;

            root /usr/share/;

            fastcgi_pass unix:/var/run/php5-fpm.sock;

            fastcgi_index index.php;

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include /etc/nginx/fastcgi_params;

        }

        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {

            root /usr/share/;

        }

    }

    location /phpMyAdmin {

        rewrite ^/* /phpmyadmin last;

    }

}

Je suis juste en train de suivre les étapes mais cela ne peut pas fonctionner correctement.

11
Confucius

J'ai eu le même problème, c'est que j'ai copié/collé le code de configuration à partir du Web et quelques caractères EOL (fin de ligne) sales là où.

L'éditeur ne les a pas montrés, mais nginx les a traités comme une directive.

Juste supprimé tous les EOL et ajouté à nouveau.

17
Andres Bott

Il semble que vous ayez fait du copier-coller ici. Il n'est pas rare d'attraper des caractères supplémentaires qui sont invisibles à la fin de la ligne (EOL). Essaye ça:

Exécutez votre texte via cet outil: http://www.textfixer.com/tools/remove-line-breaks.php

corrigez ensuite les ruptures qui ont pu être supprimées et qui seront affectées par les commentaires.

Cela a fonctionné pour moi. J'espère que ça marche pour toi.

8
Philll_t

Il semble que le binaire nginx ait été compilé avec l'option --without-http_fastcgi_module. Ce n'est pas par défaut. Essayez de télécharger ou de compiler un autre binaire.

Essayez de courir

nginx -V

(avec majuscule V) pour voir quelles options ont été utilisées pour compiler le nginx.

1
Ahmed

J'ai édité du texte au milieu du fichier conf et nginx a commencé à montrer cette erreur au début du fichier lui-même. J'ai copié le contenu du fichier, créé un nouveau fichier, collé le contenu là-bas et nginx a cessé d'afficher cette erreur.

0
shanmuga raja

J'ai rencontré un problème similaire avec un message d'erreur comme "directive inconnue 'index.html'" lors de l'exécution de 'Sudo nginx -t'. Après avoir corrigé les erreurs de syntaxe HTML dans index.html, le problème a été résolu.

0
Malathy