Articles of apache 2.2

Mysql查询 – 这是返回blatanty不正确的结果

我正在构build一个运行Ubuntu 10.10LTS,Apache2,Mysql 5.1和php5的VPS节点。 即使我使用了正确的login信息,我也无法通过浏览器login到我的网站pipe理员。 所以我从命令行login检查结果。 当我运行这个查询时,我得到了预期的结果: mysql> select * from users; +—-+———-+———————–+———-+ | id | username | email | password | +—-+———-+———————–+———-+ | 1 | myUserName | [email protected] | myPassword | +—-+———-+———————–+———-+ 这个查询也是一样的: mysql> select * from users where id = 1; +—-+———-+———————–+———-+ | id | username | email | password | +—-+———-+———————–+———-+ | 1 […]

nginx可以根据需要启动apache吗?

我有一个旧的网站“档案”服务器,不再使用,但我想保持在线,作为我的简历/投资组合的一部分。 他们需要不同的apache和php版本和设置,所以我在不同的端口上运行多个apaches,在nginx反向代理之后。 然而,这些网站并不经常有访问者。 访问之间可能需要几天甚至几周的时间,所以我认为这是一个很大的内存和CPU的浪费,让所有这些Apache实例始终运行。 我想要做的是让nginx按需启动适当的apache服务器。 也许这样的事情: 传入http请求到nginx。 nginx检查一个apache服务器是否响应它的tcp端口。 如果apache没有响应:运行一些脚本来启动apache。 当apache开始响应时,将http请求反向代理到apache。 我希望Apache的守护进程作为模块加载PHP。 当访问者浏览网站时,我希望访问速度快,但是,在第一个请求上加载几秒钟是没有问题的。 一些网站是非常强大的AJAX,所以加载Apache的每个请求不是一个选项。 我没有find任何明显的方式来做到这一点。 有没有人有类似的设置有任何想法或经验? 还有其他反向代理软件(比nginx)会这样做吗? (当然,我也需要一种closuresapache的方式来closures不活动,但是用cron作业来检查apache的access.log中是否发生了一些事情是非常简单的。) Btw ..服务器正在运行Debian Lenny。 编辑/我的解决scheme: 我通过https://github.com/nodejitsu/node-http-proxy为node.js编写脚本解决了这个问题。 // I'm using http-proxy to make the proxying: var server = httpProxy.createServer(function (req, res, proxy) { var domain = getDomain(req); proxy.proxyRequest(req, res, { host: '127.0.0.1', port: configuration[domain].port }); }).listen(80); // And a error […]

Apache mod_rewrite,多个variables

我正在努力与mod_rewrite和replace多个variables与正则expression式。 我试图重写以下内容: www.mysite.com/avatars/funny/1 成: www.mysite.com/avatars.php?genre=funny&page=1 现在我有以下,这不是真的诀窍: RewriteRule ^/avatars/?(.*)/?(.*)$ /avatars.php?genre=$1&page=$2

Apache2进程在512MB VPS上占用过多的内存

我正在运行一个具有512MB内存的Ubuntu VPS。 它只是开发服务器,所以几乎没有stream量。 尽pipe如此,我不时得到内存耗尽的消息,我的整个内存都被用完了。 我试图在SF上浏览各种类似的问题,但是却无法真正了解没有stream量的服务器正在占用内存的情况。 以下是顶部的输出: ps aux的输出为: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 23572 1684 ? Ss Apr11 0:03 init root 1177 0.0 0.1 18888 1028 ? Ss Apr11 0:01 cron mysql 1189 0.0 5.6 258344 29680 ? Ssl Apr11 1:04 /usr/sbin/mysqld syslog 1202 0.0 […]

我如何创build多个共享一组或RewriteRules的VirtualHost条目?

我有一个Apacheconfiguration三个虚拟主机条目。 每个条目绑定到不同的端口,以便我们可以根据端口提供不同的SSL证书。 我们的负载均衡器透明地将请求redirect到某些域名到networking服务器上的特定端口。 我的问题是,我有一个相当复杂的RewriteConds和RewriteRules的列表,这三个主机必须是相同的。 三个条目之间的唯一区别应该是ServerName , SSLCertificateFile和SSLCertificateKeyFile条目。 目前,我在每个VirtualHost条目中都复制了RewriteRules,但这使得难以更新规则并确保它们在各个条目中都是相同的。 所以我的问题是, 有没有一种方法可以将RewriteRules放在一个位置,但这会导致它们被应用到所有三个VirtualHost条目中? 作为一个方面说明,我也在一个单独的非SSLconfiguration文件中使用相同的规则。

访问目录,而mod重写打开

我正在使用下面的.htaccess文件来保持我的URL干净 RewriteEngine On RewriteRule ^([a-zA-Z\-0-9]+)/?$ index.php?get1=$1 [B] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?get1=$1&get2=$2 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?get1=$1&get2=$2&get3=$3 它的工作到目前为止,但我现在想访问一个目录。 例如。 如果有人去mysite.com/news/post-title,URL被重写,一切正常。 现在我想拥有一个目录,当有人转到mysite.com/directory并显示其内容时,可以查看该目录。 有没有办法做到这一点?

为什么example.comredirect和www.example.com不是?

我有一个工作域www.mydomain.es ,我需要mydomain.com和www.mydomain.comredirect到它。 这是我的绑定configuration: $ttl 38400 mydomain.com. IN SOA r12345.ovh.net. admin.mydomain.es. ( 1338024563 10800 3600 604800 38400 ) mydomain.com. IN NS r12345.ovh.net. www.mydomain.com. IN NS r12345.ovh.net. 这是我的Apacheconfiguration: DocumentRoot "/home/user/www/mydomain/site" ServerName mydomain.com <Directory "/home/user/www/mydomain/site"> allow from all Options +Indexes </Directory> ServerAlias www.mydomain.com Redirect permanent / http://www.mydomain.es/ 但它不工作…这将redirectmydomain.com到www.mydomain.es但redirectwww.mydomain.com (未find)失败。 事实上, mydomain.com响应ping,但www.mydomain.com不是。 有什么问题?

当所有后端服务器在Apache后面运行HAProxy时,获得502而不是503

我正在testing运行HAProxy作为Apache 2.2后面的专用负载均衡器,replace我们当前使用Apache负载均衡器的configuration。 在我们目前的Apache中,如果所有的后端(原始)服务器都closures了,Apache将会提供503服务不可用的消息。 与HAProxy我得到一个502坏的网关响应。 我在Apache中使用简单的反向代理重写规则 RewriteRule ^/(.*) http://127.0.0.1:8000/$1 [last,proxy] 在HAProxy我有以下(运行在默认的TCP模式) defaults log global option tcp-smart-accept timeout connect 7s timeout client 60s timeout queue 120s timeout server 60s listen my_server 127.0.0.1:8000 balance leastconn server backend1 127.0.0.1:8001 check observe layer4 maxconn 2 server backend1 127.0.0.1:8001 check observe layer4 maxconn 2 当后端服务器closures时,直接testing连接到负载平衡器: [root@dev ~]# wget http://127.0.0.1:8000/ test.html –2012-05-28 […]

已经在使用的地址 – Amazon AWS

我遇到了一个很奇怪的问题。 我正在debuggingEC2实例的server 500错误脚本,发现我们没有安装ioncube loader。 所以我去安装它们,我在/etc/php.d/zend.ini创build了一个新文件,最初我插入了extension=/usr/local/ioncube/ioncube_loader_lin_5.3.so的值,然后重新启动httpd点它告诉我: The ionCube Loader is a Zend-Engine extension and not a module Please specify the Loader using 'zend_extension' in php.ini PHP Fatal error: Unable to start ionCube Loader module in Unknown on line 0 所以我把zend.ini的内容改成了zend_extension = / usr / …等。 现在,当我尝试重新启动httpd我得到这个错误: Starting httpd: (98)Address already in use: make_sock: could not bind […]

在Fedora 16中识别服务错误

你如何find在Fedora 16中启动失败的原因? Fedora 16中新的systemctl命令似乎很难掩盖任何有用的日志信息。 [root@host ~]# systemctl start httpd.service Job failed. See system logs and 'systemctl status' for details. [root@host ~]# systemctl status httpd.service httpd.service – The Apache HTTP Server (prefork MPM) Loaded: loaded (/lib/systemd/system/httpd.service; enabled) Active: failed since Thu, 21 Jun 2012 16:26:56 -0400; 1min 23s ago Process: 2119 ExecStop=/usr/sbin/httpd $OPTIONS -k stop (code=exited, […]