CGI: Różnice pomiędzy wersjami

 
(Nie pokazano 6 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">/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):
 
  AddType application/x-httpd-fastcgi0 .cgi
 
  AddType application/x-httpd-fastcgi0 .cgi
 
  AddType application/x-httpd-fastcgi1 .cgi
 
  AddType application/x-httpd-fastcgi1 .cgi
Linia 32: Linia 31:
  
 
Każdy z socketów (uprawnienia o+rw) należy bindować na:
 
Każdy z socketów (uprawnienia o+rw) należy bindować na:
  /home/''login''/domains/''domena''/fastcgi0.sock
+
  /usr/home/''login''/domains/''domena''/fastcgi0.sock
  /home/''login''/domains/''domena''/fastcgi1.sock
+
  /usr/home/''login''/domains/''domena''/fastcgi1.sock
  /home/''login''/domains/''domena''/fastcgi2.sock
+
  /usr/home/''login''/domains/''domena''/fastcgi2.sock
 
  (...)
 
  (...)
  /home/''login''/domains/''domena''/fastcgi9.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
  
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ć:
+
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.
DirectoryIndex test.py
 
  
 
=== Konfiguracja SCGI ===
 
=== Konfiguracja SCGI ===
Linia 48: Linia 50:
 
  SetHandler application/x-httpd-scgi0
 
  SetHandler application/x-httpd-scgi0
  
Aplikacje oparte o SCGI należy uruchomić na serwerze i podbindować do socketu <code>/home/''login''/domains/''domena''/scgi0.sock</code> i nadać im uprawnienia o+rw. Analogicznie jak w przypadku FastCGI, możemy uruchomić do 10 socketów.
+
Aplikacje oparte o SCGI należy uruchomić na serwerze i podbindować do socketu <code>/usr/home/''login''/domains/''domena''/scgi0.sock</code> i nadać im uprawnienia o+rw. Analogicznie jak w przypadku FastCGI, możemy uruchomić do 10 socketów.
  
 
=== Konfiguracja UWSGI ===
 
=== Konfiguracja UWSGI ===
Linia 57: Linia 59:
 
  SetHandler application/x-httpd-uwsgi0
 
  SetHandler application/x-httpd-uwsgi0
  
Aplikacje oparte o UWSGI należy uruchomić na serwerze i podbindować do socketu <code>/home/''login''/domains/''domena''/uwsgi0.sock</code> i nadać im uprawnienia o+rw. Analogicznie jak w przypadku FastCGI, możemy uruchomić do 10 socketów.
+
Aplikacje oparte o UWSGI należy uruchomić na serwerze i podbindować do socketu <code>/usr/home/''login''/domains/''domena''/uwsgi0.sock</code> i nadać im uprawnienia o+rw. Analogicznie jak w przypadku FastCGI, możemy uruchomić do 10 socketów.
  
 
[[Category: WWW]]
 
[[Category: WWW]]

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.