Nginx服务无法在Windows 10上启动 - nginx:[alert]无法打开错误日志文件:CreateFile()

时间:2016-02-19 17:12:57

标签: nginx windows-10 file-permissions

我有一个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上创建文件夹和文件吗?

6 个答案:

答案 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"

下次运行:

  1. 配置文件:" C:\ nginx-1.13.8 \ conf \ nginx.conf"
  2. 以管理员身份打开cmd
  3. 运行bash:" cd C:\ nginx-1.13.8"
  4. 使用bash运行nginx:"启动nginx" 。如果你使用bash运行:" nginx",退出nginx会遇到麻烦。
  5. 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)

  1. 下载zip文件后,您已解压缩。
  2. 确保您没有嵌套的文件夹名称。您必须复制其中包含nginx.exe文件的文件夹,然后将其粘贴到C:/文件夹中。
  3. 在运行诸如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 命令启动服务器并修复它我。