LINUX.ORG.RU

Запуск FastCGI с помощью spawn-fcgi для последующего использования nginx-ом

 , ,


0

1

Решил освоить FastCGI. Взял пример с официального сайта. Скомпилировал его

gcc main.c -lfcgi -o main
Запустил
spawn-fcgi -a 127.0.0.1 -p 9000 main
Конфиг nginx-а:
neo@nvh:~$ grep -v '^\s*#\|^$' /etc/nginx/sites-enabled/default
server {
	listen   127.0.0.1:80; ## listen for ipv4
	server_name  localhost;
	access_log  /var/log/nginx/localhost.access.log;
	location / {
		include /etc/nginx/fastcgi_params;
		fastcgi_pass 127.0.0.1:9000;
	}
}

Захожу на http://127.0.0.1/, получаю в ответ «502 Bad Gateway». Процесс main при этом завершается. Wireshark сообщает что на 127.0.0.1:9000 были посланы данные (QUERY_STRING, REQUEST_METHOD и т.д.), в ответ было тоже что-то послано, но не данные.

Помогите разобраться — что я делаю не так?

Помогите разобраться — что я делаю не так?

Смотри, у тебя nginx должен передать все, что есть в «/etc/nginx/fastcgi_params» твоей программе. Там нет ничего о SERVER_HOSTNAME, а значит getenv(«SERVER_HOSTNAME») вернет NULL.

То есть, либо замени getenv(«SERVER_HOSTNAME») на getenv(«HTTP_HOST»), либо возьми какую-нибудь переменную из /etc/nginx/fastcgi_params

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