linux,apache
Linux常用命令行操作
Posted in Linux/Apache on 2009/12/01 / 评论(0) »
1、查找文件
a. 在指定目录下查找匹配的文件
find /path/ -name file*
b. 统计文件数
find /path/ -name file* |wc -l

2.增量备份文件
tar -g snapshot -czvf backup.tar.gz /path/

tar ztf backup.tar.gz 检查压缩包

tar xzvf backup.tar.gz 解压缩

3. 查看文件数
ls -l | wc -l

4.查看文件大小
du -sm /path/* (m 标识 MB)

5.ln的使用
ln -s /source/path /dist/path
说明:ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
删除ln 可以用unlink /dist/path


第一种方法:

ls -l|grep “^-”|wc -l

ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)。如果ls -lR|grep “^-”|wc-l则可以连子目录下的文件一起统计。

grep ^- 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

第二种方法:

find ./ -type f|wc -l

由于默认find会去子目录查找,如果只想查找当前目录的文件用find ./ -maxdepth 1 -type f|wc -l即可。

需要说明的是第二种方法会比第一种方法快很多,尤其是也统计子目录时。
   项目需要为多个域名搭建网站。一般的做法是给apache添加一段virtualhosts。但是如果是大量的网站就麻烦了,通过学习apache rewrite模块发现有可以替代的快速方法。

1.需要创建一个vhost.map文件
内容如下

www.a.com E:\platform\a
www.b.com E:\platform\b
...


2.在apache的第一个虚拟主机(默认)virtualhost段里面加入rewrite 规则
内容如下:


RewriteEngine on

#字母小写方法
RewriteMap    lowercase    int:tolower

#引入 vhost.map文件
RewriteMap    vhost        txt:E:\platform\vhost.map

#确认拥有主机头报文
RewriteCond   %{HTTP_HOST}                 !^$

#将hostname变量转换成小写
RewriteCond   ${lowercase:%{HTTP_HOST}|NONE}  ^(.+)$

#转跳到host地址  
RewriteRule  ^/(.*)$ ${vhost:%1}/$1


保存,重起apache,完毕!每次需要增加一个网站,只要修改vhost.map文件,快速简单,域名配置的时候只要指向服务器的ip地址。

参考资料http://httpd.apache.org/docs/2.0/misc/rewriteguide.html   Mass Virtual Hosting

察看根目录下每个目录总的文件大小:
du -sm /*

察看分区状况:
df -h
个性化域名的实现
Posted in Linux/Apache on 2007/10/16 / 评论(0) »

        个性化域名,即将网站用户的用户名作为二级域名的前缀。比如像: http://jonson.kakapo.cn
如何实现这种功能呢?我采用三个步骤来实现:
     1、在域名管理网站增加一个A记录,比如:*.kakapo.cn,然后指向一台apache服务器的ip地址。这个叫泛域名解析。
     2、在那台apche服务器的主机配置中,在你要实现个性化域名的虚拟主机配置代码中加入一段代码:
ServerAlias kakapo.cn *.kakapo.cn


举例:

NameVirtualHost *:80

<VirtualHost *:80>

ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain

</VirtualHost>


         3、这步是采用url_rewrite规则完成。这个规则可以写在apache的虚拟主机配置里,也可以写在.htaccess里面。

举例代码如下:

RewriteEngine on
RewriteCond %{HTTP_HOST} (?!www|shop|bbs|home|pay|account|admin|cms|image)^[a-z0-9\-]+\.kakapo\.cn$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([a-z0-9\-]+)\.kakapo\.cn/?$ space/space.php?action=space&view=defaults&uname=$1 [L]
apache的虚拟主机配置在两三年前就知道,但是因为太久竟然也忘记也一些规则。今天在给xampp配置虚拟主机的时候,被其内置的规则搞的有点晕。最后只能回头再去阅读一下apache文档才彻底搞清楚了。备忘一下。

首先xampp在httpd.conf里面配置禁止遍历整个文件系统,对文件系统的默认访问被禁止,保护服务器文件。原来配置如下:

<Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
</Directory>

但是如果要让虚拟主机能被访问,有两个解决办法:一个是在全局里将Deny from all改成Allow from all ,但是有没发起到保护文件的作用;另一个办法是在虚拟主机里面加代码,如下:



<VirtualHost *:80>
   ServerAdmin webmaster@eachbrand.com
   DocumentRoot D:\projects\eachbrand.com
   ServerName www.eachbrand.com
   ##能通过多个域名访问
   #ServerAlias eachbrand.com *.eachbrand.com
   ErrorLog logs/www.eachbrand.com-error_log
   CustomLog logs/www.eachbrand.com-access_log common

   <Directory />
     AllowOverride All
     Order deny,allow
     Allow from all
   </Directory>
</VirtualHost>



基于域名的虚拟主机规则
1.必须指定服务器IP地址(和可能的端口)来使主机接受请求,这个可以用NameVirtualHost指令来进行配置。如果服务器上所有的IP地址都会用到,你可以用"*"作为NameVirtualHost的参数。如果你打算使用多端口(如运行SSL)你必须在参数中指定一个端口号,比如"*:80"。

2.为每个虚拟主机建立
<VirtualHost>

<VirtualHost>
的参数与NameVirtualHost的参数必须是一样的(比如说,一个IP地址或"*"代表的所有地址)。在每个VirtualHost段中,至少要有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容位于文件系统的什么地方。

3.取消中心主机, 如果你想在现有的web服务器上增加虚拟主机,你必须也为现存的主机建造一个
<VirtualHost>
定义块。这个虚拟主机中ServerName和DocumentRoot所包含的内容应该与全局的ServerName和DocumentRoot保持一致。还要把这个虚拟主机放在配置文件的最前面,来让它扮演默认主机的角色。

示范代码:



NameVirtualHost *:80

## for mainhost
<VirtualHost *:80>
ServerName localhost:80
DocumentRoot "/xampp/htdocs"
</VirtualHost>

## for virtualhost
<VirtualHost *:80>
   ServerAdmin webmaster@kakapo.cn
   DocumentRoot D:\projects\kakapo.cn
   ServerName www.kakapo.cn
   ##能通过多个域名访问
  #ServerAlias kakapo.cn *.kakapo.cn
   ErrorLog logs/www.kakapo.cn-error_log
   CustomLog logs/www.kakapo.cn-access_log common
</VirtualHost>


更多虚拟主机的配置示例代码请访问:
http://www.toplee.com/manuals/apache/apache2/vhosts/examples.html



分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]