我有一个Debian 5服务器,获取大量的stream量。 现在服务器有4 GB的RAM,没有交换内存。 我看到,Apache进程每消耗大约180 MB的虚拟内存(VIRT),以及16 MB的真实RAM(RES)。 那么我可以同时运行多less个Apache线程呢? 大约4 GB / 180 MB = 22或4 GB / 16 MB = 256?
在网上玩过几个networking服务器之后,我看到诸如goDaddy默认情况下没有启用gzip。 与几个IIS丢弃,Apache的默认安装,等等。 我一直运行跨服务器,没有基本的东西,提高您的网站默认打开速度。 这导致我有两个select:每个使web服务器打包的人都很差,或者我不明白他们为什么这样做。 我更不知道为什么他们不这样做。 有人能告诉我为什么你会发布禁用function,如gzip和各种caching控制头的web服务器? 我认为更快的网站是这样的结果,根据ySlow和PageSpeed一直告诉我的。 有什么缺点?
我想知道如果有人在这里可以帮助我确定使用mod deflate与Apache的最佳标准configuration。 基本上,mod_deflatebuild议使用以下configuration立即开始: 只压缩几个types AddOutputFilterByType DEFLATE text / html text / plain text / xml http://httpd.apache.org/docs/2.0/mod/mod_deflate.html 但是,只需阅读文档,就可以为所有浏览器自定义此文档。 另外,你可以为所有不同types的MIMEtypes定制mod_deflate。 我想知道有没有人试过这些设置,并find了一个最适合所有浏览器的设置。 Apache提供的另一个示例,但是如果您不了解所有configuration选项,请提及不要使用: <Location /> # Insert filter SetOutputFilter DEFLATE # Netscape 4.x has some problems… BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine […]
在过去的几天中,Apache已经失去控制,并使MySQL崩溃了两次。 这一切都开始时,我迁移了一个WordPress的网站,其中还包含一个phpbb论坛。 我不是非常有经验的服务器pipe理员,所以我很难找出是什么原因造成的问题。 当我注意到mysql已经closures时,我跑了TOP,看到我的系统负载峰值达到了98.00。 服务器运行10个V-HOSTS,所有这些都可以接收到一定数量的stream量,所以我显然看到很多apache-2进程在运行。 高服务器负载持续10分钟,然后恢复到正常状态。 在这一点上,我没有看到networkingstream量的高峰。 不幸的是,mysql错误日志logging被禁用(现在重新启用),所以没有线索。 但我很确定这是因为Apache耗用所有资源,所以mysql进程ID被杀死。 我的问题是: 下一次发生这种情况 – 如何识别导致系统负载峰值的原因? 难道这是一个疯狂的PHP脚本? 这可能是一个ddos攻击? 有没有办法自动重新启动的时候崩溃的MySQL? 我现在已经安装了htop 。 这可能比top更有用吗? 在这里我的服务器统计: m1.xlarge (8 ECUs, 4 vCPUs, 15 GiB memory, 4 x 420 GiB Storage Capacity) Ubuntu Server 12.04.3 LTS 提前致谢!
我正在使用以下代码将所有www请求指向非wwwurl: RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC] RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 这在我的网站根目录下的.htaccess文件里面工作的很好。 例如, www.example.com – > example.com/ www.example.com/ – > example.com/ www.example.com/other_page – > example.com/other_page 但是,如果将相同的代码移到我的VirtualHostconfiguration中,则重写的URL将包含一个双尾斜杠。 www.example.com – > example.com// www.example.com/ – > example.com// www.example.com/other_page – > example.com//other_page 我通过从重写规则中删除斜线来修复它: RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC] RewriteRule ^(.*)$ http://example.com$1 [R=301,L] 但是我不明白这个原因。 任何人知道为什么
为了基准testing的目的,我想强制Apache 2从磁盘加载每个请求的文件,而不是从内存中的caching加载它。 从我读过的同步跟随 echo 3 > /proc/sys/vm/drop_caches 让我放下linux的caching。 随后对特定文件的请求将不会从linux的caching中提供,但是对于同一文件的进一步请求将再次从linux的caching中提供。 这是因为/ proc / sys / vm / drop_caches不禁用caching,它只丢弃那些已被caching到那一刻的内容。 我可能会在每个请求之前删除caching,但我更喜欢另一个解决scheme。 还有什么我可以做,以确保Apache从磁盘加载每个请求的文件? 为什么我想这样做 :我知道在正常的操作中caching是启用的。 但是服务器并没有提供小的,经常访问的文件,比如html页面,小图片等,而是从大量的文件中提供几兆字节大小的文件。 这些文件访问非常一致,因此每个单独的文件很less被访问。 因此,在正常操作中,我期望大多数访问不会导致caching命中,但需要从磁盘加载文件。 我有几个示例文件,我想通过使用apache的ab基准testing来衡量服务器每秒能够处理多less事务。 不幸的是我相信我得到的结果是因为caching太乐观了。 因此,我想禁用Linux的磁盘caching,任何cachingApache可能会自己做。 更新: 到目前为止给出的答案告诉我如何禁用Apache自己的caching,但我仍然想知道是否有一种方法来禁用由Linux内核完成的caching。
我有一个开发网站,需要用户名和密码(基本httpauthentication),用户才能看到该网站。 我想首先redirect到一个安全的协议,在用户可以用明文发送密码之前。 任何想法如何使用Apache做到这一点? 我可以访问conf和.htaccess文件。 最终结果将是: http:// xxxx / – 当用户到这里时,他们立即被redirect到https: https – 当用户到达这里时,会提示input用户名/密码。
我试图设置我的本地Apacheconfiguration,如下所示: http://localhost/应该服务~/ http://development.somedomain.co.nz/应该服务~/sites/development.somedomain.co.nz/ https://development.assldomain.co.nz/应该服务~/sites/development.assldomain.co.nz/ 我只想要允许来自本地networking(192.168.1。*范围)和我自己(127.0.0.1)的连接。 我已经设置我的主机文件: 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 127.0.0.1 development.somedomain.co.nz 127.0.0.1 development.assldomain.co.nz 127.0.0.1 development.anunuseddomain.co.nz 我的Apacheconfiguration如下所示: Listen 80 NameVirtualHost *:80 <VirtualHost development.somedomain.co.nz:80> ServerName development.somedomain.co.nz DocumentRoot "~/sites/development.somedomain.co.nz" DirectoryIndex index.php <Directory ~/sites/development.somedomain.co.nz> Options Indexes FollowSymLinks ExecCGI Includes AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost localhost:80> DocumentRoot "~/" ServerName localhost […]
我正在与Apache和乘客的Rails项目。 而在重新启动期间,我得到了以下错误 Cannot load /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so into server: /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so: cannot open shared object file: No such file or directory 但是,在Apacheconfiguration文件没有改变。 我已经附加了从conf文件的片段 287 LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so 288 PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11 289 PassengerRuby /usr/bin/ruby1.8 我也无法find服务器指向的位置中的共享对象文件,虽然我不知道.so文件是如何工作(创build/销毁) 如果有人能向我解释究竟发生了什么,我也会很感激。 我明白共享目标文件是任务,可能是被删除的原因。
有时候apache会疯掉,吃掉我所有的记忆和交换,但是我不知道如何找出哪个网页应用程序导致它。 ps给了我这个过程的输出; “不间断的睡眠(通常是IO)” www-data 1526 0.1 78.9 14928852 3191628 ? D Oct17 6:45 /usr/sbin/apache2 -k start 我怀疑Ruby + Redmine,但我想确定