Ubuntu下安装PHP-FPM

以下是fabric脚本:

  1. def init_nmp():  
  2. install_nginx()  
  3. install_php()  
  4. install_phpfpm()  
  5.   
  6. def install_nginx():  
  7. sudo(“add-apt-repository ppa:nginx/stable”)  
  8. sudo(“apt-get update”)  
  9. sudo(“apt-get -y -q install nginx-full nginx-common”)  
  10.   
  11. def install_php():  
  12. # More packages upon request  
  13. sudo(“apt-get -y -q –force-yes install php5-cli php5-cgi php5-mysql”)  
  14. sudo(“apt-get -y -q –force-yes install php5-mcrypt libmcrypt mcrypt”)  
  15.   
  16. def install_phpfpm():  
  17. # TODO: use canonical php-fpm package when available  
  18. sudo(“add-apt-repository ppa:brianmercer/php”)  
  19. sudo(“apt-get update”)  
  20. sudo(“apt-get -y -q install php5-fpm”

在/etc/php5/fpm/php5-fpm.conf里将tcp修改成unix socket方式,单机情况下性能更好。

  1. listen = /var/run/php5-fpm.sock  
  2. ;listen = 127.0.0.1:9000 

Nginx里的配置:

  1. location ~ \.php$ {  
  2. try_files $uri = 404;  
  3. include /etc/nginx/fastcgi_params;  
  4. fastcgi_pass unix:/var/run/php5-fpm.sock;  
  5. fastcgi_index index.php;  
  6.   
  7. fastcgi_split_path_info ^(.+\.php)(.*)$;  
  8. include fastcgi_params;  
  9. fastcgi_intercept_errors on;  
  10. fastcgi_ignore_client_abort off;  
  11. fastcgi_connect_timeout 60;  
  12. fastcgi_send_timeout 180;  
  13. fastcgi_read_timeout 180;  
  14. fastcgi_buffer_size 128k;  
  15. fastcgi_buffers 4 256k;  
  16. fastcgi_busy_buffers_size 256k;  
  17. fastcgi_temp_file_write_size 256k;