我有一个Nginx服务,它被配置为在我的Windows 10上自动启动;但是,今天早上,服务不会开始。
错误日志显示:nginx:[alert] could not open error log file: CreateFile() "C:\someForlderName\build\distribution\.\nginx/logs/error.log" failed (3: The system cannot find the path specified)
查看上面错误日志中的路径,我的本地系统上没有/ logs /文件夹,所以看起来Nginx没有创建该文件夹的适当权限?
我设置为 管理员用户 ,我的服务设置为 登录身份 - 本地系统帐户
这只发生在Windows 10上;但服务开始并继续工作 较旧的Windows,即8.1
所以有人知道如何授予Nginx管理员权限,以便Nginx可以在Windows 10上创建文件夹和文件吗?
答案 0 :(得分:3)
你需要:
要安装nginx / Windows,请下载最新的主线版本发行版(1.13.8),因为nginx的主线分支包含所有已知的修复程序。然后解压缩发行版,转到nginx-1.13.8目录,然后运行nginx。以下是驱动器C:根目录的示例:(以管理员身份运行cmd )
cd c:\
unzip nginx-1.13.8.zip
cd nginx-1.13.8
start nginx
转到:http://localhost:80 - >测试安装
Goback to console cmd:" nginx -s stop"
下次运行:
和
nginx -s stop #fast shutdown
nginx -s退出#graceful shutdown
nginx -s reload #changing配置,使用新配置启动新的工作进程,正常关闭旧工作进程
nginx -s重新打开#re-opening log files
答案 1 :(得分:2)
在运行nginx.exe的目录下,尝试在log下创建名为logs的目录和名为error.log的文件。 它应该传递这个错误。
答案 2 :(得分:1)
nginx.exe
文件的文件夹,然后将其粘贴到C:/
文件夹中。nginx -s stop
之类的命令时,请确保当前的工作目录与nginx.exe
文件相同。
enter image description here 答案 3 :(得分:0)
这里有些答案是旧答案。
其他无法解决无法启动的问题。
以下解决了我的问题,服务器无法启动:
我已将服务器端口更改为侦听8080,而不是80,因为80已被另一个应用程序使用。
文件:C:\ nginx-1.16.1 \ conf \ nginx.conf
更改自:
server {
listen 80;
server_name localhost;
收件人:
server {
listen 8080;
server_name localhost;
希望有帮助。
答案 4 :(得分:0)
Nginx从默认端口80(而不是8080)启动。在浏览器上尝试localhost:80。
如果要更改端口,请使用文本编辑器打开C:\ nginx-1.16.1 \ conf \ nginx.conf。 更改端口号要使用的默认端口。
server {
listen 80;
server_name localhost;
to:
server {
listen 8080;
server_name localhost;
答案 5 :(得分:0)
我在启动 nginx 服务器时遇到了类似的问题,但在仔细查看并尝试在不同的控制台中运行命令后,我意识到这只是一个缺少路径的简单问题。
我的解决方法是将 cd 放入 nginx.exe 文件(实际上包含错误日志和所有必要文件)的包含文件夹中,然后运行 nginx
命令启动服务器并修复它我。