Nginx/fcgiwrap
Материал из ALT Linux Wiki
(Различия между версиями)
м (+link) |
|||
(5 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | Настройка nginx для запуска CGI скриптов на примере collectd | + | = Настройка nginx для запуска CGI скриптов на примере collectd = |
Требуется поставить пакеты: | Требуется поставить пакеты: | ||
- | nginx | + | nginx |
- | fcgiwrap | + | fcgiwrap |
- | spawn-fcgi | + | spawn-fcgi |
+ | collectd-cgi | ||
+ | == конфигурационные файлы == | ||
/etc/sysconfig/spawn-fcgi: | /etc/sysconfig/spawn-fcgi: | ||
## ABSOLUTE path to the spawn-fcgi binary | ## ABSOLUTE path to the spawn-fcgi binary | ||
Строка 11: | Строка 13: | ||
## ABSOLUTE path to the PHP binary | ## ABSOLUTE path to the PHP binary | ||
- | FCGIPROGRAM="/usr/ | + | FCGIPROGRAM="/usr/sbin/fcgiwrap" |
## ip to listen | ## ip to listen | ||
Строка 25: | Строка 27: | ||
SOCKETGROUP=_nginx | SOCKETGROUP=_nginx | ||
SOCKETMODE=0770 | SOCKETMODE=0770 | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
# allowed environment variables sperated by spaces | # allowed environment variables sperated by spaces | ||
Строка 42: | Строка 35: | ||
GROUPID=_spawn_fcgi | GROUPID=_spawn_fcgi | ||
+ | /etc/nginx/sites-enabled.d/collectd.conf: | ||
+ | server { | ||
+ | listen 80; | ||
+ | access_log /var/log/nginx/access.log; | ||
+ | |||
+ | location / { | ||
+ | root /var/www/html/collection3/bin; | ||
+ | autoindex on; | ||
+ | index index.cgi; | ||
+ | auth_basic "Admin Zone"; | ||
+ | auth_basic_user_file /var/www/html/collection3/etc/.htpasswd; | ||
+ | |||
+ | } | ||
+ | |||
+ | location /share { | ||
+ | alias /var/www/html/collection3/share/; | ||
+ | } | ||
+ | |||
+ | location ~ \.cgi$ { | ||
+ | root /var/www/html/collection3/bin; | ||
+ | rewrite ^/cgi-bin/(.*)\.cgi /$1.cgi break; | ||
+ | |||
+ | include /etc/nginx/fastcgi_params; | ||
+ | |||
+ | fastcgi_pass unix:/var/run/spawn-fcgi/spw-cgi.sock; | ||
+ | fastcgi_param SCRIPT_FILENAME /var/www/html/collection3/bin/$fastcgi_script_name; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | NB: на основе этой статьи создан субпакет {{pkg|collectd-cgi-nginx}}. | ||
+ | == Ссылки == | ||
+ | * http://lists.altlinux.org/pipermail/devel/2005-July/034994.html | ||
+ | * [[Nginx/php5-fpm]] | ||
[[Категория:Web]] | [[Категория:Web]] |
Текущая версия на 12:24, 24 апреля 2012
Настройка nginx для запуска CGI скриптов на примере collectd
Требуется поставить пакеты:
nginx fcgiwrap spawn-fcgi collectd-cgi
конфигурационные файлы
/etc/sysconfig/spawn-fcgi:
## ABSOLUTE path to the spawn-fcgi binary SPAWNFCGI="/usr/bin/spawn-fcgi" ## ABSOLUTE path to the PHP binary FCGIPROGRAM="/usr/sbin/fcgiwrap" ## ip to listen ## *must* be commented out for use with unix domain socket #FCGILISTEN="127.0.0.1" ## bind to tcp-port on localhost ## *must* be commented out for use with unix domain socket #FCGIPORT="1027" ## unix domain socket permissions #SOCKETUSER= SOCKETGROUP=_nginx SOCKETMODE=0770 # allowed environment variables sperated by spaces ALLOWED_ENV="PATH" ## if this script is run as root switch to the following user USERID=_spawn_fcgi GROUPID=_spawn_fcgi
/etc/nginx/sites-enabled.d/collectd.conf:
server { listen 80; access_log /var/log/nginx/access.log; location / { root /var/www/html/collection3/bin; autoindex on; index index.cgi; auth_basic "Admin Zone"; auth_basic_user_file /var/www/html/collection3/etc/.htpasswd; } location /share { alias /var/www/html/collection3/share/; } location ~ \.cgi$ { root /var/www/html/collection3/bin; rewrite ^/cgi-bin/(.*)\.cgi /$1.cgi break; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/spawn-fcgi/spw-cgi.sock; fastcgi_param SCRIPT_FILENAME /var/www/html/collection3/bin/$fastcgi_script_name; } location ~ /\.ht { deny all; } }
NB: на основе этой статьи создан субпакет collectd-cgi-nginx.