Maison > Questions et réponses > le corps du texte
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.
滿天的星座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 :
shell
E:\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
仅有的幸福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
.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
迷茫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...