Maison  >  Questions et réponses  >  le corps du texte

Problème avec l'erreur de rapport nginx lors du redémarrage sous la ligne de commande Windows

Supposons que vous saisissiez la commande suivante sous Windows :

E:\mywamp\apache2.2\bin>E:\mywamp\nginx-1.6.2\nginx.exe -s reload

Ensuite, le résultat d'entrée est comme ceci :

nginx: [alert] could not open error log file: CreateFile() "logs/error.log" failed (3: The system cannot find the path specified)
2015/01/26 22:07:10 [emerg] 5164#5196: CreateFile() "E:\mywamp\apache2.2\bin/conf/nginx.conf" failed (3: The system cannot find the path specified)

La solution est de d'abord accéder au répertoireE:mywampapache2.2bin>E:mywampnginx-1.6.2,然后运行nginx -s reload. J'ai l'impression que c'est trop gênant. J'aimerais demander s'il existe un moyen plus simple.

漂亮男人漂亮男人2712 Il y a quelques jours1198

répondre à tous(4)je répondrai

  • 滿天的星座

    滿天的星座2017-05-16 17:27:26

    L'option -c de

    nginx peut spécifier le chemin d'accès au fichier de configuration, vous pouvez donc essayer de spécifier le chemin absolu lors de la spécification du fichier journal dans le fichier de configuration, comme E:mywampnginx-1.6.2logsaccess.log (empêcher le journal de erreur d'ouverture du fichier journal), puis utilisez le chemin absolu du fichier de configuration lors de l'exécution du rechargement nginx :

    shellE:\mywamp\nginx-1.6.2\nginx.exe -s reload -c E:\mywamp\nginx-1.6.2\conf\nginx.conf
    

    Cependant, il semble qu'il y ait encore des problèmes ci-dessus, qui sont tous des problèmes de chemin. Nginx s'appuie trop sur le chemin actuel.

    Essayez ensuite de trouver un moyen de réinitialiser le répertoire actuel avant d'exécuter la commande nginx. Sous Windows, vous pouvez utiliser la commande start et le paramètre /D pour spécifier le répertoire de démarrage. Alors juste comme çastart /D E:mywampnginx-1.6.2 nginx -s reload

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:27:26

    Tout d’abord, puisque vous choisissez nginx, ne l’utilisez pas sous Windows, l’efficacité est bien pire que sous Linux.

    Deuxièmement, la raison pour laquelle ce fichier ne peut pas être ouvert est évidemment que le chemin relatif par défaut n'est pas reconnu. Modifiez le fichier nginx.conf et ajustez l'adresse du chemin d'accès_log.

    Enfin, il est recommandé d'ajouter la commande nginx directement aux variables d'environnement. Il en va de même sous Linux. Veuillez vous référer à Java pour configurer les variables d'environnement

    .

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-16 17:27:26

    Ajoutez le paramètre -p pour spécifier le chemin et la solution sera parfaite
    E:mywampapache2.2bin>E:mywampnginx-1.6.2nginx.exe -p E:mywampnginx-1.6.2 -s reload

    répondre
    0
  • 迷茫

    迷茫2017-05-16 17:27:26

    N'ajoutez pas Nginx au chemin, créez un fichier nginx.cmd sous l'un de vos propres chemins :

    @set nginx_path=D:\Local\Nginx
    @echo off
    pushd %nginx_path%
    if "%*" == "" (
      start /b %nginx_path%\nginx.exe
    ) else (
      call %nginx_path%\nginx.exe %*
    )
    popd

    La solution qui m'est soudainement venue à l'esprit aujourd'hui, même si ce problème existe depuis deux ans (
    https://gist.github.com/hyrio...

    répondre
    0
  • Annulerrépondre