Articles of apache 2.2

我如何专门禁用一些Apache模块指令要在.htaccess中使用

我是网站托pipe人和网站所有者。 作为一个托pipe人,我不想在我的客户网站的.htaccess中禁用某些模块指令。 由于一些网站作为CDN,我想禁用例如AddHandler(和更多)从mod_mime。 所以,即使PHPfile upload,他们不能执行。 虽然来自mod_rewrite的指令如RewriteRule仍然不错。 在pseude代码中解释它: AllowOverride All -mod_mime -DocumentRoot -CustomLog -ErrorLog 文档https://httpd.apache.org/docs/2.2/mod/mod_mime.html#AddHandler说上下文是.htaccess,我可以限制这个模块指令的上下文吗? 我不怕修补或重新编译它。 我将如何解决这个问题? 谢谢!

由于“没有可用的套接字”错误,apache2将无法在启动时启动

当使用apache2版本2.2.22启动debian wheezy服务器时,apache autostart会失败,并显示以下错误: Starting web server: apache2(99)Cannot assign requested address: make_sock: could not bind to address [2a01:aaa:bbb:ccc::2]:80 no listening sockets available, shutting down Unable to open logs Action 'start' failed. 我已经检查过,如果端口80已经被另一个使用netstat的进程使用 – 事实上并非如此。 ipv6设置是本地的,不使用任何隧道。 这是使用/etc/network/interfaces : iface eth0 inet6 static address 2a01:aaa:bbb:ccc::2 netmask 64 gateway 2a01:aaa:bbb:ccc::1 我也尝试设置由rc.d使用的S[xx]apache2数字高于所有其他进程的数字,仍然是相同的错误。 当以后使用/etc/init.d/apache2 start手动启动Apache /etc/init.d/apache2 start通过ssh /etc/init.d/apache2 start ,一切正常。 我怎么可能解决这个问题?

将SSLstream量redirect到非安全站点

我目前正在共享服务器上运行一个网站(HostGator)。 该网站没有SSL证书,并不真正需要它,因为它只是信息。 不过,我注意到有一些人错误地尝试使用SSL( https://www.mysite.com )进行连接。 我猜他们在浏览器窗口中replace了部分url。 目前,不是redirect到非SSL版本,我得到一个SSL连接错误(错误107)页面。 我假设因为通过港口的连接被拒绝。 我以为我可以只使用mod_rewriteredirect,所以我已经在我的.htaccess文件中尝试了以下内容,但似乎没有影响: RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 这个规则不是做我的想法吗? 或者这是不可能的,因为错误发生在mod_rewrite之前(可能是因为SSL的端口被阻止)?

当我增加MinSpareServers时,CGi / FastCGI会有所改进吗?

在Apache / cPanel中,我可以设置MinSpareServers和MaxSpareServers的数量。 但是闲置过程的用户是没有人的。 我正在运行SuPHP,PHP正在CGI下运行。 那么,如果我为我的繁忙网站增加最小/最大备用服务器号码,它会影响CGI / SuPHP吗? 还是只有在没有人的情况下才能提高DSO的速度? (我使用Nginx作为代理来处理静态文件) 如果我可以在Google上search这个问题,我不需要在这里问。

试图在Arch Linux上使用mod_pagespeed

我有一种感觉,我失去了一些明显的东西。 免责声明:我不是非常有经验的Linux / Apache,或只是涉及任何事情。 我试图在Arch Linux上使用mod_pagespeed; 没有可用的二进制文件,但是我可以用AUR的yaourt安装它。 现在,pagespeed模块存在于/ etc / httpd / modules中,这里有一个configuration文件:/etc/httpd/conf/extra/pagespeed.conf。 但是这个模块实际上并没有加载或运行,我可以通过从运行的apache服务器请求页面时捕获头文件来判断。 我觉得我可能需要修改httpd.conf以某种方式加载模块,但我很难搞清楚如何。 它看起来像所有的configuration在前面提到的pagespeed.conf文件,但是,即使被加载? 似乎并不如此; 除非它不工作。 任何提示都将不胜感激。 谢谢!

你可以阻止多个连接的IP? (Apache ddos​​攻击)

我的服务器现在正在进行Apache ddos​​攻击。 有大量的单个IP地址与30多个连接。 当我使用这个SSH命令时: netstat -n | grep ':80' | awk -F' ' '{print $5}' | awk -F':' '{print $1}' | sort | uniq -c | sort -n 我得到这个: 30 69.144.146.74 31 190.216.242.195 31 92.20.224.127 34 24.127.224.73 37 197.34.29.122 37 85.225.133.82 38 108.29.62.196 38 86.95.44.115 40 66.62.146.84 40 94.123.91.147 46 24.117.238.91 48 70.112.112.127 48 71.58.158.150 […]

Apache使用404内存

我们正在面对一个服务于静态文件的apache服务器的问题。 当有大量不存在的资源请求时,apache将开始增加进程和内存使用量,直到它使用所有可用内存并停止应答请求。 这台机器有2GB的内存,它的默认configuration是apache。 有这个问题的解决方法? 任何configuration,这可能是错误的? 非常感谢!

自定义401页面 – 401授权尝试使用ErrorDocument处理请求时遇到了必需的错误

我不能为我的生活工作,为什么这是行不通的。 我有2个Apache指令。 我的整个网站应该要求身份validation除了每个人都应该能够访问的login页面。 当我这样做时,我得到下面的错误: 此服务器无法validation您是否有权访问请求的文档。 要么提供了错误的凭据(例如错误的密码),要么您的浏览器不知道如何提供所需的凭据。 此外,尝试使用ErrorDocument来处理请求时遇到401授权所需的错误。 我的Apacheconfiguration <VirtualHost *:80> ServerName example.com DocumentRoot C:/htdocs/example <Directory "C:/htdocs/example"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all AuthName "Example" AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIOfferSSPI On SSPIOfferBasic On SSPIPerRequestAuth On require valid-user ErrorDocument 401 /login/alternate </Directory> <Location /login> Allow from all Satisfy Any </Location> </VirtualHost>

使用Piwik时需要Apache日志

如果我使用Piwik进行分析(或Google Analytics),是否需要保留Apache访问日志? 诚然,这些可以作为备份。 但是,旋转会从日志中删除某个历史logging。

我如何去寻找一个缓慢的基于Web的聊天应用程序的瓶颈

我正在制作一个一对一的聊天应用程序。 它使用StropheJS通过BOSH连接到Ejabberd服务器(使用ejabberd的默认连接pipe理器)。 我们面临的主要问题是,有时消息需要很长时间才能到达另一端(约30秒左右),否则很快就会到达另一端。 像这样的东西 – 用户A发送消息 用户B立即收到 —- [更多即时消息交换] —– 用户A发送消息 B没有收到消息 用户A发送另一个消息 B仍然没有收到消息 … … (20-30秒之后)B一起接收两个消息(不是作为单个消息,而是在它们之间没有任何明显的时间间隔) 除了聊天之外,Web应用程序的其他部分还可以正常工作。 我很难弄清楚什么是确切的瓶颈。 它运行在Ubuntu 10.04实例上(2 GB内存+ 4 GB交换)。 我应该提到的一件事情是,一台机器用于托pipe所有的东西 – apache2,mysql,ejabberd,rabbitmq,mongodb,消息队列工作者以及由apache2使用mod_wsgi服务的python web应用程序。 此外,apache还提供一些(很less)静态文件,并将BOSH请求代理到ejabberd。 在任何时候,Apache的最大进程数(大约40),并使用700-800 MB的内存,所以我的猜测是,它正在做的大部分工作。 每天平均提供20万个请求(这个数字是从访问日志中获得的) 我们已经移动了CDN提供的静态文件(它显着提高了性能),并且还logging了缓慢的查询,并通过创build索引进行了优化,这些索引再次导致整体性能提升,尽pipe我打算明天再次做这个练习。 是否有系统的方法来解决瓶颈问题? 我也很困惑, 是否切换到nginx会提高性能 无论是把东西搬到自己的服务器上,他们可能会在单机上竞争资源? 升级机器上的内存 负载平衡的http服务器(虽然我有点怀疑,因为New Relic显示在请求排队几乎可以忽略不计的时间。) 可以在前端/后端上做什么样的测量来获得想法? PS:为了理解服务器pipe理/体系结构/调优的基础知识,在书中提供一些build议也是非常好的。