我有一个使用Smarty模板的本地托pipe网站,我正在尝试开始为该网站构buildAPI。 我已经使用virtualhost.sh为这个和其他网站创build一个本地虚拟主机。 我发现如果我把一个名为api的目录放在这些虚拟主机的根目录下,当我尝试访问里面的任何东西的时候,我会得到一个503错误。 我正在使用mod重写,但到目前为止只在需要时附加.php扩展名。 以下是请求的错误日志: [Thu Feb 09 13:42:37 2012] [error] proxy: HTTP: disabled connection for (localhost) [Thu Feb 09 13:49:06 2012] [error] (61)Connection refused: proxy: HTTP: attempt to connect to [fe80::1]:8080 (localhost) failed [Thu Feb 09 13:49:06 2012] [error] ap_proxy_connect_backend disabling worker for (localhost) 中间一行给了我一个线索来查看我的主机文件,因为为什么会请求到[fe80::1]:8080 ? 我注意到这一行,并再次尝试,这次错误是在连接到标准的127.0.0.1 localhost 。 我已经得出结论,也许有一些configuration文件拿起localhost/api的底层请求,并指出它的地方比我的虚拟主机。 在这一点上,我解决问题的能力使我失望。 谁能帮忙?
我听说你可以使用mod_rewrite清理你的URL,基本上我想这样做.php文件扩展名不显示在URL中。 例如,假设我在网站上有以下文件结构: /index.php /about.php /contact.php /css/main.css /img/animage.jpg /admin/index.php /admin/login.php /admin/admin.php 我想用mod_rewrite进行如下的基本修改: 当一个请求被发送到根目录即/about ,如果find一个目录叫做about ,那么它应该performance为一个名义上的目录(即从目录加载index.php)。 如果没有find目录,它应该指向about.php 如果请求一个.php文件,它应该301redirect到不带.php扩展名的.php名。 只有那些直接在浏览器中直接查看的目录应该有这些URL改变(即根目录和admin目录),因此css和img应该保持它们的URL不变。 我怎样才能使用mod_rewrite进行这些更改?
我的Apacheconfiguration有以下语句: DocumentRoot /home/x/public/ <Location /> Order Allow,Deny Allow from all Options -ExecCGI -Indexes </Location> 在/ home / x / public /目录下有一个目录/ RewriteRule ^(/media/.+) $1 [L] 媒体文件应该保持不变并由Apache提供 – 其他请求被redirect到Ruby on Rails代理服务器。 每当我尝试通过浏览器访问/ media下的文件时,Apache会尝试提供/ media / file(在文件系统根目录上)而不是/ home / x / public / media / file 如果我将/ media重命名为/ medias,文件/ home / x / public / media /文件将被正确地提供。 […]
我已经安装了Nginx来优化Apache请求的速度。 几个星期以来,一切都很好,我所有的网站都开始飞起来了。 但是,我决定安装乘客,并已经打破了我的Apache。 这不是开始…所以,我想这是因为端口80已经被Nginx使用 netstat显示这样的情况: tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3932/nginx.conf 尝试启动Apache时出错说: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs 那么,我怎样才能修复我的Apache再次工作呢? 顺便说一句,我已经重新编译它为prefork 😀 任何帮助,将不胜感激。 亚历克斯,谢谢
我使用这个教程http://www.linuxmaza ….安装了mod安全。 安装后,我得到了错误描述,并按照步骤来解决它。 我做的唯一不同的是从回购更新Apache,而不是先卸载。 Apache重启失败,错误日志告诉我这个: 更新:我卸载了Apache并做了一个干净的安装。 仍然收到相同的错误。 [Mon Feb 20 16:45:24 2012] [notice] caught SIGTERM, shutting down [Mon Feb 20 16:45:35 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Mon Feb 20 16:45:35 2012] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "astinf" Configuration Failed
我在我的Win7机器上运行Virtualbox环境中的CentOS。 我可以通过SSH从主机(win7)连接,但Apache的httpd不回答。 我可以通过curl localhost在curl localhost得到响应, curl 172.27.59.38 ,但是IP地址在主机上不响应: C:\Users\username>telnet 172.27.59.38 80 Connecting To 172.27.59.38…Could not open connection to the host, on port 80: Connect failed 另外nmap localhost不显示80端口是打开的。 可能是什么问题?
我在我的Apache访问日志中看到了很多这些奇怪的条目: SOME IP ADDRESS – – [23/Feb/2012:03:06:38 -0800] "GET /" 400 460 "-" "-" 如果我尝试访问Apache文档根目录,则会得到: MY IP ADDRESS – – [24/Feb/2012:09:37:28 -0800] "GET / HTTP/1.1" 200 5464 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13" 另一个知识产权怎么能够生产400而不是200?
我使用的是Apache,我在我的索引页(index.php)有一个login名和密码字段。 validation是用login.php页面进行的,然后如果我是authaurize,我可以到达下一页home.php。 我想要确保用httpsvalidation,但仅用于validation,所以我需要设置一个URL重写。 RewriteCond %{HTTPS} !on RewriteCond %{REQUEST_URI} ^/login.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L] 我已经考虑过这个解决scheme,但它不起作用。 我可以在index.php上input我的凭据,然后使用httpsredirect到login.php,但我仍然需要完成login名和密码字段。 你有什么想法吗?
在设置多个域时遇到困难 当我sudo a2ensite的例子2,它不会加载,无论exampe1是否启用或禁用…当然取下了自己的example1。 这里是两个文件(example2是基于example1) 在网站 – 可用我有example1文件 <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName example1.com ServerAlias example1.com DocumentRoot /var/www/example1 <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/example1/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> […]
我在高峰时间的间歇性时间里,在工作中经历了高延迟的情况下运行Web服务器。 据Firebug说,高延迟总是发生在第一个请求(请求页面)。 在第一个响应回来之后,其他所有内容都会快速加载。 我正在和Web服务器在同一个networking上遇到这个问题。 在高峰期,我们有大约1200个并发连接。 我一直在对MaxClients指令进行大量研究,并使用“经验法则”来确定要使用的值(400)。 每个httpd进程平均为25mb左右。 我们有一个2gig的连接,这个web服务器服务于我们的组织。 此外,Web服务器是一个具有4个专用核心和12GB内存的VM,运行RHEL 5.6和apache。 在高峰时段有400个MaxClients,我经历了访问Web服务器的持续超时。 当我将其设置为1000这样的高数字时,似乎减轻了超时,但我仍然得到间歇性的高延迟初始响应。 任何人都可以阐明我可以做些什么来弥补这个问题? Timeout 10 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule prefork.c> StartServers 20 MinSpareServers 5 MaxSpareServers 20 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 4000 </IfModule>