首頁 >後端開發 >php教程 >【转】nginx+php

【转】nginx+php

WBOY
WBOY原創
2016-06-23 14:36:381040瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn