Pomoc - Obsługa CGI

Ponieważ Nginx, którego użwamy jako serwera WWW, nie ma wbudowanej obsługi CGI, realizujemy ją poprzez bramkę CGI-FastCGI. Źródła naszej bramki można pobrać z repozytorium http://github.com/gnosek/fcgiwrap/

Konfiguracja w panelu administracyjnym

Aplikację CGI konfiguruje się w panelu administracyjnym tak jak każdą inną (menu WWW->aplikacje->dodaj). W formularzu należy podać ścieżkę do katalogu ze skryptami - na ten katalog ustawiany jest DOCUMENT_ROOT. Liczba procesów, którą należy wybrać przekłada się na wydajność - jest to liczba jednoczesnych obsługiwanych żądań. W przypadku dużej odwiedzalności Twojej strony, rozważ skorzystanie ze SpeedyCGI (Perl) lub WSGI (Python) zamiast zwykłego CGI.

Po poprawnym skonfigurowaniu aplikacji na liście procesów powinieneś zobaczyć

/usr/local/bin/fcgiwrap

To jest właśnie ta bramka o której wspomniałam wcześniej. Fcgiwrap uruchamiany jest statycznie (działa cały czas) i jego zadaniem jest odebranie żądania od serwera WWW, uruchomienie odpowiedniego skryptu i przesłanie wyników z powrotem do serwera.

Dla poprawnego działania CGI pamiętaj o nadaniu skryptom prawa wykonywalności dla właściciela (chmod u+x). W przeciwnym przypadku odwiedzający zobaczą kod Twoich skryptów.

Aplikację CGI możesz wykorzystać również do serwowania plików statycznych. Jeżeli w panelu nie przydzielisz żadnych procesów, nie będzie możliwe uruchamianie skryptów CGI (odwołanie zakończy się błędem 502), ale aplikacja będzie skonfigurowana na serwerze WWW i Nginx będzie serwował statyczne pliki ze wskazanego katalogu. Pliki nie mogą mieć prawa wykonywalności, bo zostałyby potraktowane jako skrypty CGI i muszą mieć prawo do odczytu dla grupy (chmod g+r).