CGI¶
Na serwerach SMALL.PL jest możliwość uruchamiania aplikacji opartych o CGI
, FastCGI
, SCGI
i UWSGI
.
Uwaga
Niektóre aplikacje mogą wymagać aktywnej opcji Binexec
Wstępna konfiguracja domeny¶
Do uruchomienia strony wykorzystującej CGI
, FastCGI
, SCGI
bądź UWSGI
należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
- domena jest prawidłowo dodana i skonfigurowana w systemie DNS,
- została dodana Strona WWW z wskazaniem typu PHP.
Konfiguracja FastCGI¶
Za pomocą pliku .htaccess definiuje się które żądania zostaną przekierowane do socketu FastCGI
. Aby żądania do konkretnych rozszerzeń były obsługiwane przez FastCGI
należy dodać:
AddType application/x-httpd-fastcgi0 .cgi
Aby przekierować cały ruch do socketu
FastCGI należy dodać:
SetHandler application/x-httpd-fastcgi0
Aplikacje oparte o FastCGI
należy podbindować do socketu: /usr/home/LOGIN/domains/DOMENA/fastcgi0.sock
i nadać im uprawnienia: o+rw
. Każda domena może używać aż do 10 socketów FastCGI
.
Przykładowo, socket wybiera się wpisując w .htaccess jedną z poniższych linijek (obsługa dla pliku z rozszerzeniem .cgi
):
AddType application/x-httpd-fastcgi0 .cgi
AddType application/x-httpd-fastcgi1 .cgi
AddType application/x-httpd-fastcgi2 .cgi
(...)
AddType application/x-httpd-fastcgi9 .cgi
- Przekierowanie całego ruchu do socketu
FastCGI
:
SetHandler application/x-httpd-fastcgi0
SetHandler application/x-httpd-fastcgi1
SetHandler application/x-httpd-fastcgi2
(...)
SetHandler application/x-httpd-fastcgi9
- Każdy z socketów (uprawnienia:
o+rw
) należy bindować na:
/usr/home/login/domains/domena/fastcgi0.sock
/usr/home/login/domains/domena/fastcgi1.sock
/usr/home/login/domains/domena/fastcgi2.sock
(...)
/usr/home/login/domains/domena/fastcgi9.sock
Tworzenie socketu¶
Utworzyć socket można poleceniem:
spawn-fcgi -M 0777 -F 1 -s /usr/home/login/domains/example.com/fastcgi0.sock /usr/local/sbin/fcgiwrap
Cyfra 1
to liczba workerów, czyli aplikacji serwujących skrypty CGI
jednocześnie. Mniejsza ilość oznacza, że w razie większej liczby użytkowników niektórzy z nich mogą zobaczyć błąd - jeden worker jest w stanie obsłużyć jednego użytkownika na raz, dopiero gdy skrypt CGI
się zakończy może obsłużyć następnego użytkownika.
Konfiguracja SCGI¶
Podobnie jak w przypadku FastCGI
, za pomocą .htaccess można serwować stronę korzystającą z SCGI
:
- Konkretne rozszerzenie:
AddType application/x-httpd-scgi0 .cgi
- Cały ruch:
SetHandler application/x-httpd-scgi0
Aplikacje oparte o SCGI
należy uruchomić na serwerze i podbindować do socketu: /usr/home/LOGIN/domains/DOMENA/scgi0.sock
i nadać im uprawnienia: o+rw
. Analogicznie jak w przypadku FastCGI
, możemy uruchomić do 10 socketów.
Konfiguracja UWSGI¶
Podobnie jak w przypadku FastCGI
, za pomocą .htaccess można serwować stronę korzystającą z UWSGI
:
- Konkretne rozszerzenie:
AddType application/x-httpd-uwsgi0 .cgi
- Cały ruch:
SetHandler application/x-httpd-uwsgi0
Aplikacje oparte o UWSGI
należy uruchomić na serwerze i podbindować do socketu: /usr/home/LOGIN/domains/DOMENA/uwsgi0.sock
i nadać im uprawnienia: o+rw
. Analogicznie jak w przypadku FastCGI
, możemy uruchomić do 10 socketów.