- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Я пытаюсь связать nginx и spawn-fcgi, чтобы на последнем работала простенькая программа из доков. Она имеет следующий вид:
#include "fcgi_stdio.h"
#include <stdlib.h>
int main()
{
int count = 0;
while(FCGI_Accept() >= 0)
printf("Content-type: text/html\r\n"
"\r\n"
"<title>FastCGI Hello!</title>"
"<h1>FastCGI Hello!</h1>"
"Request number %d running on host <i>%s</i>\n",
++count, getenv("SERVER_NAME"));
}
Компилирую. помещаю в нужную папку. Ставлю права и получаю ошибку 502. В логах ошибка выглядит так:
2014/07/29 10:40:04 [error] 1106#0: *35 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /tester/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"
Не могу понять, что я делаю нетак. Буду очень признателен, если кто-нибудь наставит на путь истинный=)
Также показываю кусок из конфига nginx:
location /tester {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
}
imvan32, не вижу этапа "запускаю демон spawn-fcgi". он запущен? а почему тогда connection refused ?
Да, я забыл упомянуть етот момент. С етим тоже возникает проблема.
sudo spawn-fcgi -a 127.0.0.1 -p 9000 -f /var/www/test/cgi-bin/hello2 -F 2
spawn-fcgi: child exited with: 0
spawn-fcgi: child spawned successfully: PID: 7944.
У второго файл пида появляется, но он пустой. Если указывать одного ребенка, то будет просто spawn-fcgi: child exited with: 0.
У меня стоит ubuntu 14
Может кто-нибудь подсказать?
Проверьте - слушает ли ваш демон этот порт
нужно добавить в настройки location
fastcgi_param SERVER_NAME $server_name;
или выкинуть из кода getenv("SERVER_NAME")
при текущих настройках getenv("SERVER_NAME") дает NULL, при передаче которого в printf получается segfault
нужно добавить в настройки location
fastcgi_param SERVER_NAME $server_name;
или выкинуть из кода getenv("SERVER_NAME")
при текущих настройках getenv("SERVER_NAME") дает NULL, при передаче которого в printf получается segfault
Хорошая идея, но libfcgi/fcgiapp.c:
В первую очередь, мне кажется, надо решать проблему с "spawn-fcgi: child exited with: 0", так как это неправильно и программа должна запускаться и работать и с 1 потоком. Но я сходу не могу придумать, откуда такая ошибка.
А для написания всякого такого на си/си++ удобно использовать scgi. Описание протокола занимает 2 страницы, реализация (если писать не на голых сокетах, а на libevent/asio/qt) -- еще столько же.
В libevent тоже есть http-сервер.
Хотелось бы все же разобраться с spawn-fcgi. Порт никто не слушает. Гуглил ошибку "spawn-fcgi: child exited with: 0
", но результатов это никаких не дало.
нужно добавить в настройки location
fastcgi_param SERVER_NAME $server_name;
или выкинуть из кода getenv("SERVER_NAME")
при текущих настройках getenv("SERVER_NAME") дает NULL, при передаче которого в printf получается segfault
Это действительно не помогло=)
Может нужно какие-то конфиги править в самом spawn-fcgi?
Попробывал другую программу на С++ из доков. Она нормально отработала. Странно как-то)
В 13 лет это нормально.