CGI

Wersja z dnia 00:07, 13 sie 2018 autorstwa Mixer (dyskusja | edycje)

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Na serwerach MyDevil jest możliwość uruchamiania aplikacji opartych o CGI, FastCGI, SCGI i UWSGI.

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 naszym 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 socketa 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

spawn-fcgi -M 0777 -F 1 -s /usr/home/login/domains/example.com/fastcgi0.sock /usr/local/sbin/fcgiwrap

Pogrubiona 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

Lub 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

Lub 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.