我运行一个古老的蓝色和白色G3 / 300运行Debian PPC Squeeze 2.6.30的爱好networking服务器。 重新启动后的performance还可以,但最终会越来越陷入困境。 现在是在76天的正常运行时间,主要的罪魁祸首似乎是10+ apache2进程的内存使用情况。 我想我需要降低StartServers , MinSpareServers和/或MaxSpareServers ,但是我不确定要调整哪一个,并且每个都有三个部分,具体取决于使用哪个mpm模块。 如何判断我需要更改以下哪一部分?考虑到这个盒子有448MB的物理内存(怪异的升级历史logging,每个64,128和256支),有什么合理的值? <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_worker_module> StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxClients 150 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_event_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit […]
我想在我的本地ubuntu机器上使用django应用程序。 然而,该网站不工作,我的/var/log/apache2/errors.log充满了这样的消息: ImportError: No module named site 我的/var/log/apache2/error.log (今天)看起来像这样: $ cat error.log | uniq -c 1 [Wed Jun 29 09:37:37 2011] [notice] Apache/2.2.17 (Ubuntu) mod_wsgi/3.3 Python/2.7.1+ configured — resuming normal operations 12966 ImportError: No module named site 这是通知,它启动时,我打开我的机器,其次是12,966行都说no module named site消息 注意缺lessdate时间字段。 即使不进入网站(即使不进行networking请求),也会重复这些错误。 在浏览器中访问网站时,它只是挂起,仿佛在等待大量下载。 设置 Apache模块 我正在使用一个python 2.5 virtualenv与很多包(包括Django的1.1)与点安装。 我有mod_wsgi加载: $ ls -l /etc/apache2/mods-enabled/wsgi* lrwxrwxrwx […]
目前我正在查看我的Apache日志文件的大小,因为它们变得巨大。 在我的logrotateconfiguration中,我启用了delaycompress 。 Apache是否真的需delaycompress (因为logrotate文档说有些程序仍然在旧文件中写入)还是禁用delaycompress是安全的? 这是我的logrotateconfiguration: /var/log/apache2/*.log { weekly missingok rotate 26 compress delaycompress notifempty create 640 root adm sharedscripts postrotate if [ -f /var/run/apache2.pid ]; then /etc/init.d/apache2 restart > /dev/null fi endscript }
我已经在服务器上运行了Nagios(CentOS 5.3 w / Apache 2.2.3-22.el5.centos),并对我的LDAP服务器进行了身份validation,并且运行良好。 但是,我想有一些IP能够看到Nagios状态页面,而无需身份validation。 Nagios有这个选项可以将用户分配给不authentication的用户: authorized_for_read_only=guest default_user_name=guest 这听起来是正确的,但是这不关心Apacheauthentication。 我目前的Apacheconfiguration如下所示: <Directory "/usr/lib64/nagios/cgi"> AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/misc/htpasswd.users Require valid-user AuthBasicProvider file ldap AuthzLDAPAuthoritative off AuthBasicAuthoritative On AuthLDAPGroupAttribute LDAPmember AuthLDAPURL (my server stuff) Require ldap-group CN=nagios,ou=groups,DC=local </Directory> 这是行得通的,但我想用某种方式说“这个IP在这里,他可以跳过这个authentication的东西”。 Apache Satisfy指令看起来好像可以工作,所以我尝试了这个: <Directory "/usr/lib64/nagios/cgi"> AllowOverride None Order […]
我只是想testing一个反向代理简单的设置,将每个请求redirect到谷歌。 总之它不起作用! 试图浏览本地主机,我只是得到的Apache“它的工作”默认页面,但不代理。 当然我加载了模块代理proxy_http。 以下文件放置在站点可用的位置,并且启用了站点的符号链接。 我也重新启动了服务器。 什么可能是错的? <VirtualHost 192.168.1.2:8080> ProxyRequests off ProxyPreserveHost On <proxy *> Order deny,allow Allow from all </proxy > ProxyPass / http://www.google.de ProxyPassReverse / http://www.google.de </VirtualHost >
我一直在search谷歌,并没有太多的成功find答案。 我在Ubuntu上运行一个服务器,并且我安装了使用各种非标准端口的程序。 每一个使用不同的端口,在我的情况下,他们是9090,9091,9092,9093和9094.我build立了一个Apache服务器,并有一个域名,现在可以到达我的服务器,而不必input我的IP地址。 我正在寻找的是一种创build可以指向我列出的不同端口的目录的方法。 我想要的东西是: https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3 有些端口是通过SSL,有些是不是,我只是把它们放在(9090-9094)为了方便我使用。 我想让/ app1指向SSL端口9090,/ app2指向SSL端口9091,/ app3指向非SSL端口9092.有没有简单的方法来做到这一点? 我试着添加ProxyPass之类的基于其他post,但没有任何工作。 我需要添加一个新的网站吗? 此外,如果这涉及到编辑文件,我期望它,将不胜感激,如果你可以列出文件的默认位置和添加的东西。 我不断看到post说要添加ProxyPass,所以我只是假设它进入VirtualHost里面,但我不完全确定。 基本上,我对Web服务器设置知之甚less,需要对待。 我对任何不正确的标签表示歉意,我很欣赏您阅读这篇文章的时间以及您可以提供的任何帮助。 编辑:澄清,应用程序已经可以通过https://www.mydomain.com:9090等我只是想用一种方法来使用https://www.mydomain.com/appName到达相同的位置/这些应用程序发布的页面。 编辑2:从/ etc / apache2 / sites-available / default <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> […]
我需要一种方法来跟踪和限制networking会话到一个Web应用程序。 “会话”被粗略地定义为浏览所述networking应用的页面的单个用户。 我认为可以翻译成: 会话被定义为元组<clientIP,vHost>或者<clientIP,serverIP,serverPort>或<cookie,vHost> ,取决于层和可用数据 会话在用户将authentication数据发送到定义的loginURI后开始 会话在用户点击定义的注销URI后结束 如果在客户端请求最后一个对象之后指定的超时已到期,则会话结束 在达到指定的会话限制之后,下一个用户应该被定向到一个自定义错误页面。 我还需要一种方法来跟踪当前的会话数量,以便进行监控,并能够将监控服务器列入白名单(这将定期向Web应用程序发出查询)并免除限制。 我能与之合作的是: RadWare AppDirector ,其中Web应用程序具有已定义的自己的场,并且正在以反向代理模式运行 Apache 2.2 SLES 11 SP2 我宁愿不涉及一个额外的代理服务器,虽然会考虑如果没有其他选项。 所有这一切背后的基本原理是,上述的networking应用程序很容易被超载,并开始拒绝不请求的请求,使工作中的用户(通常)在进程中丢失了input数据。 通过在超负荷条件不太可能的情况下指定限制,我们希望创build一个明确的故障条件,如果负载可能高峰,用户将被告知以后返回。 编辑 :Web应用程序是第一层(呈现层,在Apache vHost中作为CGI代码实现)的三层实现,它非常简单,显然仅限于基本的error handling和请求应用程序服务器之间的负载平衡。 它不会在它运行的Web服务器上施加任何重要的负载 – 这就是为什么我们只是在AppDirector场中以故障转移模式(无负载平衡)运行它,这应该有点简化。 除此之外的一切对我们来说基本上是一个黑盒子 – 在数据层我们有一个MSSQL数据库,但几乎不可能从供应商那里得到关于表结构的任何有意义的信息。 应用程序服务器是封闭的,供应商使用了相当全面的实现框架,但似乎无法回答更简单的与操作相关的问题。
我希望Apache能够通过电话传送静态文件,但是也希望Apache不要一遍又一遍地将它们一起gzip。 所以我想如果它存在的话.gz文件是不可能的。 这个设置: 文件结构: static/ | |— style.css | \— style.css.gz 和下面的.htaccess中: mod_rewrite规则: RewriteCond %{REQUEST_FILENAME}.gz -s RewriteRule ^(.+) $1.gz [L] 而这个设置: AddEncoding x-gzip .gz 实际上,只要发送.gz文件而不是.css文件,如果请求进入/static/style.css 。 问题仅在于,文件是以“application / x-gzip”而不是“text / css”的forms提供的。 使用mod_rewrite的T标志不会改变这个。 也不明确 AddType text/css .css 有没有人有一个想法,我怎么能达到预期的行为? 还是因为某种原因没有必要呢? 编辑:还有一个额外的困难:发送原始文件给客户端没有gzip的支持。 有没有人知道这可以如何工作?
在Apache中做redirect很简单(mod_alias): RedirectMatch ^.*$ http://portal.example.com/ 设置caching标题同样简单: Header set Cache-Control max-age=0 Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT" (我不想这个caching) 但! 看来你不能把两者结合起来。 这个configuration会导致redirect被发送,但不是标题: <VirtualHost *:80> ServerName __default__ Header set Cache-Control max-age=0 Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT" RedirectMatch ^.*$ http://portal.example.com/ </VirtualHost> 实际发生的例子: jb@apto % telnet 192.168.0.1 80 Trying 192.168.0.1… Connected to redirector.example.com. Escape […]
Passenger最近得到了对Nginx的支持,Apache作为Rails应用程序的Web服务器有什么优点和缺点呢?