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
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
[转]linux统计文件夹中文件数目
Posted in Linux/Apache on 2008/05/06 / 评论(1) »
第一种方法:
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即可。
需要说明的是第二种方法会比第一种方法快很多,尤其是也统计子目录时。
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即可。
需要说明的是第二种方法会比第一种方法快很多,尤其是也统计子目录时。
通过Rewrite规则快速搭建大量的虚拟主机
Posted in Linux/Apache on 2008/02/25 / 评论(1) »
项目需要为多个域名搭建网站。一般的做法是给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
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
察看文件系统状况实用命令
Posted in Linux/Apache on 2007/11/27 / 评论(0) »
察看根目录下每个目录总的文件大小:
du -sm /*
察看分区状况:
df -h
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]
如何配置XAMPP的虚拟主机
Posted in Linux/Apache on 2007/08/21 / 评论(0) »
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.为每个虚拟主机建立
3.取消中心主机, 如果你想在现有的web服务器上增加虚拟主机,你必须也为现存的主机建造一个
示范代码:
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
首先xampp在httpd.conf里面配置禁止遍历整个文件系统,对文件系统的默认访问被禁止,保护服务器文件。原来配置如下:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
但是如果要让虚拟主机能被访问,有两个解决办法:一个是在全局
<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




