У меня возникли проблемы с тем, чтобы скрипт php работал с nginx. Вызов скрипта my-url: 90 / useraccessauthorization / useraccessauthorization.php дает мне ошибку 404.

Ниже приведены сведения о моей конфигурации. Может ли кто-нибудь сообщить мне, что мне не хватает? Заранее спасибо.

Изменить : я также должен упомянуть, что запуск "/etc/init.d/nginx reload" дает мне результат:

Reloading nginx configuration: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) 2012/05/10 16:07:13 [warn] 18214#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 2012/05/10 16:07:13 [emerg] 18214#0: open() "/var/run/nginx.pid" failed (13: Permission denied) nginx: configuration file /etc/nginx/nginx.conf test failed

/ etc / nginx / sites-available / default:

server {
    listen   90;
    root /usr/share/nginx/www;
    index index.html index.htm;
    access_log  /var/log/nginx/top-secret-project.access.log;
    server_name localhost;

    location / {
          try_files $uri $uri/ /index.html;
    }

    location /doc {
          root /usr/share;
          autoindex on;
          allow 127.0.0.1;
          deny all;
    }
}

server {
          listen 90;
          listen my-url:90;
          server_name my-url;

          access_log  /var/log/nginx/saba.access.log;

          location /assets/ {
                  autoindex on;
                  alias /home/kkaisare/Workspaces/top_secret_project/client/web/assets/;
          }

          location /private_content_server/ {
                  alias /home/kkaisare/Workspaces/top_secret_project/store/content/private_content_server/;
                  autoindex on;
          }

          location /production_content_server/ {
                  alias /home/kkaisare/Workspaces/top_secret_project/store/content/production_content_server/;
                  autoindex on;
          }

          include /etc/nginx/fastcgi_php;
  }

/ и т.д. / nginx / fastcgi_php:

location /useraccessauthorization/\.php$ {
    fastcgi_pass   unix:/var/run/php-fastcgi/php.sock;
    fastcgi_param  SCRIPT_FILENAME  /home/kkaisare/Workspaces/top_secret_project/store/content/production_content_server/$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
}
answer

Прежде всего вам действительно нужно исправить проблемы с конфигурацией. Если вы используете это не как root, не пытайтесь переключиться на другого пользователя. Хотя, если вы привязываетесь к порту 90, вам действительно нужно начать как root, поэтому либо привяжитесь к порту выше 1024, либо запустите его как root и позвольте nginx сбросить привилегию через директиву пользователя.

Во-вторых, ваш файл pid, поскольку вы не запускаете его как root, вам, вероятно, необходимо убедиться, что у вашего фактического пользователя есть доступ для чтения файла pid, созданного вашим сценарием инициализации. Пока вы не исправите эту проблему, вы не сможете динамически перезагружать конфигурацию.

Наконец, когда вышесказанное будет исправлено. Затем измените свое местоположение с

location /useraccessauthorization/\.php$ {

к

location ~ ^/useraccessauthorization/.+\.php$ {

как выглядит ваш /etc/nginx/nginx.conf ? Судя по всему, ваши ошибки связаны с тем, что вы не перезагружаете nginx ни как владелец, ни как суперпользователь.

Дважды проверьте разрешения для тех файлов, которые принадлежат пользователю nginx (обычно www / www), а также ошибка директивы пользователя будет исправлена перезагрузкой sudo /etc/init.d/nginx .