Difference between revisions of "Nginx Installation and Configuration"

From Biowikifarm Metawiki
Jump to: navigation, search
(Created page with "Based on * http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian * http://www.webhostingtalk.com/showthread.php?t=1025286 = for debian 6 sudo nano...")
 
Line 18: Line 18:
 
  sudo apt-get install nginx
 
  sudo apt-get install nginx
  
change php-fpm configuration with:
+
Change php-fpm configuration with:
 
  sudo nano /etc/php5/fpm/php5-fpm.conf
 
  sudo nano /etc/php5/fpm/php5-fpm.conf
 
setting:
 
setting:
Line 28: Line 28:
 
  request_terminate_timeout = 450s
 
  request_terminate_timeout = 450s
  
change nginx configuration with:
+
Change nginx configuration with:
 
  sudo nano /etc/nginx/nginx.conf
 
  sudo nano /etc/nginx/nginx.conf
 +
adding the settings for
 
  client_max_body_size 20M;
 
  client_max_body_size 20M;
 
  client_body_buffer_size 128k;
 
  client_body_buffer_size 128k;
  
edit the default vhost symlink:
+
edit the default vhost config:
  cd /etc/nginx/sites-enabled
+
  cd /etc/nginx/sites-enabled; nano /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default
+
  
 
  server {
 
  server {
Line 54: Line 54:
 
                 }
 
                 }
 
       }
 
       }
 +
 +
 +
 +
The original default file contains a note:
 +
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini - we did change that.
  
  
Line 61: Line 66:
  
  
 +
'''NOT YET DONE OR CHECKED, our keys are elsewhere:'''
 
For ssl on port 443, copy and paste the entire vhost code into the bottom of the vhost file, change 'listen' to 443 and point to the ssl certs:
 
For ssl on port 443, copy and paste the entire vhost code into the bottom of the vhost file, change 'listen' to 443 and point to the ssl certs:
 
  ssl on;
 
  ssl on;
Line 68: Line 74:
  
 
Restart php5-fpm and nginx:
 
Restart php5-fpm and nginx:
  sudo /etc/init.d/php5-fpm restart
+
  sudo /etc/init.d/php5-fpm restart; sudo /etc/init.d/nginx restart
  sudo /etc/init.d/nginx restart
+
 
 +
----
 +
 
 +
(TEMP: TO TEST on port 8183 first disable fedora:
 +
  sudo /etc/init.d/fedora stop
 +
sudo /etc/init.d/php5-fpm restart; sudo /etc/init.d/nginx restart
 +
TESTING
 +
http://biowikifarm.net:8183/metawiki/index.php?title=Upgrades_and_Changes&diff=0&oldid=3936
 +
results in: "502 Bad Gateway - nginx/1.2.1"
 +
REVERT WITH:
 +
sudo /etc/init.d/php5-fpm stop; sudo /etc/init.d/nginx stop
 +
sudo /etc/init.d/fedora start
 +
)

Revision as of 22:46, 13 June 2012

Based on

sudo nano /etc/apt/sources.list

add lines:

# necessary only for php-fpm, the php version for nginx:
deb http://packages.dotdeb.org stable all

Add the GnuPG key to your distribution:

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | sudo apt-key add -
rm dotdeb.gpg

Install:

sudo apt-get update
sudo apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd
sudo apt-get install nginx

Change php-fpm configuration with:

sudo nano /etc/php5/fpm/php5-fpm.conf

setting:

pm.max_children = 25
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 1500
request_terminate_timeout = 450s

Change nginx configuration with:

sudo nano /etc/nginx/nginx.conf

adding the settings for

client_max_body_size 20M;
client_body_buffer_size 128k;

edit the default vhost config:

cd /etc/nginx/sites-enabled; nano /etc/nginx/sites-available/default
server {
               listen 80;
               server_name website.com www.website.com;
               access_log /var/log/nginx/website.access_log;
               error_log /var/log/nginx/website.error_log;
               root /var/www/www.website.com;
               index index.php index.htm index.html;
               location ~ .php$ {
                 fastcgi_pass   127.0.0.1:9000;
                 fastcgi_index  index.php;
                 fastcgi_param  SCRIPT_FILENAME /var/www/www.website.com$fastcgi_script_name;
                 include fastcgi_params;
               }
      }


The original default file contains a note:

# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini - we did change that.


(To create symlinks for further vhost files like "www.example.com" under sites-enabled:

ln -s /etc/nginx/sites-available/www.example.com /etc/nginx/sites-enabled/www.example.com

)


NOT YET DONE OR CHECKED, our keys are elsewhere: For ssl on port 443, copy and paste the entire vhost code into the bottom of the vhost file, change 'listen' to 443 and point to the ssl certs:

ssl on;
ssl_certificate /path/to/certificate/www.website.com.crt;
ssl_certificate_key /path/to/certificate_key/www.website.com.key;


Restart php5-fpm and nginx:

sudo /etc/init.d/php5-fpm restart; sudo /etc/init.d/nginx restart

(TEMP: TO TEST on port 8183 first disable fedora:

sudo /etc/init.d/fedora stop
sudo /etc/init.d/php5-fpm restart; sudo /etc/init.d/nginx restart

TESTING http://biowikifarm.net:8183/metawiki/index.php?title=Upgrades_and_Changes&diff=0&oldid=3936 results in: "502 Bad Gateway - nginx/1.2.1" REVERT WITH:

sudo /etc/init.d/php5-fpm stop; sudo /etc/init.d/nginx stop
sudo /etc/init.d/fedora start

)