Назад | Перейти на главную страницу

NGINX macOS Sierra brew vs sudo

Я столкнулся с проблемой, когда NGINX ведет себя по-разному со следующими командами запуска:

brew services start nginx

против

sudo nginx

Когда я запускаю nginx с sudo nginx, вроде все нормально работает. Но когда я пытаюсь запустить nginx с brew service start nginx, он запустился бы и работал нормально, если бы я загружал страницы, которые загружал перед использованием sudo nginx, но ничего нового не загружалось. Я бы использовал sudo nginx чтобы сначала загрузить эту страницу.

brew services list показывает nginx как запущенный, но статус желтого цвета

Name  Status  User    Plist
nginx started usera /Users/usera/Library/LaunchAgents/homebrew.mxcl.nginx.plist
php71 started usera /Users/usera/Library/LaunchAgents/homebrew.mxcl.php71.plist

Вот мой nginx.conf файл

user usera admin;
worker_processes 1;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {
        listen 8080;
        server_name localhost;

        location / {
            root html;
            index index.html index.htm;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }

    # Include Configuration
    #include conf.d/*.conf;

    # Include Enabled Sites
    include sites-enabled/*;

    include servers/*;
}

default файл конфигурации службы

server {
    listen 8080;
    server_name default.localhost;

    location / {
        root html/default;
        index index.html index.htm;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

nginx должен быть запущен как root, чтобы иметь доступ ко всем необходимым ресурсам. Его можно настроить для работы без полномочий root.

В качестве альтернативы его можно запустить с помощью sudo на brew services команда:

sudo brew services start nginx