Apache已经成为事实上的标准Web服务器已有十多年了,但近年来我们为Web服务器带来了更少的RAM,并且每秒使用更少的线程和异步i/o处理更多的请求.在我看来,我还发现这些服务器的配置更简单,更少.
为什么人们在异步服务器更轻量级时使用Apache?有没有明显的好处?
我正在寻找一种方法来确认X-Sendfile是否正确处理由脚本(PHP)返回给Web服务器的请求.图像正在正确提供,但我想我会在curl请求中看到标题.
$ curl -I http://blog2.stageserver.net/wp-includes/ms-files.php?file=/2011/05/amos-lee-feature.jpg
HTTP/1.1 200 OK
Date: Wed, 04 Jan 2012 17:19:45 GMT
Server: Cherokee/1.2.100 (Arch Linux)
ETag: "4dd2e306=9da0"
Last-Modified: Tue, 17 May 2011 21:05:10 GMT
Content-Type: image/jpeg
Content-Length: 40352
X-Powered-By: PHP/5.3.8
Content-Disposition: inline; filename="amos-lee-feature.jpg"
Run Code Online (Sandbox Code Playgroud)
在FastCGI中使用PHP-FPM 5.3.8的Cherokee 1.2.100 :(
cherokee.conf: vserver!20!rule!500!handler!xsendfile = 1
由vServer> Behavior> Extensions设置php> Handler:允许X-Sendfile [check Enabled])
Wordpress网络/ WPMU 3.3.1:
define('WPMU_SENDFILE',true);在包含wp-config.php之前设置如下wp-settings.php.这将触发以下代码在WP的wp-includes/ms-files.php中执行:50为特定博客提供文件:
header( 'X-Sendfile: ' . $file );
exit;
Run Code Online (Sandbox Code Playgroud)
我已经确认上面的代码片段正在通过在exit();调用之前添加一个用于处置的附加标头来执行.Content-Disposition与curl结果一起出现,而不是最初在ms-files.php代码中.添加的代码是:
header('Content-Disposition: inline; filename="'.basename($file).'"');
我有: …
有没有人提供有关在Django生产应用程序上提供静态文件的简单分步教程?我阅读了Django 文档,这听起来确实很复杂...我试图使用诸如lighttpd,nginx或cherokee之类的其他服务器来提供静态文件,但是对我来说,设置这些都是希腊文。我下载了lighttpd,尝试按照说明进行安装,并在几秒钟内得到了一个错误。缺少这个或那个或其他...我不是UNIX专家,我也不擅长C / C ++,所以所有这些./configure和MAKE安装对我来说都是胡言乱语...所以我想我眼前的问题是:
非常感谢!
我正在尝试设置一个通用的Pyramid项目,通过切诺基与uWSGI一起工作,但不断得到"没有加载应用程序"的错误.我所做的所有研究并没有让我继续下去.有人有主意吗?请注意,我'通过virtualenvwrapper使用virtualenv.
这是来自我的development.ini
[uwsgi]
socket = 127.0.0.1:2626
master = true
processes = 1
virtualenv = /home/user/.virtualenvs/pyramid/
pythonpath = /home/user/Projects/ConventionMeStatic
Run Code Online (Sandbox Code Playgroud)
这是我一直试图用来启动它的命令:/usr/bin/uwsgi --ini development.ini --plugin python.
我可以发布任何进一步的细节,但项目本身没有其他变化.
我在切诺基+ uWSGI在我的django应用程序中接受.py文件的代码更改时遇到了一些麻烦.即使使用
find -name "*.pyc" -delete
......似乎没有效果.
在django runserver下运行相同的代码库时,在刷新时会立即注意到更改
如何强制重启并可靠地查看Cherokee + uWSGI + Django下的更改?
使用切诺基网络服务器重写时,我遇到了一个烦人的问题.
我想转换:
http://example.com/mypage.phtml?cmd=print
=> to =>
http://example.com/index.php?page=mypage&cmd=print
Run Code Online (Sandbox Code Playgroud)
问题是,这个? - 标志着弄脏了cmd;
$_GET : array('page'=>'mypage', '?cmd'=>'print')
Run Code Online (Sandbox Code Playgroud)
切诺基配置有:
regexp: ^/(.*)\.phtml(.*)$
internal subst: /index.php?page=$1&$2
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如果存在问题,如何最好地"吃掉"问号.
问候,
//泰森
我已经使用uWSGI + Cherokee成功部署了一个Django应用程序.但是,在我决定使用Django之前,我想尝试Pylons.
到目前为止,我已按照此处的说明/建议: 使用uWSGI部署Pylons
Paster服务毫无障碍地工作.但是当我尝试通过uWSGI服务时,我无处可去:
/usr/bin/uwsgi -s :5000 --paste config:/var/www/env/helloworld/development.ini -H /var/www/env -M
我的uWSGI主进程和工作进程被生成.所以,我访问http:// localhost:5000 这是我得到的:
Error 324 (net::ERR_EMPTY_RESPONSE): Unknown error.
Run Code Online (Sandbox Code Playgroud)
我的终端回读(并在刷新浏览器时重复):
invalid request block size: 21573...skip
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我找不到uWSGI + Cherokee的任何指南或步骤