Articles of apache 2.2

Apache mod_disk_cache用于小文件,但不是大文件

我启用了mod_cache和mod_disk_cache Apache模块,以便能够从PHP脚本(基于宽度和高度参数)cachingdynamic生成的图像。 一切工作正常(Apachecaching文件),只要我提供小的宽度和高度参数到我的PHP脚本。 但是,当我提供更大的参数,并且随着图像尺寸变大(大约在50k以上),Apache不再caching响应。 在这种情况下,Apache会在/ var / cache / apache / mod_disk_cache中创build一个目录,但目录是空的(它不包含.header和.data文件)。 我试图设置CacheMaxFileSize指令,但它似乎没有工作(我试图设置它在disk_cache.conf文件中的一个大的值(2000000),但它似乎没有任何效果,并在站点configuration文件中设置指令禁用所有caching – caching小文件停止工作)。 有没有人遇到类似的东西,知道如​​何解决它? 服务器运行Apache 2.2.22的Ubuntu 12.04 这是我的configuration: /etc/apache2/mods-available/disk_cache.conf <IfModule mod_disk_cache.c> # cache cleaning is done by htcacheclean, which can be configured in # /etc/default/apache2 # # For further information, see the comments in that file, # /usr/share/doc/apache2.2-common/README.Debian, and the htcacheclean(8) # man […]

虚拟主机显示“索引/”,而不是显示我的网站

所以我只是运行一个干净的安装山狮子OSX 10.8,并试图让一切恢复和运行。 我取消了http.conf中的php模块和vhosts,添加了brew,mcrypt,autoconf等。我使用VirtualHostX,并设置了我的域和本地path,但是当我把它拉起来时,它显示/我的应用程序的索引。 我有一个index.php在我的根,我的虚拟主机看起来像这样: NameVirtualHost *:80 <Directory "/Users/me/Sites/mysite.com/public/"> Allow From All AllowOverride All Options +Indexes </Directory> <VirtualHost *:80> ServerName "mysite.dev" DocumentRoot "/Users/me/Sites/mysite.com/public" </VirtualHost> 过去我花了好几个小时解决了这些问题……好起来了,但这是一个新问题,我似乎无法find问题所在。 我正在使用名为Laravel的php框架,并且doc根目录必须定向到公共目录。

Amazon EC2服务器运行速度非常慢

我有一个在EC EC2上运行Ubuntu 12.04的c1.medium层服务器。 我们把它作为一个开发服务器,托pipe5-8个Drupal 7站点。 最近服务器一直performance得非常慢,我正在努力寻找原因。 我search了日志,但无法检测到任何明显的东西。 我注意到,无论服务器何时开始爬行/崩溃 – 查看EC2控制台上的云观察图,始终存在不寻常的高峰。 任何关于如何调查和识别这些问题的build议,以及它们来自哪里..我已经附上top的输出和我的apache2.conf文件的片段。 任务:总共117次,跑步1次,睡觉113次,停3次,僵尸0次 Cpu(s):0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st Mem:共1733244k,使用了1647596k,85648k免费,4612k缓冲区 交换:共917500k,使用644984k,272516k免费,69512kcaching PID用户PR NI VIRT RES SHR S%CPU%MEM时间+命令 16417 mysql 20 0 1317m 199m 1784 S 0 11.8 3:19.84 mysqld 18087 www-data 20 0 483m 139m 3132 S 0 8.3 0:11.15 apache2 18019 www-data 20 0 483m 136m 3208 S 0 8.1 […]

Apache HTTPD高负载configuration

美好的一天, 我希望能够从我的Apache Httpd服务至less7000(最好是10k)并发请求。 我已经使用以下设置configuration了我的httpd.conf与MPM worker ServerLimit 330 StartServers 25 ThreadsPerChild 25 MaxClients 7500 我的Apache Httpd服务器除了对Java应用服务器集群进行反向代理以外,还对某些静态项目(如HTML / CSS / JS)进行一些(磁盘)caching。 在尝试使用JMeter(大约1k个并发请求)来敲打我的系统时,在几分钟内,我的服务器开始崩溃,但没有显示其他信息。 我的/etc/security/limits.confconfiguration为 * soft nofile 10000 * hard nofile 30000 apache soft nproc 8192 apache hard nproc 12288 * soft stack 512 * hard stack 1024 任何想法如何可以达到7k(或最好是10k)并发请求 [Mon Apr 09 21:47:42 2012] [alert] (11)Resource temporarily unavailable: […]

静态的大文件和安全的服务方式(中央authenticationCDN)

我需要向几个用户提供几个静态大文件(每个大约4GB),使用5个位于不同地理区域的服务器。 这个想法是没有其他人获得这些内容,因为这些文件中的信息并不是针对公众的。 其任务是使用Web服务器和一些authentication机制来提供这些文件,或者重新编写URL,或者及时到期。 为此,我可以做一个Web应用程序,为客户端提供访问文件所需的链接和/或凭证。 例如,我已经看到,nginx可以检查cookie是否在浏览器中设置,并可以根据这个事实做一个URL重写,但这可能是不够的,因为我似乎无法findvalidationcookie内容的方法。 我也看到了nginx http_auth在电子邮件的反向代理上工作。 这可能是一个好主意,但同样,静态的大文件和安全地提供服务的方法。 有任何想法吗?

用XAMP堆栈替代Samba

我目前正在networking上build立一个服务器,以便进行networking开发工作,并且想知道是否有更好的方法来做我想做的事情。 我的工作机器是Windows 7桌面,我正在虚拟化一个Ubuntu服务器,充当我的LAMP堆栈。 现在,要从我的Windows机器进行编辑项目,我要在整个www /目录的服务器上configuration一个samba共享,并将其映射到Windows中的驱动器。 我也会用git把我的networking服务器上的变化推到我的在线登台区域,使我能够向我的老板们预览我的工作。 我特别喜欢git和推送到远程服务器的工作stream程,我也不是映射驱动器的主要粉丝,如果我closuresLinux机器并打开文件,打开这些文件的程序开始冻结也很刺激。 我想可能我可以在我的本地Linux服务器上configurationgit,并将其从我的web服务器上分离出来,但我喜欢的有关映射驱动器设置的其中一项function是能够进行更改,并在不需要执行git add / git提交/ git推每次。 我一个人工作,所以我不是100%的最佳做法,我可能只需要做出我似乎有两个select之一的决定,但我想在这里张贴,看看是否有更好的做事情的方式,因为我总是热衷于学习,如果有的话。 安全不是关键问题,但如果有安全问题,我想听听他们。 谢谢

跟踪共享主机上个人网站的资源使用情况

我有ISPconfig的Centos 6 Web服务器(Apache-itk,PHP,MySQL)。 我在这个networking服务器上有大约100个网站,他们都属于我。 我必须能够跟踪每个站点消耗多less资源(stream量,CPU,RAM),并且可能会限制某些站点的资源,或者优先考虑其他站点。 没有使用虚拟化,最好的方法是什么? 共享networking主机如何pipe理资源? 编辑: stream量 :ISPconfig显示stream量使用情况(网站 – >网站stream量)。 对我而言足够了。 由Apache的CPU和RAM :因为每个Apache虚拟主机运行在不同的用户(MPM-itk),我只需要知道每个用户消耗资源超时。 (我已经试过,但还没有得到如何使用它) CPU和RAM的MySQL :这是最难的部分! 所有的mysql实例都在mysql用户下运行。 如何跟踪每个mysql用户的mysql资源使用情况? CloudLinux和BetterLinux似乎很有趣,有没有其他的select呢?

试图了解Apache超时/体系结构

我有一个运行Apache httpd 2.2.15和PHP 5.3.3的CentOS 6.3版系统。 我的PHP网站运行良好,除了一个查询,显然已经超时限制。 该查询现在需要超过60秒的时间才能运行,因此用户的浏览器只是等待了很长时间,大约5分钟或更长时间,然后才显示空白页面。 这让我想知道Apache / PHP是如何工作的。 我build立了一个简单的PHP脚本testing用例,它简单地执行以下操作: 睡55/65秒; 追加“我还在这里!” 到服务器上的文件; 输出一行HTML。 超时时间为55秒时,一切正常; 我的浏览器等待55秒,然后呈现HTML。 当我将超时设置为65秒时,浏览器旋转5分钟或更长时间,然后显示完全空白的页面。 与此同时: “我还在这里”debugging行仍然附加到服务器上的文件中,显示PHP愉快地跑; Apache访问日志还显示查询运行,返回一个200的HTTP状态码和正确的包含HTML的字节数; Apache或PHP都没有logging错误。 我试着改变了几个似乎相关的configuration设置: Apache httpd.conf'Timeout'指令,从60到120; php.ini的'default_socket_timeout'设置,从60到120。 但testing用例仍然运行完全一样; 即使在页面返回65秒之后,浏览器仍然“挂起”。 这是几个Firefox版本的情况。 有人能帮助我理解这里的事情吗? 其次,我怎样才能提高有效的超时限制,所以我的慢查询可能需要超过60秒的时间才能运行,并成功地将其结果返回给浏览器? 我预料到,如果Apache有限制 – “不要等待超过60秒,PHP才能运行查询” – 那么在60秒后或者其它情况下,它会向浏览器返回某种错误logging一些其他的错误。 相反,我看到PHP运行完成,Apache访问日志告诉我“嘿,一切都很好,我把75个字节的输出传输到浏览器”,但浏览器本身就在那里,从来没有收到输出。 什么是默默“断开”? 如果Apache从不发送错误,并允许PHP运行完成,为什么不发送结果(就像它在访问日志中说的那样)? 非常感谢您的帮助。

Apache mod_ldap / mod_authnz_ldap没有caching?

我有一个运行Apache2的Ubnutu 12.04服务器,configuration为反向代理。 Apache已进一步configuration为通过LDAP进行基本身份validation。 一切工作正常,除了performance有点滞后。 LDAPauthentication指令是: <Location /> AuthType Basic AuthBasicProvider ldap AuthName "Secure Intranet" AuthLDAPURL ldaps://virt-ldap.mylan.int:636/ou=MyCorp,dc=mylan,dc=int AuthzLDAPAuthoritative on AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off Require ldap-group cn=development,ou=groups,ou=MyCorp,dc=mylan,dc=int </Location> 经过检查,我注意到,Apache的每一个请求都会返回到我的OpenLDAP服务器,为特定用户运行search/绑定。 根据代理后面站点的HTML,一些请求(例如JIRA)可能导致通过LAN的​​10或15个search/绑定LDAP调用。 我知道这一点,因为我在浏览时拖拽OpenLDAP日志。 哎呀! 根据Apache2的ldap文档 ,默认情况下,mod_ldap应该caching这些东西。 考虑到文档可能是错误的,我在ldap.conf中添加了这些指令: LDAPSharedCacheSize 500000 LDAPCacheEntries 1024 LDAPCacheTTL 600 LDAPOpCacheEntries 1024 LDAPOpCacheTTL 600 但是没有什么区别。 编辑: 在服务器上使用lynx访问https://localhost/ldap-status返回了以下内容: LDAP Cache Information Cache Name Entries Avg. Chain Len. […]

Nginx的Windows代理caching服务器的静态内容

基本上我想设置与Apache的nginx,但我想nginx服务的静态内容,如JavaScript,样式表,媒体文件等,但我希望PHP传递到端口8080上的Apache监听。 使用以下我可以得到nginxredirectPHP请求到端口8080监听的Apache location ~ \.php$ { proxy_pass http:127.0.0.1:8080/; } 但我怎么能告诉nginx服务所有静态数据,如.css .js .flv。 PNG .gif .jpg等