Articles of apache 2.2

从子文件夹主主域

我有一个问题,使一个子目录充当我的主域的public_html,并得到一个与该域子目录一起工作的解决scheme。 我的托pipe允许我托pipe多个网站,这一切都很好。 我在我的〜/ public_html /目录下build立了一个名为/ domains /的子文件夹,在这里我为每个单独的网站创build一个文件夹。 例如 的public_html 域 websiteone websitetwo websitethree … 这使我的网站不错,整齐。 唯一的问题是让我的“主要领域”适合这个系统。 这似乎是我的主要领域,与我的帐户(或Apache,或某事)有某种联系,所以我不能更改此域的“文档根目录”。 我可以为cPanel中添加的任何其他域(“Addon Domains”)定义文档根目录没有问题。 但主要的领域是不同的。 我被告知编辑.htaccess文件,将主域redirect到一个子目录。 这似乎工作很好,我的网站正常工作在家里/索引页面。 我遇到的问题是,如果我试图浏览我的主站点的图像文件夹(例如),像这样: www.yourmaindomain.com/images/ 那么它似乎忽略redirect,并显示在URL中的整个服务器目录,如下所示: www.yourmaindomain.com/domains/yourmaindomain/images/ 它实际上仍然显示正确的“索引/图像”页面,并显示我的所有图像的列表。 这里是我使用的.htaccess文件的一个例子: RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /domains/yourmaindomain/$1 RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L] 这个htaccess文件看起来是否正确? 我只需要这样做,所以我的主域的行为就像一个插件域,它的子目录坚持redirect规则。

Apache日志行包含“…”

我们为Apache日志分析了一个自定义日志行格式。 CustomLog“| / usr / sbin / rotatelogs -l /mnt/var/log/apache2/access-%Y%m%d%H%M%S.log 900”“%a%{%s} t \”% r \ “” 然而,由于某些原因,一些日志行被神奇地缩短为“…”,但是这怎么可能呢? 发现这种情况发生的最短长度为317个字符,最长的一行超过2000个字符。 “GET /exposure?sg=&ap=0x0&fv=WIN%2010,0,22,87&si=IH95VDUAVLJ0&pt=Lage%20hjemmelaget%20sengegavl%20-%20Forum%20-%20Diskusjon.no&iv=0&sd=1024×600&ct=680&tz=-120&eu= HTTP%3A // www.diskusjon.no / index.php的%3Fshowtopic%3D1011139&升… AS3&一个= NO%20-%20180×500%20Pretail%20CPC&WD = 1024×483&RF = HTTP%3A // www.google.no /search%3Fhl %3Dno%26source%3Dhp%26q%3Dsengegavl + lage%26meta%3D%26aq%3D2%26aqi%3Dg10%26aql%3D%26oq%3Dsengega%26gs_rfai%3D&ui = 3INYF5QAZL10&ws = 0x417&ad = 180×500&sa = HTTP / 1.1“

nginx反向代理到Apache的mod_wsgi不起作用

我试图运行一个Django的网站与Apache的mod-wsgi与nginx作为前端反向代理到Apache。 在我的Apache ports.conf文件中: NameVirtualHost 192.168.0.1:7000 Listen 192.168.0.1:7000 <VirtualHost 192.168.0.1:7000> DocumentRoot /var/apps/example/ ServerName example.com WSGIDaemonProcess example WSGIProcessGroup example Alias /m/ /var/apps/example/forum/skins/ Alias /upfiles/ /var/apps/example/forum/upfiles/ <Directory /var/apps/example/forum/skins> Order deny,allow Allow from all </Directory> WSGIScriptAlias / /var/apps/example/django.wsgi </VirtualHost> 在我的nginxconfiguration中: server { listen 80; server_name example.com; location / { include /usr/local/nginx/conf/proxy.conf; proxy_pass http://192.168.0.1:7000; proxy_redirect default; root /var/apps/example/forum/skins/; } #error_page […]

分析请求时间以查找慢速页面

我正在寻找一个很大的自定义PHP CMS网站缓慢的页面。 我不想在现有糟糕的没有logging的代码中发现,发现Apache访问日志可以显示服务请求的时间,以秒和毫秒为单位。 CONF: CustomLog /var/log/httpd/timed_access_log timed LogFormat "%h %l %u %t \"%r\" %>s %b – %T/%D" timed 输出: 86.132.***.*** – – [22/Jun/2010:13:25:31 +0100] "GET /menu/topscript/ HTTP/1.1" 200 183 – 0/12418 86.132.***.*** – – [22/Jun/2010:13:25:31 +0100] "GET /search/script/ HTTP/1.1" 200 266 – 0/13173 86.132.***.*** – – [22/Jun/2010:13:25:31 +0100] "GET /subscribe/script/ HTTP/1.1" 200 279 – 0/12882 […]

Apache服务不正确的页面

前言:这是我见过的最奇怪的错误之一,特别是它来了又去。 有一个名为view.php的页面,另一个页面叫做save.php 。 当我请求save.php时,该错误就会显示出来 – 我反而得到了view.php 。 请求标题说save.php ,并且发生在Firefox,IE,Chrome,Opera,Safari。 它会一直发生,除非 – 这里是奇怪的部分 – 我打开文件并保存。 我不做任何改变,只是保存。 保存后,我可以做出同样的确切要求,它提供了save.php像没有错。 我目前正在从一个SVN仓库出口(只是一个简单的svn export http://server/repository target命令)。 如果我没有做任何更改后导出,错误就会重新显现。 如果更改(完全不相关的页面),并将其提交到存储库,然后导出,该错误通常会消失。 但是,同样的事情可能发生在两个不同的页面(也与修改后的页面无关),或者可能不会。 我没有使用任何types的caching(没有PHPcaching,浏览器caching,或Apachecaching)。 SVN版本:Windows机器(开发机器)上的1.6.9 w / AnkhSVN,版本库机器和testing机器(我运行导出命令的地方)都是1.4.2。 除了怀疑svn是哪里出了问题,我不知道。

Apache可以直接读取GlusterFS块但写入GlusterFS挂载?

我目前有2个networking服务器(CentOS 5.5),并使用GlusterFS作为客户端/服务器都使用自动文件复制。 对于这两个networking服务器: GlusterFS挂载点是: /mnt/glusterfs/site1 当地GlusterFS砖是 /export/sdb1/glusterfs/site1 我正在使用绑定挂载来指向Apache中的GlusterFS挂载: /var/www/site -> /mnt/glusterfs/site1 dynamic页面(caching页面本身不是一个选项)需要很多小文件才能在页面呈现之前被读取,GlusterFS的性能至less比使用本地文件系统慢5倍。 即当地的GlusterFS砖。 请注意,我正在使用option read-subvolume选项,以便从本地GlusterFS块中读取文件,但是我知道在networking上的其他块上检查元数据,这是我认为会减慢速度的原因。 不幸的是,我不能让Apache使用本地GlusterFS砖,因为Apache本身做了一些写操作。 由于/mnt/glusterfs/site1和/export/sdb1/glusterfs/site1实际上是相同的文件系统,Apache有没有办法直接从本地砖中读取,但写入到GlusterFS挂载? 这将显着提高性能。 我知道NFS,OCFS,GFS2,Lustre和DRBD,但是如果有可能做到这一点,这将是最简单的解决scheme。 也许是Apache指令,Apache模块(甚至自定义模块)甚至是在系统级别? 我将不胜感激任何build议/意见/方向。

Apache的多个实例

我正在运行VPS,并有几个网站在1个Apache实例下提供服务。 与此问题是,我正在Django应用程序,这可能需要我重新启动Apache。 运行Apache的多个实例是否有任何问题,并且每个实例都服务于不同的站点? 这将允许我重新启动一个实例,而不会影响另一个实例。 除非有人有更好的主意? 谢谢! 编辑运行更轻量级的Web服务器来处理简单的HTML网站,而不是Apache?

在虚拟Ubuntu服务器中部署Django应用程序

我有一台运行Ubuntu Server 10.04LTS的虚拟机。 我的意图是这台机器像一个VPS一样工作,这样我就可以学习和准备当我得到一个VPS服务。 用于部署Django应用程序的Apache + mod_wsgi似乎是我的正确select。 我有域名(marianofalcon.com.ar),但没有别的,没有DNS。 问题是,我所有的部署东西都迷失了方向。 我知道如何configurationmod_wsgi(带有django.wsgi文件)和apache(创build一个VirtualHost)。 有东西丢失,我不知道它是什么。 我认为我缺乏networking技能,这是最大的问题。 尝试在虚拟机上托pipe应用程序会增加一些难度,因为我不太清楚要使用哪个IP。 这是我得到的: 文件放置在:/ etc / apache2 / sites-available: NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] ServerName www.my-domain.com ServerAlias my-domain.com Alias /media /path/to/my/project/media DocumentRoot /path/to/my/project WSGIScriptAlias / /path/to/your/project/apache/django.wsgi ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost> django.wsgi文件: import os, sys wsgi_dir = os.path.abspath(os.path.dirname(__file__)) project_dir = […]

Apache mod-rewrite规则将subdomain.domain.tld更改为domain.tld / subdomain

重写规则是什么将subdomain.domain.tld更改为domain.tld/subdomain ? 或者我应该看看一个VirtualServer指令来获取subdomain.domain.tld并从一个DocRoot中发现, domain.tld/subdomain也发现在domain.tld/subdomain ? 重写规则要在哪里生存,如果使用重写更合适? 更新 – 在这里find链接: http : //httpd.apache.org/docs/2.2/mod/mod_rewrite.html

在2008 R2上使用PHP运行PHP

我无法在运行2008 R2的Web服务器上运行php ldap扩展。 安装Notes Apache:httpd-2.2.16-win32-x86-no_ssl.msi PHP:VC6 x86线程安全(2010年7月21日20:06:17)(ZIP) adLDAP.php 我已经采取的步骤 确保php_ldap.dll在C:\PHP\ext (我必须从http://bugs.php.net/bug.php?id=46971获得这个) 确保libeay32.dll和ssleay32.dll在C:\PHP C:\PHP已经添加到PATH extension=php_ldap.dll在php.ini取消注释 extension_dir在php.ini设置为C:\PHP\ext 跑了一个phpinfo(); 正在加载正确的php.ini ,但ldap未初始化 我真的不知道会发生什么,当我尝试和使用扩展我得到以下错误(预计,因为它没有加载): exception 'adLDAPException' with message 'No LDAP support for PHP. See: http://www.php.net/ldap' in C:\Website\hmis\adLDAP.php:338 Stack trace: #0 C:\Website\hmis\login.php(10): adLDAP->__construct() #1 C:\Website\hmis\index.php(2): require_once('C:\Website\hmis…') #2 {main} 有没有人有什么可能会出错的build议? 谢谢。 编辑:所以看起来像5.3.3 VC6构build中缺lessphp_ldap.dll,我从5.3.1 VC6构build我的副本。 这可能会导致问题? 我使用的是Apache,所以我不能使用官方的VC9 PHP构build,我应该尝试使用ApacheLounge构build? 我不认为这是必要的,因为我的LDAP使用5.3.1的官方版本 编辑2:所以我试过的另一件事是从C:\PHP\ext彻底删除php_ldap.dll 。 我得到了和以前完全一样的错误,并且apache不会像我预期的那样崩溃。 难道它不应该能够开始缺less扩展?