LINUX.ORG.RU

php-fpm

 ,


1

1

Пытаюсь заставить взлететь связку nginx+php_fpm. Так вот появился такой глупый вопрос, куда положить файлы для fast_cgi на удалённом сервере? Нигде в документации этого нет. Везде предполагается, что php-fpm крутится на том же хосте, что и nginx.

Кусок конфига nginx (этого же должно быть достаточно?):

    location /php/ {
        include fastcgi_params;
        fastcgi_pass   192.168.122.11:9000;
    }
fastcgi_params дефолтный:
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

куда положить файлы для fast_cgi на удалённом сервере?

твои скрипты что ли?

cat /etc/nginx/sites-enabled/default |grep -v '#'
server {
	listen   80;

	root /home/www/wordpress;
index index.php;
location / {
 try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ .php$ {
 try_files $uri =404;
include fastcgi_params;
 fastcgi_index index.php;
 fastcgi_pass php5-fpm;
}

блабла
}

xtraeft ★★☆☆ ()
Ответ на: комментарий от xtraeft

Не совсем понял, что имеется в виду.

У меня есть nginx на одном сервере, php-fpm на другом. Хочется чтобы все запросы такого вида http://server1/php/myscript.php передавались на server2 с php-fpm. Так вот вопрос, что мне нужно прописать в php-fpm.conf на втором сервере, и куда положить на нём файл myscript.php. Сейчас на все запросы в http://server1/php/... nginx отвечает 200 и показывает пустую страницу.

generator ★★★ ()

А че на разных серверах? nginx настолько легковесный, что его запросто можно держать на сервере приложений. Зато можно будет использовать unix-сокет

heisenberg ★★ ()
Ответ на: комментарий от generator

там все на адресах и портах, так-что без разницы 127.0.0.1:8080 или 192.168.80.80:8080 или my.host:8080

Конфиги могут лежать где угодно в пределах видимости по правам - или в текущей или в абсолютных путях. Об этом упоминается в документации.

swwwfactory ★★ ()
Ответ на: комментарий от boombick

Спасибо, но разбираться времени не было. Закинул все php-скрипты на фронтэнд (сервер, где nginx стоит).

generator ★★★ ()
Ответ на: комментарий от heisenberg

Ну банально потому, что бэкенд не доступен из интернетов. Или предлагается два nginx использовать?

generator ★★★ ()
Ответ на: комментарий от swwwfactory

Конфиги могут лежать где угодно в пределах видимости по правам

Проблема в том, что php-fpm не видит скрипты, лежащие отдельно от nginx (на другой машине).

generator ★★★ ()
Ответ на: комментарий от generator

фактически это все равно будет как скрипты с текущей машины, только с большим временем доступа

trashymichael ★★★ ()
Ответ на: комментарий от trashymichael

Теоретически, можно. Но если бы было время и возможность экспериментировать, я бы скорее остановился на варианте heisenberg, поставил бы второй nginx на бэкенд.

generator ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.