Forum Linux.général debian9 : nginx changer le fichier de conf de demarrage

Posté par  . Licence CC By‑SA.
Étiquettes :
0
11
juil.
2018

Hello all,

Lorsque je lance nginx fraichement installé sur ma debian 9, il utilise le fichier de conf /etc/nginx/nginx.conf et plante avec l'erreur suivante.

    root@nginx-infra:/etc/nginx/conf.d# systemctl status nginx.service
    nginx.service - A high performance web server and a reverse proxy server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
       Active: failed (Result: exit-code) since Wed 2018-07-11 14:40:39 CEST; 5s ago
         Docs: man:nginx(8)
      Process: 20171 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
      Process: 20408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
     Main PID: 4013 (code=exited, status=0/SUCCESS)

    juil. 11 14:40:39 nginx-infra.aval.local systemd[1]: Starting A high performance web server and a reverse proxy server...
    juil. 11 14:40:39 nginx-infra.aval.local nginx[20408]: nginx: [emerg] getpwnam("nginx") failed in /etc/nginx/nginx.conf:1
    juil. 11 14:40:39 nginx-infra.aval.local nginx[20408]: nginx: configuration file /etc/nginx/nginx.conf test failed
    juil. 11 14:40:39 nginx-infra.aval.local systemd[1]: nginx.service: Control process exited, code=exited status=1
    juil. 11 14:40:39 nginx-infra.aval.local systemd[1]: Failed to start A high performance web server and a reverse proxy server.
    juil. 11 14:40:39 nginx-infra.aval.local systemd[1]: nginx.service: Unit entered failed state.
    juil. 11 14:40:39 nginx-infra.aval.local systemd[1]: nginx.service: Failed with result 'exit-code'.

Moi j'aimerai qu'il utilise le fichier de conf /etc/nginx/conf.d/lb.conf

Pouvez vous m'aider s'il vous plait

Merci

  • # au pif

    Posté par  . Évalué à 2.

    juil. 11 14:40:39 nginx-infra.aval.local nginx[20408]: nginx: [emerg] getpwnam("nginx") failed in /etc/nginx/nginx.conf:1

    le fichier /etc/nginx/nginx existe ?
    il ne faudrait pas l'editer avant de demarrer pour configurer quelques trucs de bases ?

    j'ai souvenir de logiciel comme cela, ou le fichier de conf contient volontairement une variable à changer, et tant qu'elle n'est pas changée, ca ne demarre pas

    • [^] # Re: au pif

      Posté par  . Évalué à 2.

      Normalement sur debian, nginx démarre out-the-box. Et la première ligne dans nginx.conf est :

      user www-data
      

      Vu l'erreur(« getpwnam("nginx") failed »), je dirais que ça a été remplacé par user nginx et qu'il n'y a pas de compte nginx.

      Donc soit il est pas si fraichement installé que ça, soit il y a une erreur dans la dernière version chez debian.

  • # Il est pas frais mon poisson ?

    Posté par  (site web personnel) . Évalué à 1. Dernière modification le 11 juillet 2018 à 14:59.

    Pas sur que ton nginx soit si frais que ça:

    nginx: [emerg] getpwnam("nginx") failed in /etc/nginx/nginx.conf:1

    Par défaut la configuration debian tourne sous l'utilisateur "www-data", de toute évidence tu as modifié le nginx.conf pour utiliser un utilisateur "nginx" qui n'existe pas sur ton système.

    Moi j'aimerai qu'il utilise le fichier de conf /etc/nginx/conf.d/lb.conf

    J'ai un doute que ton fichier partiel lb.conf suffise nginx, c'est le nginx.conf qui doit inclure une ligne du style "include /etc/nginx/conf.d/*.conf" qui va charger ce fichier.

    Pouvez vous m'aider s'il vous plait

    on peut essayer mais nous ne sommes pas devins, il va falloir donner beaucoup plus d'information, a minima le contenu des differents fichiers de configuration.

    de ton coté tu peut utiliser simplement la commande "nginx -t -q -g 'daemon on; master_process on;'" pour tester ta configuration, c'est ce que fait systemd et c'est ça qui renvoie l'erreur

    • [^] # Re: Il est pas frais mon poisson ?

      Posté par  (site web personnel) . Évalué à 1.

      nginx changer le fichier de conf de demarrage

      sinon, pour répondre à la question, il te faut modifier la configuration du service, pour cela tu peut faire 'systemctl edit nginx' ou créer manuellement un fichier /etc/systemd/system/nginx.service.d/override.conf + systemctl daemon-reload

      L'override devra contenir ceci:

      [Service]
      ExecStartPre=
      ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;' -c /etc/nginx/conf.d/lb.conf
      ExecStart=
      ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;' -c /etc/nginx/conf.d/lb.conf
      

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.