使用RewriteMap并使用txt文件方法进行设置 – 工作正常。 问题是,如果我更新该txt文件 – 更改或添加条目 – 由httpd创build的文件的caching不会更新。 我不明白为什么 – 根据Apache文档: “查find的密钥由httpdcaching,直到mapfile的mtime(修改时间)发生变化,或者httpd服务器重新启动,这确保了在被许多请求调用的地图上有更好的性能。 我把这意味着修改文件将更新caching。 我理解错误吗? 每次更新这个文件时,我真的需要重新启动httpd服务器吗? 谢谢你的帮助
我试图用django,apache和socket.iobuild立一个网站。 感谢一些教程和其他stackoverflow的问题,我设法让一切工作,除了一个严重的滞后,发生在短时间内发送多个socket.io消息。 短安装(详细设置在底部) 我在Apache中configuration的代理后面运行一个node.js socket.io服务器。 消息从socket.io客户端发送到socket.io服务器,也将转发到django,我要注册事件处理程序。 例如,我想触发一个事件,每次客户端join某个房间,通过socket.io发送一些初始数据。 Django也可以将请求发送到socket.io服务器,以触发socket.io事件(如emit),将消息发送到所有或某些socket.io客户端。 要发送和接收socket.io消息,我使用http长轮询。 问题 这个消息转发到Django,似乎减慢了socket.io通信相当多。 例如,我实现了一个简单的echo工具,像这样工作: 客户端— send message – > apache代理 – > socket.io服务器— http POST —> django – >事件处理程序(将消息发送回客户端)— http POST —> socket.io服务器 – > apache代理 – >客户端 这工作正常,如果我只发送一条消息。 但是如果我在很短的时间内发出大量的信息,就会有越来越大的滞后。 如果我只连续发送10条消息,总共有5秒的延迟,直到最后一条回显消息返回给客户端。 如果我发送更多的消息,我会得到连续收到3-4个回显消息的效果。 之后,下一个徽章到达之前,停顿约2秒钟。 这不会发生,如果我不转发消息到Django,但直接发送回来的socket.io服务器内。 当然可以预料,这个额外的组件会使事情稍微放慢一些,但是这个延迟似乎相当严重。 题 那么我做错了什么? 也许我的方法转发消息到Django本质上是错误的? 还是有一些configuration,我可以调整,以加快速度? 这个滞后来自哪里呢? 详细设置(使用代码摘录) Apache 2.4.7 www.example.com:80 提供静态文件和Django应用程序 是node.js socket.io服务器的代理 […]
我有一个令人困惑的问题。 我已经安装了很久以前的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 […]
我有一个nginx服务器在我的服务器上代理apache,安装程序一直运行良好…直到昨天,当我发现,实际上,使用PHP脚本上传文件是非常缓慢的。 由于直接使用Apache(在另一个端口)上传仍然闪电般快,我得出的结论是nginx + apache二重奏是罪魁祸首。 问题是,我不知道如何解决它… 这是我的nginx.conf user apache; worker_processes 16; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { server_tokens off; include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; sendfile on; tcp_nopush on; keepalive_timeout 65; tcp_nodelay on; gzip on; gzip_comp_level 5; gzip_http_version 1.0; gzip_min_length 0; gzip_types text/plain text/css image/x-icon application/x-javascript; gzip_vary on; client_header_timeout 10m; client_body_timeout […]
我在ubuntu安装上运行apache。 几个webapps在同一台服务器上运行。 我安装了一个新的应用程序,它需要安装pdo-sqlite扩展。 现在我的服务器显着慢,似乎没有反应时,要求为PHP生成CSS例如要求: phpmyadmin/phpmyadmin.css.php 给出一个空的页面(不是404错误) 这似乎适用于服务器上的所有networking应用程序,从PHP文件生成CSS。 其他网页在Chrome中也显示net :: ERR_INCOMPLETE_CHUNKED_ENCODING,而Firefox不会抱怨。 Firefox说状态正常… 0字节 Chrome浏览器正在为各种页面抛出net::ERR_INCOMPLETE_CHUNKED_ENCODING错误,而不仅仅是.css.php 相同的webapps在开发服务器上运行得非常好。 (从.css.php文件返回的Chrome和.css没有错误) 我试过的东西: 卸载php5-sqlite 重新启动服务器 在PHP中禁用pdo扩展 检查任何.htaccess文件 任何线索非常感谢。
我试图find所有的信息,我可以在这个,我理解mod_evasive不工作时,服务器是在mpm_prefork模式(而不是工人)的问题。 但是,我能够通过降低部分工作来部分工作 StartServers MinSpareServers MaxSpareServers 在configuration文件中。 所以我的问题是:如果我configurationmpm_prefork.conf : StartServers 1 MinSpareServers 0 MaxSpareServers 0 MaxRequestWorkers 150 MaxConnectionsPerChild 0 会基本上等于一个实例运行(就像“工人”),在这种情况下,mod_evasive仍然会运行,就好像服务器正在作为“工人”一样运行? 在这样的设置中是否有任何潜在的问题? (如很多合法请求没有被处理等)? 有没有其他选项可以满足我的基本要求(mod_security会有帮助吗?) 我知道这不是缓解攻击的最好方法,但我只是寻找自定义搜寻器的基本安全性,偶尔会使服务器每秒钟有数十个请求超载。
我试图redirect(或“重写”)超过3000个url,我们更新了大部分内容页面的SEF,以删除不需要或不需要的ID号码。 这应该是一个简单的过程使用正则expression式; 然而,我正在学习正则expression式和htaccess比科学更“艺术”:-( 这是我有的规则: RewriteRule ^topics\/([-0-9a-zA-Z]+)?\/([0-9]+)(-)([0-9a-z,-]+)? http://example.net/topics/$1/$4 [L,R=301] 大部分url都是这样的: http://example.net/topics/management/6309-investing-proceeds-from-sale-of-a-farm-or-ranch 并与正则expression式工作正常; 但是,如果一篇文章以一个数字开头,那么这样的URL就是这样的: http://example.net/topics/management/3542-9-new-years-resolutions-for-cattle-producers 然后,正则expression式(上面)抓取的不仅仅是第一组4位ID数字,还抓住了应该留下的第一个数字(本例中为“9”),导致: http://example.net/topics/management/new-years-resolutions-for-cattle-producers 这显然不起作用。 另外,作为一个解决方法,我已经尝试创build一些自定义规则来处理这个格式的less数页面/ URL(在文章标题的开始处有一个数字),并且规则在正则expression式之前这个: Redirect 301 /topics/management/3542-9-new-years-resolutions-for-cattle-producers http://example.net/topics/management/9-new-years-resolutions-for-cattle-producers 要么 RewriteRule ^topics\/([-0-9a-zA-Z]+)?\/([0-9]{1,4}?)(-)([0-9,az,-]+)? http://example.net/topics/$1/$4 [L,R=301] 但是,当我这样做时,正则expression式规则(进一步向下的htaccess文件)仍然运行导致“9”被删除。 我已经testing了许多不同的正则expression式和htaccesstesting网站,他们都工作; 但是,它仍然在现场服务器上失败。 Web服务器是:Apache / 2.2.25(Unix)mod_hive / 4.0 mod_ssl / 2.2.25 OpenSSL / 1.0.0-fips mod_bwlimited / 1.4 mod_fcgid / 2.3.6 而且我已经联系了我的服务器/托pipe公司,他们说他们没有专业知识能够解决这个问题。 任何人都可以看到问题在这里? 我在这里和其他地方search了数百个论坛post,没有任何人有相同的问题。
我有VPS(使用CentOS 7作为我的操作系统),现在我正在configurationMunin (监控软件)。 我遇到了Apache监控的一个小问题。 现在我已经得到了这个cfg在我的httpd.conf ,一切工作正常: <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from localhost </Location> terminal慕尼黑: munin-node-configure –suggest | grep apache apache_accesses | yes | yes apache_processes | yes | yes apache_volume | yes | yes 但是,通过/server-status所有域,可以通过此设置获得/server-status : example.com/server-status example.net/server-status 192.0.2.1/example-status 我想实现这样的事情: example.com/server-status —> ERROR 404 example.net/server-status —> ERROR 404 192.0.2.1/example-status […]
我想在我创build的3台Apache服务器上设置负载均衡。 我用于服务器的3个地址是192.168.151.101 , .102和.102 然后我创build了一个负载均衡服务器,并给了这个地址192.168.151.105 在负载均衡服务器中,我创build了以下文件并给出了以下configuration $ vi /etc/apache2/conf.d/proxy-balancer <Proxy balancer://mycluster> BalancerMember http://192.168.151.101 BalancerMember http://192.168.151.102 BalancerMember http://192.168.151.103 </Proxy> ProxyPass / balancer://mycluster 然后我需要configuration我们的代理,以允许从所有主机访问: $ vi /etc/apache2/mods-enabled/proxy.conf 然后我在网上阅读,你需要 “把这个文件中的”Deny from all“改为”Allow from all“,然后重新启动Apache:” 但是,我没有一个Deny all行开始,所以我不确定我应该实际上改变,以允许从所有主机访问。 那么有人知道我是否应该改变这个configuration文件,或者有没有人有另一种方法来做负载平衡? 注意:我启用了所有的代理模块
当我在apache进程上执行strace时,即使在Apache返回静态文件(如图像文件)时,我也会在GET请求之前和之后看到许多gettimeofday。 在Apache 2.4(使用php 5.6,fcgid)应答GET请求之前,会导致很长的停机时间。 1616 0.000048读取(156,“GET / HTTP / 1.1 \ r \ n”,8000)= 16 1616 0.000099 gettimeofday({1430592206,931114},NULL)= 0 1616 0.000044 gettimeofday({1430592206,931156},NULL)= 0 1616 0.000035读取(156,0x7f01d4007018,8000)= -1 EAGAIN(资源暂时不可用) 1616 0.000042 poll([{fd = 156,events = POLLIN}],1,7915439 1670 0.020724 <… epoll_wait恢复> {},100,100)= 0 1670 0.000039 gettimeofday({1430592206,951998},NULL)= 0 1670 0.000037 gettimeofday({1430592206,952034},NULL)= 0 1670 0.000033 gettimeofday({1430592206,952066},NULL)= 0 1670 0.000032 epoll_wait(155,{},100,100)= […]