首页 > 代码库 > 【转】nginx+php

【转】nginx+php

apt-get install libjpeg-devel libpng-devel freetype-devel libxml2-devel mysql-devel pcre-devel bzip2-devel

./configure –prefix=/usr/local/nginx –http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp/ –http-proxy-temp-path=/usr/local/nginx/proxy_temp/ –without-http_upstream_ip_hash_module –without-http_geo_module –without-http_memcached_module –without-http_map_module –without-http_ssi_module –with-http_ssl_module –with-openssl=/usr/local/ssl/lib

要注意的是,如果要加SSL支持,需要用openssl 097的版本来编译。http://www.openssl.org/source/openssl-0.9.7m.tar.gz

编译php

./configure –prefix=/usr/local/php –enable-mbstring –with-mysql=/usr/ –disable-dom –enable-fastcgi –with-gd –with-config-file-path=/usr/local/php/etc/ –with-zlib-dir=/usr –with-jpeg-dir=/usr –with-png-dir=/usr –without-pear –without-sqlite –enable-force-cgi-redirect –with-freetype-dir –enable-fpm –with-fpm-conf=/usr/local/php/etc/fpm.conf –with-fpm-log=/usr/local/nginx/logs/fpm.log –with-fpm-pid=/usr/local/nginx/logs/fpm.pid

server {
        listen       80;
        server_name xxx.net;

        charset gb2312;

        location / {
            root /data/www/xxxx/;
            index index.html index.htm index.php;
            allow   1.1.1.1;
            deny    all;

        }
       location ~ \.php$ {
       root           /data/www/xxxx/;
       include       /etc/fcgi.conf;
       fastcgi_pass   127.0.0.1:1026;
       fastcgi_index index.php;
         }
    }

其中/etc/fcgi.conf内容为

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE    nginx;
fastcgi_param QUERY_STRING       $query_string;
fastcgi_param REQUEST_METHOD     $request_method;
fastcgi_param CONTENT_TYPE       $content_type;
fastcgi_param CONTENT_LENGTH     $content_length;
fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param REQUEST_URI        $request_uri;
fastcgi_param DOCUMENT_URI       $document_uri;
fastcgi_param DOCUMENT_ROOT      $document_root;
fastcgi_param SERVER_PROTOCOL    $server_protocol;
fastcgi_param REMOTE_ADDR        $remote_addr;
fastcgi_param REMOTE_PORT        $remote_port;
fastcgi_param SERVER_ADDR        $server_addr;
fastcgi_param SERVER_PORT        $server_port;
fastcgi_param SERVER_NAME        $server_name;
# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS    200;

用lighttpd的spawn-fcgi和spawn-php.sh

#!/bin/bash

## ABSOLUTE path to the spawn-fcgi binary
SPAWNFCGI=”/usr/local/nginx/sbin/spawn-fcgi”

## ABSOLUTE path to the PHP binary
FCGIPROGRAM=”/usr/local/bin/php-cgi”

## TCP port to which to bind on localhost
FCGIPORT=”1026″

## number of PHP children to spawn
PHP_FCGI_CHILDREN=10

## maximum number of requests a single PHP process can serve before it is restarted
PHP_FCGI_MAX_REQUESTS=1000

## IP addresses from which PHP should access server connections
FCGI_WEB_SERVER_ADDRS=”127.0.0.1″

# allowed environment variables, separated by spaces
ALLOWED_ENV=”ORACLE_HOME PATH USER”

## if this script is run as root, switch to the following user
USERID=nobody
GROUPID=nobody

chongqi

#!/bin/bash
killall -9 nginx php-cgi ; sleep 1 ;/usr/local/nginx/sbin/spawn-php.sh ; nginx

【转】nginx+php