-
Squirrelmail na nginx w CentOS i nie tylko
Konfiguracja nginx do obsługi squirrelmail-a nie jest trudna, ale uważam że warto o niej wspomnieć chociaż trochę. Przykładowy adres do webmaila http://poczta.naszadomena.pl. Zakładam, że korzystamy z PHP-FPM i mamy już stworzoną instancję działającą z użytkownika „poczta” przy użyciu „unix-socket” (wydajniejsze rozwiązanie, niż TCP). Tworzymy oddzielny plik z konfiguracją np. „/etc/nginx/conf.d/webmail.conf”. Jego zawartość powinna być zbliżona do tej poniżej:
server {
listen 80;
server_name poczta.naszadomena.pl;access_log /var/log/nginx/poczta.naszadomena.pl_access.log;
error_log /var/log/nginx/poczta.naszadomena.pl_error.log;location / {
root /usr/share/squirrelmail;
index index.php index.html index.htm;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}location ~ \.php$ {
fastcgi_pass unix:/usr/nginx/socks/poczta; # przykładowa ścieżka
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/squirrelmail$fastcgi_script_name;
include fastcgi_params;
}
}
Pamiętajmy aby pliki w katalogu „/etc/squirrelmail/” oraz cały katalog (rekursywnie) „/var/lib/squirrelmail/prefs/” były dostępne najlepiej do zapisu dla użytkownika z którego chodzi instancja php (w naszym przypadku dla usera „poczta”). Na koniec restart nginx-a.service nginx restart
Uprzejmie przepraszam ale skąd pogląd, że użycie „unix-socket” jest wydajniejsze od „TCP”
Korzystając z TCP, ruszasz całą maszynerię związaną z TCP/IP. Aby samo połączenie zostało nawiązane, musi zostać wysłane 5 pakietów (TCP 3-way handshake). Po socketach nie. Otwiera socket i śle od razu dane. W niektórych przypadkach komunikacja po tcp i socketach jest bardzo zbliżona (wydajność), szczególnie jeśli wszystko odbywa się na lokalnej maszynie.