1. Install and Start Nginx
(a) use apt-get
[codesyntax lang=”bash” lines=”no” container=”pre” tab_width=”4″]
$ su $ apt-get install nginx $ update-rc.d nginx defaults $ /etc/init.d/nginx start
[/codesyntax]
(b) compile from source
[codesyntax lang=”bash” lines=”no” container=”pre” tab_width=”4″]
$ sudo apt-get install libpcre3 libpcre3-dev $ sudo apt-get install libssl-dev libssl0.9.8 $ wget http://nginx.org/download/nginx-0.8.52.tar.gz $ tar -xzf nginx-0.8.52.tar.gz $ cd nginx-0.8.52 $ ./configure --prefix=/usr/local/webserber/nginx $ make $ sudo make install; $ sudo /usr/local/webserber/nginx/sbin/nginx
[/codesyntax]
2. PHP Repository and Install php5-fpm (deprecated from php5.3.3)
[codesyntax lang=”bash” lines=”no” container=”pre” tab_width=”4″]
$ apt-get install python-software-properties $ add-apt-repository ppa:brianmercer/php $ apt-get update $ apt-get install php5-fpm php5-cli php5-cgi php5-dev
[/codesyntax]
3. Config Nginx
[codesyntax lang=”bash” lines=”no” container=”pre” tab_width=”4″]
$ vi /etc/nginx/sites-available/default server { listen 80; server_name localhost; access_log /var/log/nginx/localhost.access.log; location / { root /var/www/nginx-default; index index.php index.html index.htm; } ## 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/nginx-default directory location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$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; } }
[/codesyntax]
4. Start PHP-FPM
[codesyntax lang=”bash” lines=”no” container=”pre” tab_width=”4″]
$ /etc/init.d/php5-fpm start
[/codesyntax]