Страница 1 из 1

php 5.3.3 + nginx + FastCGI

Добавлено: 2010-08-03 0:34:50
unsobill
день добрый помогите разрулить

поставил на фри 8.1, к ней php 5.3.3 и поднял nginx, залил php cкриптов и захотел поднять FastCGI на nginx.

пытался повесить spawn-fcgi скриптом на порт 9000, вешается - но сам он убогий и бажит с ошибкой "source file not found" при попытке доступа к php файлам.

альтернатива есть php-fpm, но я ее никогда не собирал а документация как всегда, позади - к тому же оказывается в версии php 5.3.3, php-fpm уже внутри и ничего не надо качать и патчить, как я понимаю ?!

Кто-то сталкивался с поднятием fastcgi на nginx и 5.3.3 - может другим путем пойти как-то ? :unknown:

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2010-08-03 7:15:42
ev

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2010-08-03 8:21:29
drdim
Сейчас php-fpm экспериментально поддерживается в портах

Код: Выделить всё

cd /usr/ports/lang/php5
make config
выбираем php-fpm enable
php_fpm_enable="YES" >>/etc/rc.conf
/usr/local/etc/rc.d/php-fpm start
Ну и меняем конфиг по своему усмотрению /usr/local/etc/php-fpm.conf

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2010-08-05 20:02:32
unsobill
drdim писал(а):Сейчас php-fpm экспериментально поддерживается в портах

Код: Выделить всё

cd /usr/ports/lang/php5
make config
выбираем php-fpm enable
php_fpm_enable="YES" >>/etc/rc.conf
/usr/local/etc/rc.d/php-fpm start
Ну и меняем конфиг по своему усмотрению /usr/local/etc/php-fpm.conf

cпасибо помог дружище
с Zendom еще 5.3.3 кажется не дружит, поэтому ставить буду 5.2 наверно.

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2010-09-13 19:58:48
Макс
Блин, настроил php-fpm + nginx
обычные html открываются, а php нет т.е. пустой экран, причем отрабатывает быстро не висит.
в логах nginx и php-fpm никаких ошибок кроме favicon.ico нету.
ngixn и php-fpm запущены

nginx.conf

user www;
worker_processes 1;

events {
worker_connections 1024;
}

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

server {
listen 80;
server_name localhost;

charset utf-8;

location / {
root /usr/local/www/nginx;
index index.php index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /usr/local/www/nginx$fastcgi_script_name;
include fastcgi_params;
}
}
}


может кто сталкивался?

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2010-09-16 19:55:37
risk94
по этой статье делали? Если да, то внимательно смотрим на созданый вами index.php . В статье ошибки

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2012-02-01 22:46:33
zidi
присоединяюсь к вопросу.
Freebsd 8.0
PHP 5.3.9
nginx/1.0.11
при установке php5 выбирал опцию "[X] FPM Build FPM version (experimental)"
nginx нормально открывает html и не откр php(белый экран).
cat /usr/local/etc/nginx/nginx.conf

Код: Выделить всё

user  www;
worker_processes  1;
error_log  /var/log/nginx/error.log;
events {
    worker_connections  1024;
	}

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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    server {

        listen       80;
        server_name  localhost;
	charset utf-8;

        location / {
            root   /usr/local/www/nginx;
            index  index.php index.html index.htm;
        		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
			        }

	location ~ \.php$ {
		# fastcgi_pass 127.0.0.1:9000;
		fastcgi_pass   unix:/tmp/fastcgi.socket;
		fastcgi_index index.php;
		fastcgi_param script_FILENAME /usr/local/www/nginx$fastcgi_script_name;
		include fastcgi_params;
				}

# end server
    		}

# end http
	}
cat /usr/local/etc/php-fpm.conf

Код: Выделить всё

[global]
pid = run/php-fpm.pid

[www]
user = www
group = www
;listen = 127.0.0.1:9000
listen = /tmp/fastcgi.socket
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
cat /etc/rc.conf

Код: Выделить всё

...
php_fpm_enable="YES"
nginx_enable="YES"
В /var/log/nginx/error.log ничего кроме про favicon нет.
:unknown:

Re: php 5.3.3 + nginx + FastCGI

Добавлено: 2012-02-02 0:50:01
zidi
Вот с таким конфигом заработало php:

Код: Выделить всё

user  www;
worker_processes  4;
error_log  /var/log/nginx/error.log;
events {
    worker_connections  1024;
	}

http {

    server {

        listen       80;
        server_name  localhost;
	charset utf-8;

	root   /usr/local/www/nginx;
	index  index.php index.html index.htm;
        location / {
		try_files $uri $uri/ @rewrites;
        		}

	location @rewrites {
		rewrite ^ /index.php last;
			}

	location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
		expires max;
		add_header Pragma public;
		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
		}

	location = /robots.txt  { access_log off; log_not_found off; }
	location = /favicon.ico { access_log off; log_not_found off; }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
			        }
 
	location ~ \.php$ {

        	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  SCRIPT_FILENAME    $document_root$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  GATEWAY_INTERFACE  CGI/1.1;
	        fastcgi_param  SERVER_SOFTWARE    nginx;
 
        	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;
 
		fastcgi_pass   unix:/tmp/fastcgi.socket;
		
			}

# end server
    		}

# end http
	}
Подсмотрел тут (анг), там много примеров полезных нашлось.