Articles of apache 2.2

RewriteMap允许在哪里?

这似乎是一个非常简单的问题。 我试图把.htaccess文件中的一个RewriteMap指令,但日志显示一个警告: RewriteMap not allowed here 然后我试着把它放在apache2 / sites-available文件的VirtualHost声明中,但是重新加载apache给了我: RewriteMap not allowed here …fail! 在这两种情况下与RewriteEngine上。 这是指文件系统上的实际映射的位置还是RewriteMap指令? 以防万一,这有助于: <VirtualHost *:80> ServerName localhost etc… <Directory /var/www/site> AllowOverride all Options Indexes FollowSymLinks MultiViews Order allow,deny Allow from 127.0.0.1 RewriteEngine On RewriteMap map txt:/var/www/site/map.txt RewriteRule /path/[^/]+/([^/]+) ${map:$1} etc…

什么是AddType应用程序/ x-httpd-php-source

我有Apache 2.0,PHP 5.2.4和httpd.conf中的这个指令: AddType application/x-httpd-php-source .php .php3 .php4 .php5 .php6 AddType指令用于将给定的文件扩展名映射到指定的内容types。 这是这个指令的唯一含义。 但是为什么这个方法closures了PHP处理程序,它分配了.php扩展名,我可以在浏览器中查看脚本的源代码? 另一个: AddType application/x-httpd-php5 .php 为什么这个方法开启PHP处理程序? 这只需要将头文件Content-Type: application/x-httpd-发送到我的浏览器,这只能是来自mod_mime的指令AddType含义。 我很困惑。

如何使用.htaccess不使用硬编码将非wwwredirect到www?

RewriteEngine On RewriteCond%{HTTPS}!= on RewriteCond%{HTTP_HOST} ^ www。(。+)$ [NC] RewriteRule ^(。*)$ http://%1 / $ 1 [R = 301,L] …导致一个完美的,非硬编码的301redirect从“www到非www”,会有什么相反的样子? 编辑: 根据Prix的post,我已经将.htaccess文件更改为以下内容: Options +FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] </IfModule> 如前所述,不幸的是,这个redirect到“ http://www./ ”。 谁可以帮忙? 谢谢

SVN:如何在Subversion中设置只读分支?

作为我的雇主组织的首席Web开发人员,我负责为每个Web应用程序configuration和维护一个SVN仓库。 每个都有几个存档版本,至less有几个分支。 目前,为了部署每个网站的最新版本,我将合适的标签版本“导出”到Apache服务该站点的目录。 例如,假设我在/ var / www / dev / app中签出了一个工作副本: $ cd /var/www/dev/app/archive/1.2 $ svn export . /var/www/html/www.myapp.com 但是我实际上仍然希望将活动站点链接到存储库版本,这样我就可以执行“svn update”来获取最新的更新; 我只是不想在活动部署目录中将任何文件或小的修改提交回存储库。 我想要做的是在存储库中创build一个只读分支,它总是包含应用程序的最新生产版本,我可以检出到部署目录。 我已经看过很多开源项目,任何人都可以签出应用程序的特定分支,但是它是只读分支,所以你不能回过头去。 我怎样才能做到这一点?

使用nginx进行负载平衡时,请求速度较慢

我已经将nginx设置为负载均衡器,将代理请求反向代理到2个Apache服务器。 我已经使用ab进行了基准testing,并且每秒获得约35个请求,并在两个后端服务器(不使用ip_hash)之间分配请求。 令我困惑的是,如果我通过ab直接查询后端服务器,那么每秒可以获得约50个请求。 我已经在ab中尝试了许多不同的值,其中最常见的是具有100个并发连接的1000个请求。 任何知道为什么stream量分布在2台服务器上的结果是每秒钟的请求数量比直接打到的要less? 附加信息: 我已经尝试了1到8之间的worker_processes值,1024到8092之间的worker_connections,并尝试了keepalive 0和65。 我的主要configuration目前看起来像这样: user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; worker_rlimit_nofile 8192; events { worker_connections 2048; use epoll; } http { include /etc/nginx/mime.types; sendfile on; keepalive_timeout 0; tcp_nodelay on; gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 我有一个虚拟主机(在可用的站点中),通过本地networkingredirect到/ 2后端的所有内容。

如何获得顶部和PS的Apache的显示url请求?

有没有办法让Apache显示正在处理顶部和PS的url? 这将帮助我们更快地确定性能问题。 谢谢。

Apache ServerName使用AlternativeName而不是CommonName

我最近购买了SSL证书。 证书的CommonName(CN)是www.mydomain.com ,有几个AlternativeNames,例如subdomain1.mydomain.com , subdomain2.mydomain.com等。 我已经使用Apache 2.2.17和mod_ssl在服务器上安装了它,并且一切正常,除非我得到一个警告: [warn] RSA server certificate CommonName (CN) `www.mydomain.com` does NOT match server name!? 这是因为ServerName被定义为subdomain1.mydomain.com 。 证书仍然有效,但有什么我可以做的,以消除警告? 或者我可以忽略它?

Apache 2.2 CGI超时configuration

我有一个默认的Apache 2.2系统设置与Perl CGI脚本目录configuration如下: ScriptAlias /jarvis/ "/opt/jarvis/cgi-bin/" 除了我的一个脚本需要10分钟以上的处理,由于各种原因,在这里什么都不打印。 Apache似乎有10分钟(600秒)的CGI脚本运行时间 – 如果在这个时间框架内脚本没有输出,那么脚本将被终止并向浏览器/客户端发送一个500响应。 消息: [Thu Apr 23 13:57:53 2009] [warn] [client 127.0.0.1] Timeout waiting for output from CGI script /opt/jarvis/cgi-bin/jarvis.pl 出现在一个系统(Ubuntu,通过apt-get安装)的日志中,但不在另一个系统上(Windows,通过软件包下载安装)。 我的问题是 – 在Apache 2.2中是否有任何configuration允许我运行超过10分钟的脚本而不会被杀死? 编辑 定期写出日志消息避免了这个错误 – 所以每隔几分钟写一条日志消息就可以确保长时间运行的进程不会被终止。 我最终通过在客户端上实现一个进度条并让我的脚本写入一个“。”来解决我的问题。 每隔一段时间更新一次吧。 谢谢,杰米

权限被拒绝:无法在Apache中创build/var/run/httpd.pid

我正在使用Apache和PHP在chroot jail环境中设置一个运行RedHat Enterprise 6的Web服务器。 Apache的chroot目录是/ chroot / httpd。 我跟着这个例子,当我去启动apache,我在/ var / log / httpd / error_log中看到以下内容。 [warn] ./mod_dnssd.c: No services found to register [Mon Jul 25 13:14:31 2011] [notice] core dump file size limit raised to 4294967295 bytes [Mon Jul 25 13:14:31 2011] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0 [Mon Jul 25 […]

虚拟主机 – 找不到服务器

我使用Apache VirtualHosts在我的networking服务器上运行不同的网站。 现在我有麻烦得到一个网站上class。 当我浏览到Firefox的网站时,它说“Firefox无法在www.mydomain.comfind服务器”,即使拼写正确。 进一步traceroute和ping都parsing到正确的IP,所以我怀疑这是因为DNS问题。 我从一个工作站点复制了VirtualHost-config文件 ,只是改变了服务器上存在的域和path。 进一步我检查,该网站已启用(与a2ensite),重新启动Apache,重新加载Apache,但它仍然无法正常工作。 这是我的VirtualHost文件: <VirtualHost censored_ip:80> ServerName mydomain.com ServerAlias mydomain.com www.mydomain.com ServerAdmin <myemail> DocumentRoot /var/www/efin/ <Directory /var/www/efin/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error_efin.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost> 我希望有人可以在这里find这个错误,因为我不知道在哪里寻找它。 非常感谢。 如果需要,我很乐意提供进一步的信息。 真诚的,迈克尔 编辑(3.8.2011):其实我可以使用.com / file.zip下载/ var / www / […]