Articles of apache 2.2

500 – 内部服务器错误不会出现在error.log(或access.log)

我试图追查我们新的Debiannetworking服务器运行一个PHP / MySQL驱动的网站与Apache的错误或错误的configuration。 我不会在这里迷惑你,但只想问: 有没有人曾经观察到网页浏览器收到“ http 500 inernal服务器错误 ”,而没有什么似乎出现在Apache的错误和访问日志? 这里不涉及细节,只是我相信这种奇怪的行为应该已经走向了正确的方向,因为我不相信有这种可能发生的可能性。 当这个内部服务器错误发生时,PHP脚本继续运行,没有任何失败,但是当然,他们想要传递给浏览器的结果将永远不会出现,因为浏览器已经认为他的内部服务器错误是世界末日如他所知。 任何意见/想法的欢迎, 罗马。

运行在同一台服务器上的9个apache进程:这是正常的吗?

我注意到我的Ubuntu 10.04服务器变得非常慢。 看来,使用大部分内存的nTop存在问题。 我可以在重新启动服务器之后卸载它,因为直到那时它才响应。 但一旦卸载,我发现很多内存被许多Apache进程使用。 由于我的服务器运行webmin我猜这是正常的,至less有两个不同的Apache正在运行,但我不明白为什么我有这么多的进程: 698 mysql 147100 kB /usr/sbin/mysqld 1117 clamav 123380 kB /usr/sbin/clamd 8191 root 113148 kB clamscan –no-summary –stdout – 8211 root 108740 kB clamscan –no-summary –stdout – 720 bind 87288 kB /usr/sbin/named -u bind 1655 www-data 61132 kB /usr/sbin/apache2 -k start 1656 www-data 61132 kB /usr/sbin/apache2 -k start 1657 www-data […]

64位的LAMP堆栈,16核心的盒子咀嚼了100%的CPU

===解决=== 这个问题解决了。 原来ImageMagick在多个CPU上有问题。 编译ImageMagick使用一个CPU解决了这个问题。 ================ 我添加了一个新的Web服务器作为升级,但它在几秒钟内落下。 旧盒子有2.33GHz的8个Xeon核心。 新机器有2.40GHz的16个Xeon核心。 内存是新机上的8G和32G。 另一个主要区别是从32位跳到64位。 OS是CentOS 5.6,Apache也是2.2.3-45。 PHP是5.2.10和手工编译的。 除了体系结构位之外,configuration选项是相同的。 从所有这些信息,你会认为新的机器会尖叫,但目前的盒子处理负载和偶尔跌倒。 新机器在不到一分钟的时间内就会死亡。 内存不错,I / O好,但是CPU很难挂。 这是从两个mpstat的输出 老盒子 09:14:18 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 09:14:20 PM all 31.34 0.00 2.62 9.68 0.12 1.00 0.00 55.24 11163.50 09:14:20 PM 0 53.00 0.00 5.50 16.00 0.50 6.50 0.00 […]

用于cachingREST API的CDN

我正在对CDN提供商进行一些研究,但是我很难找出哪些是可用的,它们提供了什么,以及它们是否适合我的目的。 希望你们可以给我一些build议:-) 我们正在Amazon EC2实例上托pipe一个公共REST API。 每个通话都是dynamic的,CPU密集型的,但一般来说,活动相当稳定 然而,经常会有很多用途同时请求相同的资源的短高峰。 这发生在某人博客或推特资源链接之后,每个人都点击它。 许多资源不会经常更改,我的服务器正在发送明确的caching控制最大年龄标头指定每个资源可以和应该被caching的时间。 我需要一个Webcaching/反向代理/ CDN,在检查caching控制标题和caching这些服务器调用方面做得很好,这样,如果1000个客户端在一分钟内请求相同的资源,我的服务器只需要服务一次,或者至less不是1000倍。 而且,CDN应该能够caching任何HTTP GET请求,而不pipe内容types或URI。 文件大小的限制是没有问题的; 输出通常简短而紧凑。 我今天正在试验Cloudflare, 但是它们只会根据URI的“文件扩展名”来caching静态文件,这使得大多数REST API完全无用。 最后但并非最不重要的一点,我是一个小型创业公司,所以最好是可以负担得起的东西,并且可以上下调整。 哪些供应商可能适合这些要求? 感谢您的任何经验/build议。

在CentOS上安装mod_ssl后Apache不会启动

我需要在我的服务器上运行相同的主机名上的http和https。 我把所有东西都运行在没有SSL的情况下,在/etc/httpd/conf.d目录下configuration主机。 System: CentOS release 5.6 (Final) Server: Apache/2.2.3 我按照这里的说明: http : //shapeshed.com/journal/setting_up_mod_ssl_on_apache_centos_52/ 但现在: sudo /etc/init.d/httpd restart 回应: Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:443 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down Unable to open logs [FAILED] 在/etc/httpd/conf/httpd.conf的底部我有: NameVirtualHost […]

如何拥有一个文件夹,并由3个用户使用

3个用户,1个文件夹。 用户:vsftpd(FTP服务器),bobmarley(普通用户),www-data(Apache用户) 如何统一它们,使每个用户可以修改这些用户的任何数据,而不用做CHMOD 777? 例如:bobmarley创build了一个文件'settings.inc.php'www-data试图访问该文件,并成功。 vsftpd用户访问该文件,也可以修改它。

将HTTPSredirect到除特定url以外的HTTP

我们希望将所有HTTPSstream量redirect到HTTP,除了特定的URL是/ user / login 到目前为止我们已经得到: RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^user/login(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 但是,当它redirect回HTTP时,会导致redirect循环

为什么要删除Apache / Nginx用户的Shell访问?

将shell访问权授予注定要运行Apache / Nginx的用户帐户是不是一个好主意? 我问,因为在他的VPS圣经系列中,Guvnr成立了一个新的用户visudo'd guvnr ALL=(ALL) ALL 权限,然后用该用户设置一个Nginx服务器。 而Nginx HTTP Server的作者build议您不要授予对运行Nginx的用户的shell访问权限。 您可以随时删除guvnr的shell访问权限,但是,您将如何pipe理您的网站? 编辑:@Bart Silverstrim – 下面是guvnr如何安装Nginx: (以用户guvnr身份login) sudo安装nginx的依赖关系 用户wget nginx源文件 用户./configure –sbin-path = / usr / local / sbin –with-http_ssl_module 用户制作 sudo make install 那么也许Nginx是安装在这里的根? 如果在/ etc / ssh / sshd_config中禁用rootlogin,这是否可行?

通过源IP平衡Apache

我正在使用Apache的代理平衡器来平衡一个子域(例如subdomain.domain.com)到位于2个服务器上的应用程序。 这里是我的Apacheconfiguration文件的摘录: <Proxy *> Order deny,allow Allow from all </Proxy> <Proxy balancer://cluster1> BalancerMember http://server1:28081 route=w1 BalancerMember http://server2:28082 route=w2 </Proxy> ProxyPass /path balancer://cluster1/path ProxyPassReverse /path balancer://cluster1/path 我的问题是,如果可以使用源IP地址来决定哪个BalancerMember用于请求? 例如要求从1.2.3.4到成员1 ?

在centos中加载apache的mod_proxy和mod_proxy_http模块

这是我的系统: CentOS release 5.6 (Final) Server version: Apache/2.2.21 (Unix) Cpanel::Easy::Apache v3.7.2 rev9999 我试图创build一个反向代理从另一个服务器加载到我的服务器上的文件,正如我前面在这里解释: 使用一台服务器上的域在另一台服务器上加载应用程序 不过,在我写信的时候,我想我会使用Ubuntu,但现在发现它将是centos。 我打算按照这篇文章: http://jeffbaier.com/articles/configuring-apache-virtual-hosts-for-nat/ 但是在这个特定的线上: “我们需要确保mod_proxy和mod_proxy_http被加载,如果加载了代理模块,你会看到它们被列出,如果没有发现,这意味着你需要创build从mods-available文件夹到mods-enabled的符号链接夹。” 它解释了如何检查这两个模块是否被加载,如果没有,如何创build符号链接来加载它们。 但是,它解释了如何在Ubuntu上做到这一点。 如果我甚至试图试图在centos上做到这一点: cd /etc/apache2/ -bash: cd: /etc/apache2/: No such file or directory 有没有apache2文件夹等 所以我想弄清楚如何在centos上做到这一点。 感谢您的回应