请看下图。

这应该如何工作?
当远程请求 http://myhost.com:8080/* 时,请求应该转发到监听环回接口 8008 端口的 http 服务器。这是简单的部分。
当远程用户请求 http://myhost.com:8080/specialurl ...
充当应用程序级网关的程序应该能够将连接升级为加密会话(无需更改端口)
与远程浏览器建立加密会话后,应将请求转发给监听环回接口8000端口的C程序
我的问题是:
硬限制:
软限制:
迄今为止尝试过的应用程序网关产品(未成功)
相关 RFC
什么是高负载、极其繁忙的内容流服务器的最佳 sysctl.conf 配置?服务器从远程服务器(如 amazon、s3 等)获取内容,然后使用 php 将内容动态流式传输给用户,而无需将其保存到硬盘上。php 使用 CURL 来获取文件,然后使用flush() 同时流式传输它,所以没有太多的硬盘工作......只有网络和带宽。
该服务器为四核至强,具有 1Gbit 全双工 NIC、8GB RAM 和 500GBx2 RAID。服务器内存使用率和 CPU 负载非常低。
我们在其上运行 debian lenny 和 lighttpd2(是的,我知道它还没有发布 :-) )和 php 5.3.6 和 php fastcgi 和 spawn-fcgi 绑定在 4 个不同的 unix 套接字上,每个套接字有 20 个孩子。最大 fcgi 请求为 20,在 lighttpd2 配置中使用 mod_balancer 模块来平衡这 4 个 SQF(短队列优先)配置中的套接字之间的 fastcgi 请求。
我们的服务器使用大量带宽,即网络连接一直很忙。就在 100 到 200 个并行连接之后,服务器开始变慢并最终变得无响应,开始出现连接超时错误。当我们有 cpanel 时,我们从来没有出现超时错误,所以它不可能是脚本问题。应该是网络配置问题。
lighttpd2 配置:worker processes = 8,keep alive requests 为32,keep alive idle timeout 为10 秒,最大连接数为8192。
我们当前的 sysctl.conf 内容是:
net.ipv4.tcp_fin_timeout = 1 …Run Code Online (Sandbox Code Playgroud) debian file-sharing performance-tuning lighttpd debian-lenny
是否可以将用户重定向到文件file too big页面
当 POST 请求大小超过指定限制时?
我知道 max-request-size 选项,但它只提供不能重载的静态页面。
我正在考虑创建一个重写规则,它需要
来自请求正文的内容大小作为输入并重定向到错误页面
更新
现在我们使用 nginx 作为前端。有什么新建议吗?
我是这种负载平衡方案的新手,我的任务是弄清楚如何使这种负载平衡起作用。
我的环境:
Centos 6.4 64 Bit
Webserver: Lighttpd
All running in ESXI
virtual IP: 192.168.1.6
LB1: 192.168.1.4
LB2: 192.168.1.5
Webserver 1: 192.168.1.12
Webserver 2: 192.168.1.13
Gateway: 192.168.1.1
Run Code Online (Sandbox Code Playgroud)
尝试在使用 HAproxy 和 keepalived 生产之前在实验室中运行测试。这是我的 keepalived 设置:
!keepalived的配置文件
global_defs {
notification_email {
myemail@gmail.com
}
notification_email_from keepalived@domain.local
smtp_server 192.168.1.4
smtp_connect_timeout 30
router_id 192.168.1.1
}
vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 1 # check every second
weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
state MASTER
interface …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 VPS 上设置 Web 服务器。我的问题是 php-cgi 进程的内存使用量随着时间的推移而增加,即使该网站根本没有收到任何流量。(它暂时在防火墙后面)
VPS 有 360MB 内存。我正在使用 Debian Lenny 32bit 及其 lighttpd 和 php5-cgi 软件包。除了一些配置更改(如下所列),我正在使用 Debian 的库存设置。
该网站基于 Drupal。使用 Drupal 的 devel 模块,我可以看出 PHP 脚本的内存使用量平均不到 20KB,并且永远不会超过 8MB。
以下是输出的相关部分ps aux:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 29871 0.0 1.7 54552 6368 ? Ss Aug12 0:00 /usr/bin/php-cgi
www-data 29873 0.0 7.4 65808 27468 ? S Aug12 0:00 /usr/bin/php-cgi
www-data 29874 0.0 3.7 55808 13736 ? S Aug12 0:00 /usr/bin/php-cgi
www-data …Run Code Online (Sandbox Code Playgroud) Ubuntu/Lighttpd 没有为我的 UTF-8 编码文件提供正确的Content-Type标头。它是发送Content-Type: text/html而不是Content-Type: text/html; charset=UTF-8. 如何配置 Lighttpd 以发送正确的标头?
我在默认设置中没有看到任何有用的设置,lighttpd.conf并且无法在文档中找到信息。
现在,logrotate 将旧日志文件重命名为 access.log.1.gz、access.log.2.gz 等。我希望将它们命名为 access.log.20090714.gz、access.log.20090715.gz,等等 - 每天一个。
我找不到为旧日志文件指定文件名模式的任何选项。你知道怎么做吗?
顺便说一句,这是用于轮换 lighttpd 日志文件,如果这很重要的话。
情况: 我想通过 HTTPS 建立 SSH 会话隧道。我有一个非常严格的防火墙/代理,它只允许 HTTP、FTP 和 HTTPS 流量。
什么工作: 通过代理建立一个隧道到一个远程 linux 机器,在端口 443 上有一个 sshd 监听
问题: 我必须在端口 443 上运行一个 Web 服务器(轻量级)。代理禁止到其他端口的 HTTPS 流量。
到目前为止的想法: 设置虚拟主机并将所有传入请求代理到本地主机:(例如22)
$HTTP["host"] == "tunnel.mylinux.box" {
proxy.server = (
"" => (("host" => "127.0.0.1", "port" => 22))
)
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这行不通。我做错了什么,还是有原因,这行不通?
我的公司正在推出一个新网站,在很短的窗口中可能会有大量访问者(估计在 2 分钟的窗口内访问者约为 14k)。
所以,我正在审查我们的配置,我现在最大的问题是我们使用 keep-alive 的单节点 HTTP 前端。前端在 CentOS 5.4 上运行 lighttpd 1.4。
一些假设:
因此,6*14000 = 84,000 个 TCP 连接。84,000 * 150KB ~= 12GB 内存。问题是: 1. 我在前端没有那么多可用的内存。2. lighttpd 1.4 对要管理的连接数量不是很满意。它伤害了命中/很多。
但另一方面,如果我停用 keepalive,我会担心 80 毫秒的 RTT。
我将通过 CDN 和带有辅助 lighttpd 的辅助 www 记录来缓解其中的一些问题。但辩论涉及保持活动功能。我想关闭它,但我担心对页面打开时间的影响会很大(RTT 高,数据包数量翻倍)。
内容检索完成后,我们有很多 ajax 请求用于浏览通常适合单个 …
我正在尝试创建一个 php 应用程序的静态镜像(特别是旧的 php Gallery 安装)。该应用程序生成 URL,例如:
view_album.php?set_albumName=MyAlbum
Run Code Online (Sandbox Code Playgroud)
wget将这些直接下载到名称相同的文件中,并带有问号。为了不破坏入站链接,我想保留这些名称。但我如何为他们服务?我遇到了两个问题:
网络服务器(正确地)尝试查找“view_album.php”,并将查询参数传递给它,而不是查找带有问号的文件。如何告诉网络服务器查找其中带有问号的文件?重命名文件是不可取的,因为它会破坏入站链接。我不能告诉入站链接器对他们的 URL 进行 %-encode。
这些文件不以 HTML 结尾,因此大多数网络服务器不会发送 html 内容类型标头。我应该寻找哪些配置参数来告诉它为目录中的所有文件强制使用“text/html”内容类型或匹配特定模式?
我最终使用的是 lighttpd,但是如果您知道什么样的配置可以使用 apache/nginx 获得所需的结果,我也很想听听。
lighttpd ×10
https ×2
linux ×2
nginx ×2
.htaccess ×1
centos6.4 ×1
debian ×1
debian-lenny ×1
file-sharing ×1
firewall ×1
haproxy ×1
http ×1
httpd.conf ×1
keepalive ×1
keepalived ×1
logrotate ×1
memory ×1
performance ×1
php ×1
ssh-tunnel ×1
upload ×1
utf-8 ×1
web-server ×1
wget ×1