Articles of lighttpd

lighttpd关于Fedora权限问题

我正在尝试使用Fedora 16上的lighttpd来开发一个RESTful API。 现在即使是最基本的示例configuration文件,当我知道我指向的页面存在时,我也得到404页面。 从阅读其他问题我倾向于这是一个权限问题,但我很困惑如何lighttpd在Fedora上运行。 有一个用户叫“lighttpd”而不是“www-data”? 我无法在system-config-users工具中看到这个用户,我无法查看它拥有哪些权限。 我试图把lighttpd指向“/ var / www / lighttpd”,里面有一些示例页面。 里面的文件的权限设置为-rw-r -r–并且包含它们的文件夹的权限是drwxr-xr-x。 这不是说任何用户都可以查看这些文件吗? 我不知道还有什么我应该检查,因为我没有太多的服务器configuration经验。 任何帮助,将不胜感激。 编辑:我在这里遵循教程configuration,所以lighttpd.conf文件包含 server.document-root = "/var/www/lighttpd/" server.port = 3000 mimetype.assign = ( ".html" => "text/html", ".txt" => "text/plain", ".jpg" => "image/jpeg", ".png" => "image/png" ) 我只是试图让基本示例页面工作。

使用lighttpd与fastcgi授权者导致问题的video(mod_h264_streaming)

所以我的目标是提供stream媒体video,但只有在authentication后。 由于身份validation可以使用许多方法之一,我正在写一个fastcgi授权人来处理它们。 每个部分(stream媒体,fastcgi授权人)独立工作,但一起事情崩溃。 我在这里设置了一个演示。 我有三个部分:每个部分都有一个图像和一个video。 第一部分是显示公共内容,第二部分是显示私人内容(必须先authentication),第三部分是使用JS包装来pipe理私人内容的显示。 要获得授权,请点击“获取访问权限”。 然后返回到索引页面。 会发生什么是私人video永不加载(虽然私人图像加载好)。 此外,没有错误或访问日志行表示正在加载或甚至请求私人video。 我的lighttpdconfiguration的相关部分 server.modules += ("mod_h264_streaming") server.modules += ("mod_fastcgi") h264-streaming.extensions = ( ".mp4", ".f4v" ) h264-streaming.buffer-seconds = 10 fastcgi.debug = 1 fastcgi.server = ( "/fake_cookie" => ( "fake_cookie" => ( "socket" => "/Users/geoff/manual/lighttpd/build/lighttpd.fake_cookie.fcgi.sock", "bin-path" => "/Users/geoff/manual/lighttpd/build/fcgi/fake_cookie.pl", "check-local" => "disable" )), "/kill_cookie" => ( "kill_cookie" => ( "socket" […]

SVN和“精简版”Web服务器

我打算设置和configurationSVN服务器。 考虑一下'lite'web服务器,比如nginx或者lighttpd。 AFAIK nginx只有有限的DAV支持,并没有SVN模块本身。 这是正确的信息? 如果是的话lighttpd呢? SVN可以用lighttpd正确configuration吗? 请告诉你有谁的经验。 什么是最好的解决scheme。 谢谢。

如果在LightTPD文件夹之外,LighTPD和PHP不工作

我需要在Windows XP上用PHPbuild立一个简单的Web服务器,许多不同的人将用于本地testing。 我正在使用LightTPD 1.4.30-4-IPv6-Win32-SSL和PHP 5.2。 到目前为止,我创build了这个文件夹结构: tools/ LightTPD/ htdocs/ PHP/ 我将PHP设置为CGI,将文档根设置为server_root + "/htdocs" 。 它工作正常(嗯,这很慢,但我现在不想打扰FastCGI :))。 我的问题是当我尝试把LightTPD文件夹之外的htdocs,如下所示: htdocs/ tools/ LightTPD/ PHP/ 我将文档根目录更新为server_root + "/../../htdocs" ,而静态HTML页面正常工作 ,PHP页面停止工作(它们返回“没有指定input文件”)。 我从字面上只是改变文档根,我没有改变php.ini或任何其他地方的任何东西。 还请注意,我将所有的doc_root , user_dir和cgi.force_redirect都保留在php.ini中的缺省值,并且当htdocs在LightTPD中时,它可以工作,但是当我将它移动到另一个时,它就不起作用。 任何想法,为什么它打破了? 这是我的lightTPD.conf: server.modules = ( "mod_access", "mod_accesslog", "mod_alias", "mod_cgi", "mod_status", ) include "variables.conf" include "mimetype.conf" # THIS WORKS server.document-root = server_root + "/htdocs" # THIS […]

Lighttpd / PHP-CGI会在没有警告的情况下崩溃

我在Windows XP机器上使用Lighttpd / PHP-CGI。 我正在使用正常的CGI接口,这是非常稳定的,但我试过FastCGI,我喜欢的速度提升。 但是,即使在轻载的情况下,PHP-CGI守护进程也只会在一个小时左右后崩溃。 我已经注意消除所有推送到错误日志的警告和通知。 我的服务器在崩溃时有大约1500MB的额外RAM,所以这不是问题。 只要访问该站点并按住F5大约30秒钟,就会使PHP-CGI崩溃,并显示一个空白的错误日志。 有谁知道是什么原因造成的? 是否有任何额外的错误报告,我可以使用,或任何gotchya我不知道? php.ini : ;NOTE: THE ONLY LINE THAT'S NOT DEFAULT TO php.ini-production IS "error_log = F:/php_errors.log" [PHP] engine = On short_open_tag = Off asp_tags = Off precision = 14 output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = 17 disable_functions = […]

识别高端VPS(Apache 2.4 event_mpm / lighttpd / nginx)的性能瓶颈

我有一个来自vpsblast(他们的SSD13)的高端VPS – 在1GigE互联网主干上的4个核心,16GB RAM,320GB固态硬盘空间(几乎没有争议)。 就在我可以告诉它正在运行OpenVZ(使用simfs,user_beancounters存在)。 数据库在同一个数据中心的不同节点上,而且我正在运行php-fpm,但是这个testing涉及到一个静态的9.49kb图像(因为php-fpm在飞行,应用程序非常优化)。 所有请求都通过https,所以我运行了http和httpstesting来确定SSL是否是问题,但我不相信这是问题。 操作系统是Ubuntu 12.04 LTS。 我已经testing了apache 2.4(使用event_mpm),nginx和lighttpd,而且我看到了三个类似的performance,这导致我相信这不是httpd问题。 我目前使用Apache 2.4来解决这些问题。 我在静态物体上的performance达到峰值约400rps(请求每秒)。 这就像3.7Mbps,在1GigE线的限制下。 所以第一个问题:在这种设置上我应该看到什么性能? 在FreeNode的#apache讨论中,有人build议10k并发不应该是不可能的,我应该能够每秒处理10k个请求。 这些期望是不合理的吗? 下一个问题是确定性能瓶颈。 我真的不知道从哪里开始看,因为一切看起来都很好(我已经包含了从下面的截图)。 我没有做任何sysctl调整,因为他们似乎主要是由主机操作系统控制。 我在/etc/security/limits.conf中增加了软硬限制: www-data hard nofile 1048576 www-data soft nofile 1048576 root hard nofile 1048576 root soft nofile 1048576 我的apache httpd.conf是2.4的相当标准,但这里是我所做的更改: DocumentRoot "/var/www" <Directory "/var/www"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <IfModule […]

DNS失败通过重新启动lighttpd解决?

我有一个运行相当繁忙的网站2年的这个networking服务器的设置: ec2 / Amazon Linux AMI 2014.03.2在微型实例上 lighttpd(最新) godaddy dns 今天早上,该网站被closures – DNS失败。 我能够通过IP地址和ec2公共地址访问站点,但不能访问域名。 我之前曾经有过一次或两次出现过godaddy的DNS中断,但是这个很奇怪: pingdom在一个小时之前就提到了DNS问题,但是以为我们已经起来了。 downforeveryoneorjustme.com认为我们起床了 浏览器认为我们失望了。 我想这不是太奇怪:我知道DNS问题并不总是全球性的。 这是奇怪的部分:重新启动lighttpd修复了这个问题。 我想采取行动来帮助解决这个问题,但是我对这个问题还不太清楚,我甚至不知道下一个步骤,或者search什么。 服务器如何重新启动会影响DNS问题? 更新在重新启动和问题被修复之间的时机是非常完美的,我没有预料到人们会巧合。 但实际上这个问题大概在一个小时后才回来,我又用lighttpd反弹来修复它。 我知道这听起来很疯狂!

Lighttpd Proxy – > Apache SVN mod_dav_svn – 通过命令行卡住,但在浏览器中工作

我有一个令人困惑的问题。 我已经安装了很久以前的Apache 2.4 mod_dav_svn能够通过https URL访问我的回购站。 这一切只与Apache工作正常。 现在我切换到lighttpd,我已经通过httpspipe理访问现在与我的lighttpconfigurationproxy.server。 这项工作在浏览器中很好,我仍然可以通过浏览器访问我的回购。 但是,现在不再使用命令行或乌龟svn了。 它无限地挂起。 日志中没有任何错误,只是挂起而没有错误。 当我在命令行取消请求比它说unable to connect…但是当我在浏览器中input相同的url,它完美的作品。 我不知道如何解决这个问题。 编辑:如果我在lighttpd侧禁用SSL并通过端口80传递它也不起作用。 它要求用户名和通行证,而不是挂起。 这是我的lighttpdconfiguration $SERVER["socket"] == ":443" { ssl.engine = "enable", server.errorlog = "/var/log/lighttpd/ssl-error.log", ssl.pemfile = "/etc/ssl/owncerts/defaultcert.pem", HTTP["host"] == "myhost.com"{ server.document-root = "/srv/default/htdocs", ssl.pemfile = "/etc/ssl/owncerts/myhost.com.pem", proxy.server = ( "" => (("host" => "127.0.0.1", "port" => 8443)) ) } } 这里是我的Apacheconfiguration […]

使用SQLite的CGI程序不一致的“无法打开数据库文件”错误

我一直在使用lighttpd 1.4.28和Ubuntu 12.04在我的虚拟私人服务器上运行一个心理学实验的任务程序 。 这个实验是一个用Perl编写的,用我写的Perl模块编写的CGI程序,在Mechanical Turk上提供了一个Web界面。 数据使用WAL模式存储在SQLite数据库中,DBD :: SQLite提供底层的Perl接口。 对于在土耳其Turk上完成它的大多数工人来说,这个实验似乎工作正常 然而偶尔,用户得到错误DBD::SQLite::db prepare failed: unable to open database file 。 它发生在看似任意点的任务中,包括点击CGI程序生成的100个HTML页面,每个页面都会触发数据库。 当用户刷新页面(我认为 )时,似乎不会消失。 我不知道如何自行复制它,但是我知道它至less有15个用户中的2个。 当发生这种情况时,CPU和内存似乎没有受到重视。 磁盘空间也不是问题,(我只使用1.4 gig的3-gig分区)。 目前该数据库大约是280 kb。 PRAGMA integrity_check; 回来了。 任何想法如何debugging呢? 谷歌告诉我,“无法打开数据库文件”通常是一个权限错误或类似的东西,但所有设置正确; 任务通常起作用。

SSL:无法从pem文件lighttpd中读取X509证书

我已经在我的lighttpd上安装了过去的ssl密钥,并且logging了我所做的步骤,以确保我可以在将来复制它。 那么,我还没有碰到服务器一段时间,我需要创build一个新的Web服务器与lighttpd,将支持SSL。 按照我的笔记中的所有步骤,它给了我这个错误 SSL: couldn't read X509 certificate from PEM file 我不确定我在步骤中错过了什么,但如果有人可以请看看我的步骤,也许build议我错过了什么,我真的很感激。 这是我的环境 CentOS 6.4 64 bit lighttpd/1.4.35 (ssl) – a light and fast webserver 我的ssl证书来自startcom公司 这是我的步骤 生成我的csr openssl req -new -newkey rsa:4096 -nodes -out myserver.csr -keyout myserver_privatekey.key -subj "/C=us/ST=State/L=City/O=MyCompany/OU=Productions/CN=myserver.mycompany.net" 将CSR发送到Startcom并将此ssl保存为 myserver.crt 创build最终的PEM文件 cat myserver_privatekey.key myserver.crt > myserver.pem 从startcom得到这2个文件 ca.pem sub.class1.server.ca.pem 统一这两个文件 cat ca.pem sub.class1.server.ca.pem […]