PHP-FPM + NGINX
Semi debian style (from sources)
Build essential
apt-get install build-essential autoconf2.59 libpcre3-dev libssl-dev apt-get install libxml2-dev libcurl4-openssl-dev libpq-dev libmysqlclient15-dev
Libevent
LE_VER=1.4.12-stable wget "http://www.monkey.org/~provos/libevent-$LE_VER.tar.gz" tar -zxvf "libevent-$LE_VER.tar.gz" cd "libevent-$LE_VER" ./configure && make make install export LIBEVENT_SEARCH_PATH="/usr/local"
PHP-FPM
export PHP_VER=5.2.11 wget "http://launchpad.net/php-fpm/master/0.6/+download/php-fpm-0.6-$PHP_VER.tar.gz" tar -zxvf "php-fpm-0.6-$PHP_VER.tar.gz" "php-fpm-0.6-$PHP_VER/generate-fpm-patch"
PHP
export PHP_VER=5.2.11 wget "http://si2.php.net/get/php-$PHP_VER.tar.bz2/from/si2.php.net/mirror" tar -xf "php-$PHP_VER.tar.bz2" cd "php-$PHP_VER"
Adding PHP users / patching PHP source and compiling
PHP_GROUP=php PHP_USER=php addgroup --system $PHP_GROUP adduser --system --home /dev/null --no-create-home --disabled-password --disabled-login $PHP_USER adduser $PHP_USER $PHP_GROUP
patch -p1 < ../fpm.patch ./buildconf --force mkdir fpm-build && cd fpm-build # Alternative # CFLAGS="-g -O2 -fno-omit-frame-pointer" CXX="gcc" CXXFLAGS="-g -felide-constructors \ -fno-exceptions -fno-rtti -O2 -fno-omit-frame-pointer" ../configure --enable-fastcgi \ --with-fpm --with-libevent=shared,"$LIBEVENT_SEARCH_PATH" --prefix="/usr/local/php-5.2" \ --disable-short-tags --enable-mbstring --with-mime-magic --with-curl --enable-sockets --enable-pdo \ --with-pdo-pgsql --with-pdo-mysql --with-pgsql --with-xmlrpc --enable-zip --with-pear --enable-bcmath \ --with-openssl CFLAGS="-g -O2 -fno-omit-frame-pointer" CXX="gcc" CXXFLAGS="-g -felide-constructors -fno-exceptions \ -fno-rtti -O2 -fno-omit-frame-pointer" ../configure --enable-fastcgi --with-fpm \ --with-libevent=shared,"$LIBEVENT_SEARCH_PATH" --prefix="/usr/local/php-5.2" --disable-short-tags \ --enable-mbstring --with-mime-magic --with-curl --enable-sockets --enable-pdo --with-pdo-pgsql \ --with-pdo-mysql --with-pgsql --with-xmlrpc --enable-zip --with-pear --enable-bcmath --with-openssl \ --enable-soap --with-xsl --enable-xmlwriter --with-bz2 --with-curl --enable-gd-native-ttf --with-iconv \ --with-zlib --with-mhash --enable-json --with-mcrypt --with-mysql make make install
Debian / Ubuntu style
Nginx
sudo apt-get install nginx
/etc/nginx/sites-available/default
server { listen 80; server_name localhost; access_log /var/log/nginx/localhost.access.log; ## Default location location / { root /var/www; index index.php; } ## Images and static content is treated different location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; expires 30d; root /var/www; } ## Parse all .php file in the /var/www directory location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; 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_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } ## Disable viewing .htaccess & .htpassword location ~ /\.ht { deny all; } }
PHP
Ubuntu (only)
If you are running Ubuntu, we first have to resolve two dependencies required for the dotdeb packages. If you are running the amd64 version, you should replace
i386
with amd64
.
cd /tmp wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb sudo dpkg -i *.deb
Debian + Ubuntu
sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list sudo apt-get update sudo apt-get install php5-cli php5-common php5-suhosin sudo apt-get install php5-fpm php5-cgi
more at http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian