我在Apache2 web根目录下有一堆静态文件(例如index.xhtml )。 我无法控制服务器的configuration,但可以修改web根目录下的.htaccess 。 我想预先压缩文件(例如index.xhtml.gz )以提高加载时间并减less带宽消耗。 但是,如果我这样做,不支持自动检测内容编码的用户代理将无法使用该站点。 我认为与有能力的代理相比,这些代理将是非常罕见的,所以只有在代理不在Accept-Encoding头中发送gzip情况下才能解压内容。 声称支持gzip但不是无关紧要的代理。 大多数有关压缩的站点都假设正在执行,我希望避免减less消耗的CPU时间。
我最近推出了一个运行phusion乘客的网站。 不幸的是,该网站由于冻结的线程而下降。 我可以通过对特定的PID执行kill -9来保存服务器。 尽pipe如此,我还是觉得乘客能够自动pipe理这个。 我有一个服务器与1GB的内存运行一个轨道应用与乘客分配多达7个实例。 但是当我发现这个网站发生故障时,我发现乘客已经产生了6个实例,其中一个实例使用了超过800MB的内存,导致服务器交换。 因此,我希望在服务器上安装bluepill之类的东西,但是我对于如何去做这件事感到有点困惑。 主要是因为bluepill希望启动/停止正在监控的进程。 但是,在我们的情况下,乘客已经为我们重新启动了程序,所以我们只需要监控乘客的情况,一旦他们变得太大,就杀了他们。 有没有人在这里设置BluePill来监视在phusion的乘客下运行的rails应用程序? 任何见解都会有用。
hy每个身体,我们有dokeos应用程序使用Apache作为Web服务器。 当访问dokeos我们必须login,所以试图访问这个应用程序的用户,必须使用ID和密码login。 但是我在apache webserver日志文件中没有这个ID信息。 我的意思是“用户名”信息没有进入日志文件。 谢谢。
在我的ACCESS_LOG中,我看到很多奇怪的东西,来自其他IP的请求尝试连接到其他IP。 示例行: 67.212.81.217 – – [15/Dec/2009:17:38:26 +0000] "GET http://www.megaupload.com/?d=JE615TVO HTTP/1.1" 200 531 "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" 我的Apache被黑客入侵了吗? 我怎样才能禁用它? 我试图谷歌关于这样的问题,一些网站build议它关于mod_proxy,我试图禁用它,但问题仍然存在。
我已经在多个位置上读到,由于安全问题,Apple在10.5和10.6中默认提供的Apache设置不是您想要在生产环境中使用的。 我很好奇,如果Snow Leopard Server中的默认演示文稿存在差异,那么build议在不进行重大修改/滚动自定义Apache安装的情况下运行它。 谢谢!
我在我的Windows XP(SP3)开发机器上本地安装了Apache 2.2.11,这是我在3个月前安装的。 过去几周我刚开始有一个奇怪的问题。 Apache正在为phpMyAdmin等一些基本的PHP应用程序提供服务。 当我发出页面请求时,Apache似乎没有完成为该页面提供的所有资源。 Firefox显示“从服务器名称…传输数据”消息,并且该页面从未完成。 Internet Explorer也发生同样的问题。 我有时可以知道它正在等待哪个资源,因为除了某些图像或类似资源外,大部分页面都会呈现。 (不知道为什么Firebug不显示这个) 它没有每个页面请求的问题 – 对于大部分资源caching在浏览器中的页面请求,页面请求将毫无问题地工作。 或者非常轻的页面将毫无问题地工作。 但是,如果我“硬”刷新页面,我会有这个问题(可能是因为它是请求所有页面资源) 有谁知道这可能是什么? 奇怪的是,它刚刚开始发生 – 我没有对我的系统做任何改变(我知道) 我尝试使用Apache ThreadsPerChild设置,但似乎没有什么区别。 更新: 我一直在做更多的testing。 我一直在服务最基本的页面,只是一个普通的HTML文件: <html> <body> <h1>testing</h1> </body> </html> 如果我连续多次请求这个页面,并且每个请求都会在前一个完成之后立即发生,那么请求超时的时间有50%。 但是,如果我在请求之间留出1-2秒的间隔,那么就没有问题了。 这与浏览器请求真正的应用程序页面时所观察到的相关。 当浏览器没有任何caching的时候,浏览器会在很短的时间内请求所有的页面资源 – 这似乎是触发问题的原因。 UPDATE2: Nathan Long通过服务器状态页面帮助我更好地理解了这个问题(见下文)。 这很奇怪,它就像服务器有一个Hickup发送数据到客户端。 客户坐在那里等待永远不会到达的数据。 closures客户端进程不会终止服务器上的连接 – 服务器上每个先前尝试的连接仍然有活动的线程,但他们只是坐在那里 – 不发送任何数据,也不会终止。 (即使客户端现在closures)只有重启服务器才能终止它们。
使用Apache / WebDAV / mod_auth_mysql,是否可以将用户(或组)的访问限制在MySQLauthentication表中定义的特定目录? 更具体地说,我想根据MySQL表中存在的数据来指定允许WebDAV用户访问哪些目录。 例如,如果我有一个用Python或PHP构build的用户pipe理界面,允许我指定一个用户被允许访问的目录,我将它保存在与mod_auth_mysql使用的用户/用户对相同的行上validationWebDAV用户。 如何configurationmod_auth_mysql块来指定用户被允许访问的目录? 或者在别处呢?
我运行一个PHP脚本,出了点问题(我还没有弄清楚)。 只是为了有一个新的开始。 我重新启动Apache,但在日志中我得到这个: [Fri Dec 25 21:27:16 2009] [notice] Child 7584: Child process is running [Fri Dec 25 21:27:16 2009] [notice] Child 7584: Acquired the start mutex. [Fri Dec 25 21:27:16 2009] [notice] Child 7584: Starting 64 worker threads. [Fri Dec 25 21:27:16 2009] [notice] Child 7584: Starting thread to listen on port 9090. [Fri […]
我已经尽力按照http://docs.djangoproject.com/en/dev/howto/deployment/modpython/上的说明进行操作,但客户正在向我们转移一个网站,我怀疑原始开发人员的方法有点,呃,不同。 所以,首先是完整的错误信息: ImportError: Could not import settings 'settings.py' (Is it on sys.path? Does it have syntax errors?): No module named py 然后,该站点的apacheconfiguration: <Location /acecoach/> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE settings.py PythonOption django.root /acecoach PythonPath "['/home/acecoach/public_html/acecoach'] + sys.path" PythonDebug On </Location> 现在,据我所知,“设置模块”位于/home/acecoach/public_html/acecoach/settings.py这个文件可以被apache服务器读取 – 我testing了这个文件实际上是通过apache用户从命令行读取文件。 我也读过类似的build议,在这方面没有任何有用的帮助。 这让我疯狂。 🙂
我试图把这个URL改写如下: fr.example.com/tag/movies example.com/catch.php?tag=movies fr.example.com » domain.com/catch.php?country=fr 对于这些,我有一个.htaccess文件中的以下mod_rewrite规则 子域名+标签 RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com [NC] RewriteRule ^tag/([^/]+) catch.php?country=%1&tag=$1 [L,NS] 标签 RewriteRule ^tag/([^/]+) catch.php?tag=$1 [L,NS] 子域 RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com [NC] RewriteRule ^(.*)$ catch.php?country=%1 [L,NS] 按照这个顺序。 现在,第一个RewriteRule之后的L应该结束处理,并将其redirect到子域名+标签URL,但是不会。 例如, fr.example.com/tag/movies发送到catch.php?country=fr ,这是.htaccess文件中的最后一个条件。 发现第一个L后不应该停止吗? 回答 那么,事实certificate, [L]标志根据上下文( .htaccess / <Directory>不同于httpd.conf )的不同而有所不同,正如您在这里所看到的。 因此,为了使其工作,只需将规则放置在<VirtualHost> (NOT <Directory> )中,并将/添加到每个URI( /catch.php /tag ,…)。 而已。