User Tools

Site Tools


nginx_php_fastcgi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
nginx_php_fastcgi [2007/11/28 09:47]
kyxap создано
nginx_php_fastcgi [2013/12/15 11:51]
kyxap Page moved from howto:nginx_php_fastcgi to nginx_php_fastcgi
Line 7: Line 7:
   * В директории с пропатченными исходниками создаем файлик ''​MyConfig.cgi.sh''​ со следующим содержимым:​   * В директории с пропатченными исходниками создаем файлик ''​MyConfig.cgi.sh''​ со следующим содержимым:​
  
-  ​#!/bin/sh +<code bash> 
-  CFLAGS="​-O2"​ ./​configure ​ --prefix=/​opt/​php-x.x.x-fcgi \ +#!/bin/sh 
-    --enable-calendar \ +CFLAGS="​-O2"​ ./​configure ​ --prefix=/​opt/​php-x.x.x-fcgi \ 
-    --enable-sysvsem \ +  --enable-calendar \ 
-    --enable-sysvshm \ +  --enable-sysvsem \ 
-    --enable-sysvmsg \ +  --enable-sysvshm \ 
-    --enable-ftp \ +  --enable-sysvmsg \ 
-    --with-mcrypt \ +  --enable-ftp \ 
-    --with-mysql \ +  --with-mcrypt \ 
-    --with-mysqli \ +  --with-mysql \ 
-    --enable-bcmath \ +  --with-mysqli \ 
-    --with-bz2 \ +  --enable-bcmath \ 
-    --with-gd \ +  --with-bz2 \ 
-    --with-jpeg-dir \ +  --with-gd \ 
-    --with-zlib-dir \ +  --with-jpeg-dir \ 
-    --with-curl \ +  --with-zlib-dir \ 
-    --enable-sockets \ +  --with-curl \ 
-    --with-iconv \ +  --enable-sockets \ 
-    --enable-mbstring \ +  --with-iconv \ 
-    --enable-mbregex \ +  --enable-mbstring \ 
-    --enable-ctype \ +  --enable-mbregex \ 
-    --enable-shmop \ +  --enable-ctype \ 
-    --enable-wddx \ +  --enable-shmop \ 
-    --with-imap \ +  --enable-wddx \ 
-    --with-freetype-dir \ +  --with-imap \ 
-    --with-xmlrpc \ +  --with-freetype-dir \ 
-    --enable-dbase \ +  --with-xmlrpc \ 
-    --with-mime-magic \ +  --enable-dbase \ 
-    --with-mhash \ +  --with-mime-magic \ 
-    --with-gettext \ +  --with-mhash \ 
-    --with-imap-ssl \ +  --with-gettext \ 
-    --with-pear \ +  --with-imap-ssl \ 
-    --with-kerberos \ +  --with-pear \ 
-    --with-openssl \ +  --with-kerberos \ 
-    --with-snmp \ +  --with-openssl \ 
-    --with-config-file-path=/​opt/​etc/​phpX \ +  --with-snmp \ 
-    --enable-fastcgi \ +  --with-config-file-path=/​opt/​etc/​phpX \ 
-    --enable-force-cgi-redirect \ +  --enable-fastcgi \ 
-    --enable-fpm+  --enable-force-cgi-redirect \ 
 +  --enable-fpm 
 +</​code>​
  
   * Собираем командами   * Собираем командами
Line 55: Line 57:
   * Создаем в **/​opt/​scripts** скрипт ''​fcgi.sh''​ со следующим содержимым:​   * Создаем в **/​opt/​scripts** скрипт ''​fcgi.sh''​ со следующим содержимым:​
  
-  ​#​!/​bin/​bash +<code bash> 
-  # ABSOLUTE path to the PHP binary +#​!/​bin/​bash 
-  PHPFCGI="/​opt/​php-x.x.x-fcgi/​bin/​php-cgi"​ +# ABSOLUTE path to the PHP binary 
-  # tcp-port to bind on +PHPFCGI="/​opt/​php-x.x.x-fcgi/​bin/​php-cgi"​ 
-  FCGIPORT="​8888"​ +# tcp-port to bind on 
-  # IP to bind on +FCGIPORT="​8888"​ 
-  FCGIADDR="​127.0.0.1"​ +# IP to bind on 
-  # number of PHP children to spawn+FCGIADDR="​127.0.0.1"​ 
 +# number of PHP children to spawn 
 +PHP_FCGI_CHILDREN=5 
 +# number of request before php-process will be restarted 
 +PHP_FCGI_MAX_REQUESTS=1000 
 +# allowed environment variables sperated by spaces 
 +ALLOWED_ENV="​PATH USER"​ 
 +# if this script is run as root switch to the following user 
 +USERID=www-data 
 +##################​ no config below this line 
 +if test x$PHP_FCGI_CHILDREN = x; then
   PHP_FCGI_CHILDREN=5   PHP_FCGI_CHILDREN=5
-  # number of request before php-process will be restarted +fi 
-  PHP_FCGI_MAX_REQUESTS=1000 +ALLOWED_ENV="​$ALLOWED_ENV PHP_FCGI_CHILDREN"​ 
-  # allowed environment variables sperated by spaces +ALLOWED_ENV="​$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS"​ 
-  ALLOWED_ENV="​PATH USER"​ +ALLOWED_ENV="​$ALLOWED_ENV FCGI_WEB_SERVER_ADDRS"​ 
-  # if this script is run as root switch to the following user +if test x$UID = x0; then 
-  USERID=www-data +  EX="/​bin/​su -m -c \"​$PHPFCGI -q -b $FCGIADDR:​$FCGIPORT\"​ $USERID"​ 
-  ##################​ no config below this line +else 
-  if test x$PHP_FCGI_CHILDREN = x; then +  EX="​$PHPFCGI -b $FCGIADDR:​$FCGIPORT"​ 
-    PHP_FCGI_CHILDREN=5 +fi 
-  ​fi +echo $EX 
-  ALLOWED_ENV="​$ALLOWED_ENV PHP_FCGI_CHILDREN"​ +# copy the allowed environment variables 
-  ALLOWED_ENV="​$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS"​ +E= 
-  ALLOWED_ENV="​$ALLOWED_ENV FCGI_WEB_SERVER_ADDRS"​ +for i in $ALLOWED_ENV;​ do 
-  if test x$UID = x0; then +  E="$E $i=${!i}"​ 
-    EX="/​bin/​su -m -c \"​$PHPFCGI -q -b $FCGIADDR:​$FCGIPORT\"​ $USERID"​ +done 
-  else +# clean environment and set up a new one 
-    EX="​$PHPFCGI -b $FCGIADDR:​$FCGIPORT"​ +nohup env - $E sh -c "​$EX"​ &> /dev/null & 
-  fi +</​code>​
-  echo $EX +
-  # copy the allowed environment variables +
-  E= +
-  for i in $ALLOWED_ENV;​ do +
-    E="$E $i=${!i}"​ +
-  done +
-  # clean environment and set up a new one +
-  nohup env - $E sh -c "​$EX"​ &> /dev/null & +
   * За что отвечают параметры,​ думается мне, можно понять и по комментариям,​ так что добавляем скрипт в автозагрузку методом OS, для которой проводится установка.   * За что отвечают параметры,​ думается мне, можно понять и по комментариям,​ так что добавляем скрипт в автозагрузку методом OS, для которой проводится установка.
   * Шаблон виртуального хоста в ''​nginx''​ будет выглядеть таким образом:​   * Шаблон виртуального хоста в ''​nginx''​ будет выглядеть таким образом:​
nginx_php_fastcgi.txt · Last modified: 2013/12/15 16:48 by kyxap