Articles of apache 2.2

颠覆阿帕奇 – 结帐失败:405方法不允许

我尝试在apache服务器上设置颠覆。 我遵循这个指南:[ http://wiki.centos.org/HowTos/Subversion] [1 ] 如果我尝试与龟龟SVN一个项目结帐后,我得到以下错误: Unexpected HTTP status 405 'Method Not Allowed' on '/repos 如果我尝试在Linux服务器上使用svn客户端,我得到以下错误: svn: Server sent unexpected return value (405 Method Not Allowed) in response to OPTIONS request for 'https://server.ch/repos' 我在Apache服务器上的当前configuration如下所示: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <VirtualHost *:443> … <Directory "/var/www/svn/"> Order allow,deny Allow from all AllowOverride all AuthType Basic AuthName […]

Apache不响应所有请求

安装程序:我有大约+100万个电话打到我的服务器。 服务器看起来不错。 大量的CPU和RAM – CPU在90%左右的闲置时间(1) 数据库没有得到太多的负载 – less于100秒的请求(2)。 当我通过一个像“Android丢失”的Apache代理服务器时,我得到一个超时。 当我直接在端口8080上打开应用程序服务器时,我立即得到答复。 我到目前为止所做的是: 重新启动所有服务,数据库,Apache,docker 重新启动服务器 试图安装nginx而不是Apache(3) 试图在端口80上运行Jetty并跳过Apache 试图调整服务器设置(4) 对我来说,这听起来像是一个巨大的请求负载试图击中服务器,并在某处有一个需要设置的Apache节stream。 所以,任何暗示或build议将不胜感激。 广告。 1: top – 20:44:33 up 44 min, 2 users, load average: 2.44, 1.86, 2.80 Tasks: 165 total, 2 running, 163 sleeping, 0 stopped, 0 zombie Cpu(s): 1.0%us, 0.4%sy, 0.0%ni, 90.6%id, 7.5%wa, 0.0%hi, 0.5%si, 0.0%st Mem: 12296928k […]

从Django App分配负载

我正在接近将我的第一个大型应用程序从开发中移出的阶段。 我曾经和一些知道他们在谈论什么的CTO谈过,而且我被告知要做以下工作: 将发射阶段分成4个步骤 I.启动单个结构化的应用程序。 assets /和db.sqlite3在应用程序内,全部在一台服务器上。 II。 将数据库移到自己的服务器上,使用CDN(如aws-s3)来保存资产/ III。 设置负载平衡 IV。 使用NoSQL解决scheme而不是rdbms。 所以! 我关心的主要问题是项目2: 我必须设置一个环境来运行sqlite3,创build一个用户,然后给我的django应用程序专门的身份validation? 我熟悉将资产存储在外部,但是我从来不需要移出数据库,不包括执行parsing的非django解决scheme。 tldr; 我是一个业余的专业开发人员,我从来没有build立任何曾经有超过1000个用户的任何东西,并且好奇创build一个django应用程序的stream程stream程看起来如何,通过使用另一个服务器来成功减less服务器负载。 我的想法可能有缺陷:我不明白这是如何分配负载,因为对我来说,似乎应用程序将不得不进一步请求与数据库进行通信。 它实际上只是作为一个在客户端和服务器之间来回传递消息的中间人吗? 计划使用Apache的托pipe,可能在一个EC2的Ubuntu 14.04实例(多?)。 谢谢。

Apache:环境variables的范围

虽然有关于Apache环境variables的文档,但我无法find一个重要问题的答案。 想象一下,我使用重写规则来设置环境variables RewriteRule … … [E=something:1] 什么是“东西”的范围 – 全球的Apache服务器(这意味着“东西”将可用于其他请求交易),这个请求(意味着“东西”只适用于这个HTTP请求(及其相关的处理 – 但什么关于内部redirect和其他内部的东西 – 他们认为是这个请求,或另一个?),并可能在另一个(并发)请求中设置不同?

如何为多个虚拟主机的一个域设置SSL

我有一个Apache2服务器与多个虚拟主机。 其中一个域名现在需要SSL,因此他们可以使用Stripe进行付款。 我有一个单独的IP为该域(domain1)比主服务器的IP。 (主服务器99.99.99.88,独立IP 99.99.99.99) 在我切断所有内容之前,我试图让它在端口80(非SSL)上工作,以便我知道我的virts正在工作。 当我去IP(99.99.99.99)时,它parsing为domain2,这是服务器的默认域,而不是domain1。 httpd.conf中的Listen命令是Listen 80 这是我的vhosts.conf的相关代码 NameVirtualHost *:80 NameVirtualHost 99.99.99.99:80 <VirtualHost 99.99.99.99:80> ServerName domain1.com DocumentRoot /var/www/vhosts/domain1.com/httpdocs </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/vhosts/domain2.com/html ServerName www.domain2.com </VirtualHost> <VirtualHost *:80> ServerName portal.domain2.com DocumentRoot /var/www/vhosts/domain2.com/portal/public </VirtualHost> <VirtualHost *:80> ServerName demo.domain2.com DocumentRoot /var/www/vhosts/domain2.com/demo/public </VirtualHost> <VirtualHost *:80> ServerName domain3.info DocumentRoot /var/www/vhosts/domain3.info/html </VirtualHost> <VirtualHost *:80> ServerName domain1.com DocumentRoot /var/www/vhosts/domain1.com/httpdocs […]

Apache mod_rewrite:domain – >使用通配符SSL的www.domain

我有一个Apache 2.2服务器和* .domain.com的通配符SSL证书,并为80和443设置了一个mod_rewrite规则集,可以正确地将domain.com的请求redirect到www.domain.com: RewriteCond %{HTTP_HOST} ^domain.com RewriteRule ^(.*)$ https://www.domain.com$1 [R=permanent,L] (这是443的那个; 80上的那个只是在'https'中省略了's')。 这个部分对于http和https都是正确的 – 它重写 – 但是这并不能解决我想要修复的问题。 特别是,当有人去https://domain.com ,他们会得到一个证书警告,因为* .domain.com通配符证书不匹配只有domain.com。 如果他们select接受证书并继续,则重写将正常进行,并且正常的locking图标replace愤怒的locking图标。 问题是,他们首先得到警告 – 他们必须select在重写完成之前忽略证书警告。 在尝试执行SSL协商之前,是否有正确的方法将stream量发送到https://domain.com到https://www.domain.com ? 看起来像mod_rewrite正在做这件事。

像“顶”的虚拟主机

有没有什么方法可以实时确定哪些虚拟主机让Apache进程忙碌? 理想情况下,我想要一个像top (或htop )这样的工具来显示哪些网站最繁忙或最昂贵。 像这样的工具可以构build在mod_log_forensic上 ,它会在每个请求开始和结束时写入严格的日志。 它不会给你进程ID或CPU时间,只是从开始到结束所用的时间,但它可能有助于追踪泄漏或长时间运行的请求。

Apache不正确地提供修改的静态资产:提供大小调整为与新文件相匹配的过时文件

我有一个在CentOS VirtualBox中运行的CakePHP项目。 该网站配有Apache 2.2.15。 文档根文件夹中有JS文件。 Apache似乎为他们提供文件。 但是在我编辑一个JS文件之后,Apache会提供这个旧文件。 它将修改旧文件的大小以匹配新文件的大小并提供修改后的旧文件: 如果新文件小于旧文件,则会剪切旧文件并提供结果; 如果新文件大于旧文件,则会将 符号附加到旧文件并提供结果。 重新启动Apache不能解决问题。 我发现使Apache服务当前文件的唯一方法是将文件移动到另一个位置。 然后CakePHP将显示一个奇怪的404页面。 然后,我将文件移回,Apache将显示当前状态下的文件。 但是i2.2.15t会在这个状态下冻结文件,再次修改文件后我将不得不再次重复这个技巧。 Apache日志很干净,访问日志文件显示如下: 172.28.128.1 – – [12 / Jul / 2014:07:42:13 -0400]“GET /assets/js/compiled/editable_group.js HTTP / 1.1”200 903 问题的原因是什么?如何解决? PS我会很乐意提供任何细节,日志,configuration等只要告诉我你想看到什么。

Nginx反向代理+ CloudFlare地理定位服务

在我们的环境中,我们使用Nginx作为我们的Apache应用服务器的反向代理。 需要一个地理定位服务,我们决定使用CloudFlare的IP_Country服务。 我们可以接收IP_Country HTTP参数,但是我们无法将它传递给Apache。 我们尝试设置下面的规则,但似乎没有工作: proxy_set_header HTTP_CF_IPCOUNTRY $sent_http_CF_IPCountry; 我将不胜感激有关从Nginx传递自定义HTTP参数到Apache的任何帮助。 最好的问候,hex

如何使用Apache 2.2在CentOS / Red Hat 6上获得mod_proxy_fcgi?

我试图让Apache 2.2 + php-fpm在CentOS 6.5(以及后来的Red Hat)上工作。 我想使用mod_proxy_fcgi来做到这一点,但我找不到一个正确的方法来获取它。 我试图寻找包括它的存储库,但我只发现它与Apache 2.4打包。 有一个简单的方法来安装和维护它吗? 是唯一的解决scheme来编译它? 另外,如果我没有别的select,那么获得Apache 2.4 for CentOS 6的最佳方法是什么?