Home >Backend Development >PHP Tutorial >【转】nginx+php

【转】nginx+php

WBOY
WBOYOriginal
2016-06-23 14:36:381018browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php json_encode unicode decodeNext article:lighttpd+mysql+php