CGI: Różnice pomiędzy wersjami

 
(Nie pokazano 5 wersji utworzonych przez 3 użytkowników)
Linia 1: Linia 1:
{{Stub}}
 
 
Na serwerach ''MyDevil'' jest możliwość uruchamiania aplikacji opartych o CGI, FastCGI, SCGI i UWSGI.  
 
Na serwerach ''MyDevil'' jest możliwość uruchamiania aplikacji opartych o CGI, FastCGI, SCGI i UWSGI.  
  
Linia 15: Linia 14:
 
  AddType application/x-httpd-fastcgi0 .cgi
 
  AddType application/x-httpd-fastcgi0 .cgi
 
Aby przekierować cały ruch do socketa fastcgi należy dodać:
 
Aby przekierować cały ruch do socketa fastcgi należy dodać:
  DefaultType application/x-httpd-fastcgi0
+
  SetHandler application/x-httpd-fastcgi0
  
 
Aplikacje oparte o FastCGI należy podbindować do socketu <code class="directory">/usr/home/''login''/domains/''domena''/fastcgi0.sock</code> i nadać im uprawnienia <code>o+rw</code>. 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):
 
Aplikacje oparte o FastCGI należy podbindować do socketu <code class="directory">/usr/home/''login''/domains/''domena''/fastcgi0.sock</code> i nadać im uprawnienia <code>o+rw</code>. 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):
Linia 38: Linia 37:
 
  /usr/home/''login''/domains/''domena''/fastcgi9.sock
 
  /usr/home/''login''/domains/''domena''/fastcgi9.sock
  
Korzystając z DefaultType zamiast SetHandler, można z łatwością ustawić plik index (domyślny, który będzie widziany dla użytkownika po wejściu na strone). Przykładowo, aby ustawić plik test.py jako stronę główną należy dopisać:
+
==== Tworzenie socketu ====
DirectoryIndex test.py
+
 
 +
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 ===
 
=== Konfiguracja SCGI ===

Aktualna wersja na dzień 00:07, 13 sie 2018

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.