配置高性能 lighttpd、nginx、mysql、php 服务~

Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。

具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。

lighttpd是众多轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。 

性能  
根据简单性能对比,Nginx的性能比lighttpd略好。原因可能有以下几方面:  
1. Lighttpd启动了几个辅助线程,有加锁竞争行为,这样会使性能有所降低(线程个数是可配的,这里还有优化的余地);nginx完全不涉及线程,不加锁。  
2. Lighttpd有动态so,nginx全静态编译,动态库执行效率比静态慢大约5%~10%左右。  
3. Nginx在细节优化上可能做得更好一些。例如nginx的epoll是ET(边缘触发)的,而lighttpd的epoll是LT(水平触发)的。  
nginx的性能要好一些,不过对大多数应用来说,lighttpd的性能指标已够用了,一个系统主要的瓶颈往往是在后端。由于lighttpd具有动态模块的加载能力,适合非常需要灵活配置的场合。  
总体而言,nginx和lighttpd都是非常好的web server选择。

yum安装 lighttpd、mysql、php

一、安装MySQL

yum安装mysql

    
    
    
    
  1. yum install mysql mysql-server 

为root设置一个密码(把123123改为要设置的密码)

 

    
    
    
    
  1. mysqladmin -u root password 123123

 

设置开机启动并启动MySQL

      
      
      
      
  1. chkconfig --levels 235 mysqld on 

  2. /etc/init.d/mysqld start 

二、安装Lighttpd

可以下载 RPMforge软件库,也可以用epel源

centos 5

wget http://rfyiamcool.googlecode.com/files/epel-release-5-4.noarch.rpm

centos 6

wget http://rfyiamcool.googlecode.com/files/epel-release-6-7.noarch.rpm

 

  
  
  
  
  1. rpm -ivh epel*  

  2. yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers   

  
  
  
  
  1. yum install lighttpd 

  2. yum install lighttpd-fastcgi php-cli

  3. /etc/init.d/lighttpd start 

  4. chkconfig --levels 235 lighttpd on 

修改配置

             
             
             
             
  1. vi /etc/lighttpd/lighttpd.conf 

  2. 改  server.use-ipv6 = “disable“ 

  3. vi /etc/php.ini 

  4. 加上  cgi.fix_pathinfo = 1

  5. vi /etc/lighttpd/modules.conf 

  6. 将 include “conf.d/fastcgi.conf” 一行取消注释并保存 

  7. vi /etc/lighttpd/conf.d/fastcgi.conf 

  8. 找到 fastcgi.server这一节配置段,并将其全部反注释(使之生效),并修改为如下(注意红色为修改部分): 

  9. fastcgi.server = ( “.php” =>

  10. ( “php-local” =>

  11. “socket” => “/tmp/php-fastcgi-1.socket“, 

  12. “bin-path” => “/usr/bin/php-cgi“, 

  13. “max-procs” => 1, 

  14. “broken-scriptfilename” => “enable”, 

  15. ), 

  16. ( “php-tcp” =>

  17. “host” => “127.0.0.1″, 

  18. “port” => 9999, 

  19. “check-local” => “disable”, 

  20. “broken-scriptfilename” => “enable”, 

  21. ), 

  22. ( “php-num-procs” =>

  23. “socket” => “/tmp/php-fastcgi-2.socket“, 

  24. “bin-path” => “/usr/bin/php-cgi“, 

  25. “bin-environment” => ( 

  26. “PHP_FCGI_CHILDREN” => “16″, 

  27. “PHP_FCGI_MAX_REQUESTS” => “10000″, 

  28. ), 

  29. “max-procs” => 5, 

  30. “broken-scriptfilename” => “enable”, 

  31. ), 

最后保存即可。

现在可以重启Lighttpd使之生效:

[root@www ~]# /etc/init.d/lighttpd restart
停止 lighttpd:[确定]
启动 lighttpd:[确定]

 有的时候提示错误,是修改下selinux就可以了!

/srv/www/lighttpd/ 是其网站根目录,因此执行:

                                       
                                       
                                       
                                       
  1. echo ‘<?php phpinfo(); ?>’ > /srv/www/lighttpd/test.php 

  2. yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc 

 

 

上述命令已经同时安装好了php的MySQL、GD图形库、IMAP、ODBC、Pear、xml等支持组件。 

重启Lighttpd并刷新 http://IP/test.php 页面,即可找到MySQL模块的支持。

至此,yun安装 Lighttpd+PHP+MySQL+GD全套组件安装配置完毕。

yum安装 nginx、mysql、php

 

  
  
  
  
  1. #!/bin/bash  

  2. read -p "mysql root mima" mima  

  3. rpm -qa|grep httpd  

  4. rpm -e httpd  

  5. rpm -qa|grep mysql  

  6. rpm -e mysql  

  7. yum -y remove httpd*  

  8. yum -y remove mysql-server mysql  

  9. yum -y remove httpd  

  10. if cat /etc/redhat-release | grep '6..' ;then  

  11. rpm -ivh http://rfyiamcool.googlecode.com/files/epel-release-6-7.noarch.rpm  

  12. else  

  13. rpm -ivh http://rfyiamcool.googlecode.com/files/epel-release-5-4.noarch.rpm  

  14. fi  

  15. yum -y install yum-fastestmirror  

  16. yum clean all  

  17. yum install -y ntp  

  18. ntpdate -d cn.pool.ntp.org  

  19. yum install mysql mysql-server   

  20. yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers   

  21. yum install php php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy   

  22. yum install mysql mysql-server   

  23. yum install nginx pcre pcre-devel  

  24. service nginx start  

  25. service php-fpm start  

  26. /etc/init.d/mysqld start  

  27. chkconfig --levels 235 php-fpm on  

  28. chkconfig --levels 235 nginx on  

  29. chkconfig --levels 235 mysqld on  

  30. mysqladmin -u root password "$mima"  

 

要是不想yum,需要编译安装的话,用下面的方法~~~~~~~~~~~~

  
  
  
  
  1. [root@web ~]# yum -y install pcre pcre-devel bzip2-devel zlib zlib-devel mysql-server php php-mysql 

编译并安装lighttpd

  
  
  
  
  1. [root@web ~]# tar zxf lighttpd-1.4.30.tar.gz  

  2. [root@web ~]# cd lighttpd-1.4.30 

  3. [root@web lighttpd-1.4.30]# ./configure --prefix=/usr/local/lighttpd --with-openssl --with-openssl-libs=/usr/lib 

  4. [root@web lighttpd-1.4.30]# make && make install 

 配置启动及配置文件目录
  
  
  
  
  1. [root@web lighttpd-1.4.30]# cp doc/initscripts/rc.lighttpd.redhat /etc/init.d/lighttpd 

  2. [root@web lighttpd-1.4.30]# chmod +x /etc/init.d/lighttpd  

  3. [root@web lighttpd-1.4.30]# cp -p doc/initscripts/sysconfig.lighttpd /etc/sysconfig/lighttpd 

  4. [root@web lighttpd-1.4.30]# mkdir -p /etc/lighttpd 

  5. [root@web lighttpd-1.4.30]# cp -rf doc/config/* /etc/lighttpd/ 

  6. [root@web lighttpd-1.4.30]# chkconfig --add lighttpd 

  7. [root@web lighttpd-1.4.30]# chkconfig lighttpd on 

  8. [root@web ~]# vim +29 /etc/init.d/lighttpd  

  9. lighttpd="/usr/sbin/lighttpd"

  10. 修改成: 

  11. lighttpd="/usr/local/lighttpd/sbin/lighttpd"

  12. [root@web ~]# mkdir -p /srv/www/htdocs 

  13. [root@web ~]# mkdir /var/log/lighttpd 

  14. [root@web ~]# touch /var/log/lighttpd/access.log 

  15. [root@web ~]# touch /var/log/lighttpd/error.log 

  16. [root@web ~]# useradd lighttpd 

  17. [root@web ~]# chown -R lighttpd:lighttpd /var/log/lighttpd/ 

  18. 关闭ipv6的支持 

  19. [root@web ~]# vim +93 /etc/lighttpd/lighttpd.conf 

  20. server.use-ipv6 = "enable"

  21. 修改成: 

  22. server.use-ipv6 = "disable"

  23. 将压缩缓存目录修改到/tmp下 

  24. vim /etc/lighttpd/lighttpd.conf  

  25. var.cache_dir   = "/tmp/cache/lighttpd"

  
  
  
  
  1. 启动服务,查看端口监听 

  2. [root@web ~]# /etc/init.d/lighttpd start    

  3. Starting lighttpd:                                         [  OK  ] 

  4. [root@web ~]# netstat -tnlp | grep lighttpd 

  5. tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      10601/lighttpd     

三、配置fastcgi支持php
配置lighttpd modules(/etc/lighttpd/modules.conf)取消需要用到模块的注释:mod_rewrite,mod_redirect,mod_access,mod_fastcgi,mod_compress,mod_accesslog
修改后:
  
  
  
  
  1. server.modules = ( 

  2.   "mod_access", 

  3.   "mod_redirect", 

  4.   "mod_rewrite", 

  5. include "conf.d/compress.conf" 

  6. include "conf.d/fastcgi.conf" 


配置/etc/lighttpd/conf.d/fastcgi.conf支持PHP
  
  
  
  
  1. fastcgi.server =(".php"=>

  2.         ("localhost"=>

  3.         ( 

  4.          "socket"=>"/tmp/php-fastcgi.socket", 

  5.         "bin-path"=>"/usr/bin/php-cgi", 

  6.         "max-procs"=>2, 

  7.         "bin-environment"=>

  8.         ( 

  9.         "PHP_FCGI_CHILDREN"=>"84", 

  10.         "PHP_FCGI_MAX_REQUESTS"=>"1000" 

  11.         ), 

  12.         "broken-scriptfilename"=>"enable" 

  13.         ) 

  14.         ) 

  15.         ) 


 

你可能感兴趣的:(centos,lighttpd)