设为首页 收藏本站
查看: 533|回复: 0

[经验分享] lighttpd基础配置-perl CGI、php

[复制链接]

尚未签到

发表于 2017-3-28 11:28:11 | 显示全部楼层 |阅读模式
  
 红旗自带apache2作为默认的web服务器。在原来的系统中就是使用apache作为web页面的服务器,apache占用的内存很多,一个apache进程占用的内存大约是20M,最大的可能占到35M以上,占用的共享内存都在100多M以上。而且apache是一个多进程响应服务,这样apache的进程占用内存更多。因此经长时间运行,会出现由于内存不够而无法访问界面的情况。
   lighttpd是一个理想的替代方案。其是一个非常轻便的web服务器,虽然它的功能没有apache强大,但是可以满足大部分的服务要求。它的内存占用量一般是2M左右,占用的共享内存是20M左右,而且与apache实现机制不同的是,lighttpd采用单进程多路复用的方式响应请求,在系统中一般只有一个lighttpd进程响应服务请求。(也可配置为多进程)所以从内存占用量的角度看,lighttpd就有很大的优势。此外,lighttpd也可以通过配置fast-cgi支持php应用。
   本文仅是我刚开始试用lighttpd的一个笔记,把常规的功能总结一下:
引用
1、支持perl的cgi程序;
2、使用fast-cgi支持php、mysql、gd等应用。


   更多的功能尝试,后续提供。

一、安装
官方网站:http://www.lighttpd.net/
目前最新的stable版本是1.4.19,您可以使用源码方式安装。而我是基于红旗 Asianux 3.0 x86上编译的rpm,这里可以下载:点击。
拷贝默认配置文件:

# mkdir /etc/lighttpd/
# cp /usr/share/doc/lighttpd-1.4.19/lighttpd.conf /etc/lighttpd

二、基础配置
打开默认配置文件,可发现配置方式不像apache,更像perl的风格。打开一些默认的模块,及修改路径即可。
引用
#加载模块
server.modules              = ("mod_access","mod_accesslog" )
#默认web根路径
server.document-root        = "/var/www/html/"
#错误日志
server.errorlog             = "/var/log/lighttpd/error.log"
#访问日志
accesslog.filename          = "/var/log/lighttpd/access.log"


保存后,创建对应的日志目录,启动即可:

# service lighttpd start

# lighttpd -f /etc/lighttpd/lighttpd.conf

三、常规应用
1、支持perl的CGI应用
perl是最常见的CGI应用语言之一,只要修改配置文件打开支持即可:
引用
server.modules              += ("mod_cgi")
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                              ".cgi" => "/usr/bin/perl" )


perl执行路径请确认正确无误。另外,也可实现apache的模式,即把perl脚本放在cgi-bin目录:
引用
server.modules              += ("mod_cgi","mod_alias")
alias.url += ( "/cgi-bin" => server_root + "/cgi-bin" )
$HTTP["url"] =~ "^/cgi-bin" {
   cgi.assign = ( "" => "" )
}


没错,这时候还需要额外加载mod_alias模块。
◎测试:
引用
# cat /var/www/html/test.pl
#!/usr/bin/perl -w
use CGI qw/:standard/;
my $cgi = new CGI;
print "Content-type:text/plain;\n\n";
print "test\n";
$id = $cgi -> param('id');
print "from Internet Explore parmater 'id' is $id.";



※注意,别忘了给perl脚本加上执行权限哦。
访问下面的链接可得到结果:
引用
http://ip/test.pl?id=123


以后,访问mysql等工作,就是perl的DBI模块的问题了。

2、支持php应用
lighttpd使用fast-cgi模式支持php应用,配置前,需要确保php-cgi已经安装好:
引用
# type php-cgi
php-cgi is /usr/bin/php-cgi
# rpm -qf /usr/bin/php-cgi
php-cli-5.1.6-12.2AX
# php-cgi -v
PHP 5.1.6 (cgi-fcgi) (built: Aug 14 2007 00:38:17)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies


有些php模块并不适合cli环境使用,会报警告信息,可不必理会。
然后,打开lighttpd的配置:
引用
server.modules              += ("mod_fastcgi")
fastcgi.server             = ( ".php" =>
                              ( "localhost" =>
                                (
                                  "socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                  "bin-path" => "/usr/bin/php-cgi"
                                )
                              )
                           )


同样的,需建立/var/run/lighttpd/目录,以及确保php-cgi的执行路径正确。
剩下的,就是看你需要那些php模块,例如mysql等:
引用
# rpm -qa|grep php|grep mysql
php-mysql-5.1.6-12.2AX
# rpm -ql php-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib/php/modules/mysql.so
/usr/lib/php/modules/mysqli.so
/usr/lib/php/modules/pdo_mysql.so


只要安装了合适的模块,php即可正常使用。
◎测试:
建立一个phpinfo脚本:
引用
# cat /var/www/html/info.php
<?php
phpinfo()
?>


访问:http://ip/info.php,结果如下:

DSC0000.jpg
 
可见,包括mysql、gd、xml等都可顺利支持。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-356392-1-1.html 上篇帖子: php之smarty技术中文文档 下篇帖子: 解决php中的Jquery中文参数问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表