-
nginx+thttpd=cgi scripts support
Nginx to co raz częściej używany serwer www/proxy, przez wielu uważany za lepszy od Apache. Nie chciałbym wypowiadać się w tej kwestii, a przynajmniej nie w tej chwili. Skupię się na uzupełnieniu pewnego braku w omawianym serwerze, jakim jest obsługa skryptów CGI. Niestety korzystając tylko z NGINX-a nie doświadczymy tej „przyjemności”. Lekarstwem na to może okazać się prosty serwer www- thttpd. Gotową paczkę znajdziemy w repozytorium Epel. Zakładając, ze mamy je prawidłowo skonfigurowane, wydajemy w terminalu (jako root) następującą komendę:
yum install thttpd
Instalacja jest prosta. Teraz czas na konfigurację, której najważniejszą część stanowi plik „/etc/thttpd.conf”
dir=/var/www/thttpd
user=thttpd
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
port=8000
cgipat=**.cgi|**.pl
Oczywiście powyższe parametry podlegają modyfikacji wedle potrzeb. Następnie uruchamiamy thttpdservice thttpd start
Kolejnym krokiem jest modyfikacja konfiguracji vhosta, który ma obsługiwać skrypty cgi.Należy dodać poniższe wpisy, modyfikując je w miarę potrzeb:
location /cgi-bin {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_pass http://127.0.0.1:8000;
}
Następnie restartujemy nginx-aservice nginx restart
Pamiętajmy o ustawieniu thttpd w autostarcie
/sbin/chkconfig thttpd on
Przykładowy skrypt cgi umieszczamy w katalogu zdefiniowanym dyrektywą „dir” umieszczoną w pliku konfiguracyjnym thttpd (w naszym przypadku /var/www/thttpd)
Po wpisaniu w przeglądarkę adresu naszej stron oraz /cgi-bin np. (www.naszastrona.pl/cgi-bin) powinien wyświetlić się napis „Serwis CentOS.com.pl pozdrawia!”