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

Как настроить сокет Nginx и PHP-FPM

Это моя третья попытка опубликовать этот вопрос после неправильной публикации как суперпользователю, так и переполнению стека. Надеюсь, это правильное место!

Я взял на себя управление веб-хостингом компании, который представляет собой сервер AWS, на котором установлена ​​собственная версия Linux и Nginx от Amazons.

У меня нет большого опыта работы с Nginx, но мне нужно создать поддомен, на котором будет запущена разрабатываемая версия сайта. Уже существует виртуальный хост "Промежуточный", однако он связан с базой данных основных сайтов, что делает его бесполезным.

Я скопировал промежуточный файл conf из /etc/nginx/conf.d/staging.conf в /etc/nginx/conf.d/dev.conf и изменил все экземпляры «staging» в файле на «dev».

Вот как выглядит файл:

upstream php-dev-backend {
    server unix:/tmp/php-fpm-dev.sock weight=1;
}

server {
    server_name dev.groundlevel.co.uk;
    listen 80;

    root /var/www/vhosts/dev.groundlevel.co.uk/web-root;

    index index.html index.htm index.php;
    access_log /var/log/nginx/dev.groundlevel.co.uk_access_log;
    error_log /var/log/nginx/dev.groundlevel.co.uk_error_log;
    location @handler {
        rewrite / /index.php;
    }
location / {
    index index.php index.html;
        try_files $uri $uri/ @handler;
        expires 30d;
    }

include magento_security;

include fastcgi_params;
location ~ \.php$ {
        if (!-e $request_filename) {
             rewrite / /index.php last;
        }
        include fastcgi_params;
        fastcgi_pass php-dev-backend;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }
}

Однако это приводит к ошибке 502, поскольку /tmp/php-fpm-dev.sock не существует, и я не знаю, как его создать. Или, если я могу изменить файл conf, чтобы не использовать сокет.

Может кто-нибудь объяснить, как запустить сокет? Спасибо!

Проверьте, работает ли PHP-FPM с service php-fpm status если не запустить службу с service php-fpm start (и проверьте файл журнала на наличие возможных ошибок). Чтобы включить PHP-FPM при запуске, выполните chkconfig php-fpm on

Если у вас работает не более одного php-fpm, укажите ваши виртуальные хосты на один и тот же сокет php-fpm.