当前位置:首页 > linux教程 > 列表

Debian下安装php+MySQL+Nginx环境步骤

发布:smiling 来源: PHP粉丝网  添加日期:2015-05-06 13:42:55 浏览: 评论:0 

在linux中安装php+MySQL+Nginx环境是需要折腾一段时间了,今天小编来为各位整理了一篇Debian下安装php+MySQL+Nginx环境过程,希望文章对各位有帮助.

一个小小的VPS,根本用不到企业级的CentOS,况且VPS本来资源就有限.centos+apache2真的太奢侈了.我现在的VPS标配都是php5,mysql 5和nginx 1.下面的方法恨简单,本着简单,高效原则,全部apt-get来安装,不用15分钟.如果超过30分钟,这个VPS就不能用:如果不是钻石硬盘那就是网络有问题。

拿到VPS,装debian 6 32位的,嗯,先更新一下.

  1. apt-get update 
  2. apt-get upgrade 

除去除去一些不需要的东西和apache2这样耗资源的.

apt-get -y purge apache2-* bind9-* xinetd samba-* portmap sendmail-* sasl2-bin

(如果不需要sendmail发邮件,还可以加上sendmail-*),你硬盘小咋办?删除一些不必要的组件.

apt-get -y purge lynx memtester python-* odbcinst-* sudo ttf-*

也可以再加上unixodbc等,可以打扫一下:

  1. apt-get autoremove 
  2. apt-get clean 

接下来装php,mysql和nginx了,debian官方源的软件版本太老了,太老太老了…那么换个非官方的吧.Dotdeb是个不错的源,打开/etc/apt/sources.list,添加下面两行之后保存上传.

  1. deb http://packages.dotdeb.org stable all 
  2. deb-src http://packages.dotdeb.org stable all 

然后增加新源的证书:

  1. wget http://www.dotdeb.org/dotdeb.gpg 
  2. cat dotdeb.gpg | apt-key add - 

增加了新源当然要更新一下:

  1. apt-get update 
  2. apt-get upgrade 

接着就可以装了,根据自己需要来安装相应的东西,比如gd等组件.比如我基本上用到这些:

apt-get install php5-cli php5-fpm php5-curl php5-mysql nginx mysql-server

大概110M左右东西,在安装过程中需要输入mysql的root密码.其他就是等待,安装完毕就根据自己VPS的配置进行设置.配置文件都在/etc下,建议修改:

  1. /etc/nginx/nginx.conf 
  2. … 
  3. worker_processes 2; 
  4. … 

别的基本不用改,但是我把gzip_开头的选项都打开.

  1. /etc/php5/fpm/pool.d/www.conf (我用的完整版本www.conf) 
  2. [www] 
  3. listen = /tmp/php-www.sock 
  4. listen.mode = 0666 
  5. user = www-data 
  6. group = www-data 
  7. pm = static 
  8. pm.max_children = 8 
  9. pm.max_requests = 5000 
  10. rlimit_files = 512000 
  11. request_slowlog_timeout = 10s 
  12. request_terminate_timeout = 30s 
  13. slowlog = /var/log/php-fpm.slow.log 
  14. ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com  //phpfensi.com 
  15. ;php_flag[display_errors] = off 
  16. ;php_admin_value[error_log] = /var/log/fpm-php.www.log 
  17. ;php_admin_flag[log_errors] = off 
  18. php_admin_value[memory_limit] = 24M 
  19. php_admin_value[open_basedir] = /var/www/:/tmp/:/var/tmp/ 

这是256M OpenVZ的标准配置,根据内存大小调整pm.max_children和php_admin_value[memory_limit]的值,mysql 5.5默认就用Innodb了,又不是浩大工程,根本用不到,还占那么多资源,增加下面两项即可.

  1. /etc/mysql/my.cnf 
  2. [mysqld] 
  3. default-storage-engine = MyISAM 
  4. … 
  5. skip-innodb 

然后重启服务:

  1. /etc/init.d/nginx restart 
  2. /etc/init.d/php5-fpm restart 
  3. /etc/init.d/mysql restart 

基本上这个很节约资源也够处理你的请求了,题外话,别老觉得nginx会导致502,好刀在好刀客手里才能发挥最大作用.根本不需要把nginx做后端,前面在加个apache.我们单台服务器用nginx+php跑日2000万动态PV不出问题.

Tags: Debian环境 php+MySQL+Nginx

分享到: