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