我们有一个在CentOS 5.6上运行的Apache webserver(通过yum安装)。 今天我们有一个预期的新用户涌入 – 但是意外的是,我们似乎已经达到了每秒300次访问的限制 – 我有一个图表(Stack溢出不会让我上传),但它今天显示了三次(当我们的网站几乎停下来)“访问/秒”打300,并停留了一段时间。 当我input当前的数字是292.23,今天的最大值是300.41。 我们在apache进程中运行PHP,并且连接到一个MySQL服务器(不同的物理盒子)。 但是,我们很高兴,MySQL正在响应罚款。 我们已经在默认的256上调了httpd.conf中的限制,但是这对魔术300的数字并没有影响。 我们已经在php.ini和httpd.conf文件中search了300,并找不到它。 下面是我们现在使用的preforkconfiguration: <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 4000 </IfModule> 如果任何人有任何线索是什么导致这个300限制,我将不胜感激。
我正在重build一个网站,目前每个月大概有4百万人次的访问量(最近这个数字是直线上升的)。 它目前正在运行,并由外部公司托pipe,但我们正在倾销他们,所以我需要devise托pipe。 我正在考虑build立一个小群集(可能在Linode上): 一个Linode NodeBalancer来平衡应用程序服务器之间的负载。 它可以保持所有的stream量从一个特定的客户端去一个应用服务器,但WP处理会话通过cookie,所以这不是那么重要。 两个 (或更多) 应用程序服务器 – Linode(512?)VPS运行的Debian6 / Apache2 / PHP5 / WordPress,但nginx用于caching 。 一个MySQL (或MariaDB?) 数据库服务器 (也是一个VPS),也可能是一个有HyperDB的从服务器 。 开发是在一个简单的旧的FBSD / Apache2 / MySQL / PHP5内部完成的,部署只需将新代码一次一个地推送到所有的应用程序服务器,并将任何数据库更改为数据库服务器。 备份将存储在本地。 我们可以在低stream量时间备份一个应用程序服务器(应该是相同的?)以减less负载。 电子邮件是通过MailChimp处理的。 简单。 WP本身运行W3 Total Cache与Xcache,我正在考虑为图像和其他静态文件的CDN,caching头已被用于这些静态文件… 这个计划是,当我们扩展时,我可以根据需要添加更多的应用程序和/或数据库服务器。 简而言之:这个设置是否工作? 它会有效吗? 我从来没有build立过这样的事情,所以我想确保我不会错过任何东西。 仅供参考:这是一个新闻网站。 我们在几个部分运行文章,一些媒体,游客可以评论文章,注册我们的电子邮件列表等。
我有一个由mod_wsgi和Apache提供的Django Web应用程序。 我在生产系统中有web应用程序的apache日志,这些日志包括以微秒为单位服务请求的时间。 我想查看这些数据(通过URL的URL)的基础上,看看应用程序的哪些部分(如果有的话)需要很长时间才能提供服务,可能应该改进。 有什么工具(在Ubuntu Linux上工作的FLOSS),如果一个Apache日志文件,将显示graphics,漂亮的picutres,计算统计数据,等等事情要服务多久? (我在这里先问一下,以防其他人已经做了,并阻止我重新发明轮子) 奖励点,如果它将使用我的Django的urls.py文件来聚合的url,并找出对应的视图。
在.htaccess我已经添加 php_value session.name "SID" 这似乎没有效果,但没有错误引发error_log。 其他重写规则在相同的.htaccess文件正在按预期工作。 为什么这个php_value指令不是htaccess? 有没有一种方法来testing,如果php_values或php_flags正在使用? PHP 5.3.8作为Apache 2.2.21模块运行,而不是CGI。 更新:将php_value session.name“SID”添加到default-server.conf按预期工作。 我仍然不确定如何在.htaccess中不起作用。 在default-server.conf中,我有“AllowOverride All”和“Options All”(用于testing)。
我很难弄清楚如何添加基本的HTTP身份validation来密码保护生产Web服务器上运行的开发testing环境。 主站点和testing环境都是使用AJP代理服务Tomcat webapps的单独实例的虚拟主机。 我们需要阻止公众访问testing环境,而不必在Tomcat环境中对web.xml进行更改,而使用Apache而不是Tomcat来实现保护。 然而,虚拟主机中的ProxyPass和ProxyPassReverse指令似乎覆盖了使用.htaccess或者放在<Directory>控制块中的任何东西,而似乎我不能在<VirtualHost>控制的主体中使用像AuthType这样的指令阻止旁边。 我对Apache(或Tomcat)并不是非常有经验,也不确定哪些指令可以应用于何处,哪些可能会覆盖其他指令。 由于需要在生产服务器上进行更改,因此我不敢轻易尝试,以免造成停机。 httpd.conf本身非常简单: LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so LoadFile /usr/lib/libxml2.so 相关的虚拟主机文件/ etc / apache2 / sites-available / dev443如下所示: <IfModule mod_ssl.c> <VirtualHost dev.mydomain.com:80443> ServerName dev.mydomain.com:80443 ServerAdmin webmaster@localhost DocumentRoot /var/www/dev ProxyPass / ajp://127.0.0.1:8010/ ProxyPassReverse / ajp://127.0.0.1:8010/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/dev/> Options Indexes FollowSymLinks MultiViews AllowOverride All […]
我正在设置一个反向代理configuration,其中path以'/ apps /'开头的所有请求都应该由Apache代理到Tomcat。 这个IMO有两个好处:它可以保留代理到URI空间的“/ apps /”部分,并且对所有的Tomcat应用程序只使用一个代理规则(例如,任何Tomcat应用程序的请求应该开始'/应用/')。 例如,对http:// mydomain / apps / my_app /的请求应该代理到http:// localhost:8082 / my_app / 。 请注意,Tomcat URI中没有“/ apps /”前缀:“my_app”位于$ {CATALINA_HOME} / webapps / my_app的常规位置。 我已经在Apache vhost.conf文件中使用以下代理规则实现了这一点: ProxyPreserveHost on ProxyPass /apps/ http://localhost:8082/ ProxyPassReverse /apps/ http://mydomain/ (注意:我使用了ProxyPreserveHost,因为我的Tomcat应用程序需要访问原始主机来生成进一步的链接)。 一切顺利,除了我的Tomcat应用程序的一部分生成的绝对链接。 鉴于上面的configuration,我的Tomcat应用程序将'看到'这个请求: http:// mydomain / my_app ,并因此生成链接不带'/ apps /'前缀应该触发这些链接的代理。 这花了我一些时间,但我现在明白,这是代理的重要特征,并且没有“标准”方式将原始请求的“/ apps /”前缀传递给代理应用程序。 因此,我开始研究另一种可能性,即为所有Tomcat应用程序定义全局前缀,并使用以下设置代理Tomcat应用程序: ProxyPreserveHost on ProxyPass /apps/ […]
我要下载什么(在一个窗口框中)以获得Apache 2.0.55 + PHP 4.4.7环境? 我对PHP和Apache的较新版本没有问题,但是如果我想在旧版SunOS服务器上模拟一个环境,而旧版本的Apache和PHP版本。 任何人都可以推荐我应该使用的下载和在哪里得到他们?
我们正在为已经拥有SSL证书的客户开发一个站点,并且已经有一个使用它的网站和域名。 我们将在运行Apache的服务器上托pipe新站点,该站点上的其他站点使用相同的IP。 该网站的域名将其Alogging更改为我们的服务器。 现有的证书是由Comodo授予的。 另一个可能很重要的事实是,他们现有的网站托pipe的公司将不会回到我们的证书方面。 我已要求他们给我一个“SSL证书和私钥的导出副本”,但已被忽略。 问Comodo和我们的其他网站托pipe的公司,我真的很困惑! 我从来没有真正处理过SSL。 所以我的问题是: 将此证书转移到当前托pipe服务提供商的唯一途径吗? 如果他们没有回应,我的下一步是什么? 一个域名可以有两个证书(如果我们购买一个新的)? 我道歉,如果我使用不正确的术语,但提前感谢!
Python对我感兴趣,因为我是一个Web脚本语言,所以我想在我的testing服务器上进行设置。 无法使用mod_wsgi重新启动Apache。 在win7 64bit上运行xampp v win32-1.8 w / apache v2.4,python v2.7 32bit。 我看到的Pythonregistry文件在hkey_classes_root 。 我不知道这是否应该是正确的,但在hkey_current_user没有。 hkey_local_machine默认值没有设置。 这是我运行apache_start.bat时得到的 Apache 2正在启动… httpd.exe:C:/xampp/apache/conf/httpd.conf中第141行的语法错误:无法将C:/xampp/apache/modules/mod_wsgi.so加载到服务器中:找不到指定的过程。 我已经添加到httpd.conf中: LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias /wsgi_handler "C:/xampp/wsgi/mywsgi.py" <Directory "C:/xampp/wsgi"> Order allow,deny Allow from all </Directory>
好吧,我已经花了整整一天的时间 我正在使用mod_ssl的Apache我试图采取一个现有的环境头,“%{SSL_CLIENT_S_DN_CN} s”,它看起来像“姓氏名Mi用户名”,并设置一个名为USERNAME的新标题,并设置等于只是用户名最后一个空格和string结尾之间的字符) 然后,我会反向代理该头到后端主机,将使用它来识别用户。 我尝试了很多不同的东西。 我不知道如果问题是我不明白Perl的正则expression式,或者如果我不明白的语法,或者我不把它放在正确的地方,或所有三个。 这是我尝试的一个例子: SetEnvIf SSL_CLIENT_S_DN_CN (.*\ )(.*) newhostname=$2 RequestHeader set HOSTNAME "%{newhostname}e" 我真正想要的是一个新的标题主机名等于DN_CN环境variables中的最后一个非空白字符。