Articles of apache 2.2

Apache2 PHP网站 – 击中MaxClients限制 – 诊断?

我们有一个中等stream量的网站(每天大概20,000次点击),从Amazon EC2 c1.small实例(1.7 Gb的RAM)在Apache 2.2,Ubuntu 9.10服务器上运行PHP / MySQL应用程序。 我们遇到了网站反复无响应的问题。 作为一个肮脏的黑客,我把MaxClients / ServerLimit设置为450。 <IfModule mpm_prefork_module> KeepAlive On KeepAliveTimeout 7 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 450 ServerLimit 450 MaxRequestsPerChild 0 </IfModule> 该网站似乎比以前更长,但仍然死亡。 检查进程列表,我有(第三列是物理mem,第四列是虚拟大小): xxxxxxxxx@domU-XXXXXXXXX:/etc/apache2$ ps -eo pid,user,rss,vsz,args | grep apache 2333 root 11092 39084 /usr/sbin/apache2 -k start 3704 www-data 11060 41292 /usr/sbin/apache2 -k start 3826 […]

什么是Apache相当于Nginx的try_files?

在Nginx中有一个try_files ,一个configuration指令,用于“按顺序检查文件的存在,并返回find的第一个文件”。 我发现这样做非常整齐 location ~* \.(gif|jpe?g|css|js)$ { try_files $uri 404; } 这是直接提供静态文件的安全方式,而不会打扰Web框架。 我如何在Apache中做同样的事情?

Apache如何解释多个SSLRandomSeed来源

在我的Apacheconfiguration中,我有这些行: SSLRandomSeed connect builtin SSLRandomSeed connect file:/dev/random SSLRandomSeed connect file:/dev/urandom 1024 Apache究竟如何解释这一点? 它是否首先尝试内置,然后移动到/dev/random如果失败? 如果它使用/dev/random ,并且/dev/random然后用完熵,它会自动切换到/dev/urandom ? 有没有解释这一切的Apache文档?

Nginx在使用https访问时从错误的“虚拟主机”提供内容

我有一台服务器在代理设置中同时运行Nginx和Apache,Nginx为静态内容和Apache提供了非常好的dynamic内容。 这个设置目前正在托pipe同一个网站的两个版本,可以称之为production.com和staging.com。 我刚刚完成了使用SSL的production.com网站的设置,但也发现,如果我使用SSL浏览到staging.com,则会获得production.com网站根目录的内容,这显然是错误的。 我被告知使用SSL和非SSL的默认处理程序,这将消除这种行为,但这是我有麻烦的地方。 现在我有这个configuration包含在nginx.conf default_80.conf server { listen 80; server_name ""; return 444; } default_443.conf server { listen 443 default_server ssl; server_name ""; return 444; } staging.com.conf server { listen 80; server_name staging.com; access_log /var/log/nginx/staging.com.log; # static content folders location ^~ /(images|css|js) { root /var/www/staging.com/current; access_log /var/log/nginx/staging.com.static.log; } # static content files location ~* […]

错误消息“尝试服务目录”是什么意思在Apache日志?

我在服务器的apache日志(来自不同的IP地址并指向不同的path)中看到了很多。 我想知道这是否可以成为攻击企图,无论如何,如何处理呢?

停止推动者打破我的中央水银库

我正在运行中央储存库,并且我知道,如果远程用户试图强制多个“头部”到我的中央存储库,正常的“push”命令将会停止。 意图是远程用户应该先尝试再次推送和合并。 不过,使用hg push –force会覆盖这个。 我想阻止这种行为。 我目前使用hgwebdir.cgi加上一些apache-auth的东西来限制用户拉和推的能力。 编辑:pretxnchangegroup钩解决了这个问题。 胡克工作: #!/bin/bash # force-one-head # add the following to <repository>/.hg/hgrc : # [hooks] # pretxnchangegroup.forceonehead = /path/to/force-one-head if [[ `hg heads -q | wc -l` -gt 1 ]]; then echo "There are multiple heads." echo "Please 'hg pull' and get your repository up to date first." echo […]

Web服务器上的交换空间不足,该怎么办?

我有2个LAMP Web服务器,通常用掉交换空间(请参阅附上的截图)。 Apache的设置如下: <IfModule prefork.c> StartServers 64 MinSpareServers 64 MaxSpareServers 128 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4096 </ IfModule>configuration PHP的资源限制是: max_execution_time = 30 max_input_time = 30 memory_limit = 80M 我是新来的服务器pipe理员这样的东西(我是一个开发人员); 我可以调整什么以防止交换? 以下是其中一台服务器崩溃时的屏幕截图:

VPS是否需要防火墙?

我今天订购的VPS上需要防火墙吗? 如果是这样,你会推荐哪一个? 我打算用Java,php,mysql运行分类网站。 我的操作系统是Ubuntu 9.10 谢谢 顺便说一句:什么是iptables?

Apache压缩.xml.gz文件

我注意到谷歌网站pipe理员工具有关gzip版本的网站地图的错误。 原来, sitemap.xml.gz文件被压缩了两次:一次创build(应该是),另一次被提供服务。 .htaccess文件有这个规则 AddOutputFilterByType DEFLATE application/xml 我认为这不匹配一个gzipped的XML文件,但显然这是作为解决这个问题。 我究竟做错了什么?

从Apache2 serverAlias中排除特定的域,同时使用捕获所有*(通配符)别名

我有一个Web应用程序需要支持自定义域,在这方面,我已经设置了以下名称的虚拟服务器: <VirtualHost *:80> ServerName example.com ServerAlias * *.example.com www.example.com example.com RailsEnv production RackEnv production DocumentRoot /srv/www/example/current/public <Directory /srv/www/example/current/public> AllowOverride all Options -MultiViews FollowSymLinks </Directory> ErrorLog /srv/www/example/log/error.log TransferLog /srv/www/example/log/access.log </VirtualHost> 注意*作为服务器别名? 捕获该服务器上的所有域。 但是,我有这个服务器上的其他网站,我想从这个列表中排除。 对于我来说,有一个被排除的域列表比手动设置用户可以在这个服务注册的每个域作为serverAlias更加经济… 也许这不是最好的方法,但我正在寻找帮助,以最好(相对简单)的方式来设置一个可以捕捉任何域的Web应用程序,同时允许其他特定的域被路由到不同的应用程序。