2008年04月24日

一:硬架构

1:机房的选择:
在选择机房的时候,根据网站用户的地域分布,可以选择网通或电信机房,但更多时候,可能双线机房才是合适的。越大的城市,机房价格越贵,从成本的角 度看可以在一些中小城市托管服务器,比如说北京的公司可以考虑把服务器托管在天津,廊坊等地,不是特别远,但是价格会便宜很多。
2:带宽的大小:
通常老板花钱请我们架构网站的时候,会给我们提出一些目标,诸如网站每天要能承受100万PV的访问量等等。这时我们要预算一下大概需要多大的带宽,计算带宽大小主要涉及两个指标(峰值流量和页面大小),我们不妨在计算前先做出必要的假设:
第一:假设峰值流量是平均流量的5倍。
第二:假设每次访问平均的页面大小是100K字节左右。
如果100万PV的访问量在一天内平均分布的话,折合到每秒大约12次访问,如果按平均每次访问页面的大小是100K字节左右计算的话,这12次访 问总计大约就是1200K字节,字节的单位是Byte,而带宽的单位是bit,它们之间的关系是1Byte = 8bit,所以1200K Byte大致就相当于9600K bit,也就是9Mbps的样子,实际情况中,我们的网站必须能在峰值流量时保持正常访问,所以按照假设的峰值流量算,真实带宽的需求应该在45Mbps 左右。
当然,这个结论是建立在前面提到的两点假设的基础上,如果你的实际情况和这两点假设有出入,那么结果也会有差别。
3:服务器的划分:
先看我们都需要哪些服务器:图片服务器,页面服务器,数据库服务器,应用服务器,日志服务器等等。
对于访问量大点的网站而言,分离单独的图片服务器和页面服务器相当必要,我们可以用lighttpd来跑图片服务器,用apache来跑页面服务 器,当然也可以选择别的,甚至,我们可以扩展成很多台图片服务器和很多台页面服务器,并设置相关域名,如img.domain.com和 www.domain.com,页面里的图片路径都使用绝对路径,如<img src="http://img.domain.com/abc.gif" />,然后设置DNS轮循,达到最初级的负载均衡。当然,服务器多了就不可避免的涉及一个同步的问题,这个可以使用rsync软件来搞定。
数据库服务器是重中之重,因为网站的瓶颈问题十有八九是出在数据库身上。现在一般的中小网站多使用MySQL数据库,不过它的集群功能似乎还没有达 到stable的阶段,所以这里不做评价。一般而言,使用MySQL数据库的时候,我们应该搞一个主从(一主多从)结构,主数据库服务器使用innodb 表结构,从数据服务器使用myisam表结构,充分发挥它们各自的优势,而且这样的主从结构分离了读写操作,降低了读操作的压力,甚至我们还可以设定一个 专门的从服务器做备份服务器,方便备份。不然如果你只有一台主服务器,在大数据量的情况下,mysqldump基本就没戏了,直接拷贝数据文件的话,还得 先停止数据库服务再拷贝,否则备份文件会出错。但对于很多网站而言,即使数据库服务仅停止了一秒也是不可接受的。如果你有了一台从数据库服务器,在备份数 据的时候,可以先停止服务(slave stop)再备份,再启动服务(slave start)后从服务器会自动从主服务器同步数据,一切都没有影响。但是主从结构也是有致命缺点的,那就是主从结构只是降低了读操作的压力,却不能降低写 操作的压力。为了适应更大的规模,可能只剩下最后这招了:横向/纵向分割数据库。所谓横向分割数据库,就是把不同的表保存到不同的数据库服务器上,比如说 用户表保存在A数据库服务器上,文章表保存在B数据库服务器上,当然这样的分割是有代价的,最基本的就是你没法进行LEFT JOIN之类的操作了。所谓纵向分割数据库,一般是指按照用户标识(user_id)等来划分数据存储的服务器,比如说:我们有5台数据库服务器,那么 “user_id % 5 + 1”等于1的就保存到1号服务器,等于2的就保存到2好服务器,以此类推,纵向分隔的原则有很多种,可以视情况选择。不过和横向分割数据库一样,纵向分割 数据库也是有代价的,最基本的就是我们在进行如COUNT, SUM等汇总操作的时候会麻烦很多。综上所述,数据库服务器的解决方案一般视情况往往是一个混合的方案,以其发挥各种方案的优势,有时候还需要借助 memcached之类的第三方软件,以便适应更大访问量的要求。
如果有专门的应用服务器来跑PHP脚本是最合适不过的了,那样我们的页面服务器只保存静态页面就可以了,可以给应用服务器设置一些诸如 app.domain.com之类的域名来和页面服务器加以区别。对于应用服务器,我还是更倾向于使用prefork模式的apache,配上必要的 xcache之类的PHP缓存软件,加载模块要越少越好,除了mod_rewrite等必要的模块,不必要的东西统统舍弃,尽量减少httpd进程的内存 消耗,而那些图片服务器,页面服务器等静态内容就可以使用lighttpd或者tux来搞,充分发挥各种服务器的特点。
如果条件允许,独立的日志服务器也是必要的,一般小网站的做法都是把页面服务器和日志服务器合二为一了,在凌晨访问量不大的时候cron运行前一天 的日志计算,不过如果你使用awstats之类的日志分析软件,对于百万级访问量而言,即使按天归档,也会消耗很多时间和服务器资源去计算,所以分离单独 的日志服务器还是有好处的,这样不会影响正式服务器的工作状态。

二:软架构
1:框架的选择:
现在的PHP框架有很多选择,比如:CakePHP,Symfony,Zend Framework等等,至于应该使用哪一个并没有唯一的答案,要根据Team里团队成员对各个框架的了解程度而定。很多时候,即使没有使用框架,一样能 写出好的程序来,比如Flickr据说就是用Pear+Smarty这样的类库写出来的,所以,是否用框架,用什么框架,一般不是最重要的,重要的是我们 的编程思想里要有框架的意识。
2:逻辑的分层:
网站规模到了一定的程度之后,代码里各种逻辑纠缠在一起,会给维护和扩展带来巨大的障碍,这时我们的解决方式其实很简单,那就是重构,将逻辑进行分层。通常,自上而下可以分为表现层,应用层,领域层,持久层。
所谓表现层,并不仅仅就指模板,它的范围要更广一些,所有和表现相关的逻辑都应该被纳入表现层的范畴。比如说某处的字体要显示为红色,某处的开头要 空两格,这些都属于表现层。很多时候,我们容易犯的错误就是把本属于表现层的逻辑放到了其他层面去完成,这里说一个很常见的例子:我们在列表页显示文章标 题的时候,都会设定一个最大字数,一旦标题长度超过了这个限制,就截断,并在后面显示“..”,这就是最典型的表现层逻辑,但是实际情况,有很多程序员都 是在非表现层代码里完成数据的获取和截断,然后赋值给表现层模板,这样的代码最直接的缺点就是同样一段数据,在这个页面我可能想显示前10个字,再另一个 页面我可能想显示前15个字,而一旦我们在程序里固化了这个字数,也就丧失了可移植性。正确的做法是应该做一个视图助手之类的程序来专门处理此类逻辑,比 如说:Smarty里的truncate就属于这样的视图助手(不过它那个实现不适合中文)。
所谓应用层,它的主要作用是定义用户可以做什么,并把操作结果反馈给表现层。至于如何做,通常不是它的职责范围(而是领域层的职责范围),它会通过 委派把如何做的工作交给领域层去处理。在使用MVC架构的网站中,我们可以看到类似下面这样的URL: domain.com/articles/view/123,其内部编码实现,一般就是一个Articles控制器类,里面有一个view方法,这就是一 个典型的应用层操作,因为它定义了用户可以做一个查看的动作。在MVC架构中,有一个准则是这么说的:Rich Model Is Good。言外之意,就是Controller要保持“瘦”一些比较好,进而说明应用层要尽量简单,不要包括涉及领域内容的逻辑。
所谓领域层,最直接的解释就是包含领域逻辑的层。它是一个软件的灵魂所在。先来看看什么叫领域逻辑,简单的说,具有明确的领域概念的逻辑就是领域逻 辑,比如我们在ATM机上取钱,过程大致是这样的:插入银联卡,输入密码,输入取款金额,确定,拿钱,然后ATM吐出一个交易凭条。在这个过程中,银联卡 在ATM机器里完成钱从帐户上划拨的过程就是一个领域逻辑,因为取钱在银行中是一个明确的领域概念,而ATM机吐出一个交易凭条则不是领域逻辑,而仅是一 个应用逻辑,因为吐出交易凭条并不是银行中一个明确的领域概念,只是一种技术手段,对应的,我们取钱后不吐交易凭条,而发送一条提醒短信也是可能的,但并 不是一定如此,如果在实际情况中,我们要求取款后必须吐出交易凭条,也就是说吐出交易凭条已经和取款紧密结合,那么你也可以把吐出交易凭条看作是领域逻辑 的一部分,一切都以问题的具体情况而定。在Eric那本经典的领域驱动设计中,把领域层分为了五种基本元素:实体,值对象,服务,工厂,仓储。具体可以参 阅书中的介绍。领域层最常犯的错误就是把本应属于领域层的逻辑泄露到了其他层次,比如说在一个CMS系统,对热门文章的定义是这样的:每天被浏览的次数多 于1000次,被评论的次数多于100次,这样的文章就是热门文章。对于一个CMS来说,热门文章这个词无疑是一个重要的领域概念,那么我们如何实现这个 逻辑的设计的?你可能会给出类似下面的代码:“SELECT … FROM … WHERE 浏览 > 1000 AND 评论 > 100”,没错,这是最简单的实现方式,但是这里需要注意的是“每天被浏览的次数多于1000次,被评论的次数多于100次”这个重要的领域逻辑被隐藏到 了SQL语句中,SQL语句显然不属于领域层的范畴,也就是说,我们的领域逻辑泄露了。
所谓持久层,就是指把我们的领域模型保存到数据库中。因为我们的程序代码是面向对象风格的,而数据库一般是关系型的数据库,所以我们需要把领域模型 碾平,才能保存到数据库中,但是在PHP里,直到目前还没有非常好的ORM出现,所以这方面的解决方案不是特别多,参考Martin的企业应用架构模式一 书,大致可以使用的方法有行数据入口(Row Data Gateway)或者表数据入口(Table Data Gateway),或者把领域层和持久层合二为一变成活动记录(Active Record)的方式。

2008年04月17日

转自http://blog.163.com/hello-_-world/blog/static/231894442007101995827755/

Linux与Windows 共享文件Samba

作者:北南南北,正在增加中… … 需要您的参与;
来自:LinuxSir.Org
简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 … … 谢谢;

目录

0、架设Samba 服务器的前提;
0.1 查看文件内容和编辑文件的工具;
0.2 关于文件和目录相关;
03 用户和用户组相关;
04 进程管理;
1 Samba 简介
2 Samba 功能和应用范围
3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;
3.1 Samba 有两个服务器,一个是smbd,另一个是nmbd;
3.2 查看Samba 服务器的端口及防火墙;
3.3 查看Samba 服务器的配置文件;
3.4 Samba 在Linux 中的一些工具(服务器端和客户端);
3.5 在Linux 中的常用工具,Windows查看Linux共享的方法 ;
3.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;
3.5.2 在Windows中访问Linux Samba服务器共享文件的办法;
3.5.3 smbfs文件系统的挂载;
4 由最简单的一个例子说起,匿名用户可读可写的实现;

第一步: 更改smb.conf
第二步:建立相应目录并授权;
第三步:启动smbd和nmbd服务器;
第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
第五步:访问Samba 服务器的共享;
5、复杂一点的用户共享模型(适合10人左右的小型企业);

5.1 共享权限设计实现的功能;
5.2 在服务器上创建相应的目录;
5.3 添加用户用户组,设置相应目录家目录的权限;
5.3.1 添加用户组;
5.3.2 添加用户;
5.3.3 添加samba用户,并设置密码;
5.3.4 配置相关目录的权限和归属;
5.4 修改Samba配置文件;
5.5 关于客户端访问;
5.5.1 Windows客户端访问;

++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++

0、架设Samba 服务器的前提;

Linux是一个多用户的操作系统,对任何服务器的架设与都用户、用户组及权限相关,这是操作的基础。Samba服务器也不例外,对这些知识的掌握也是极为重要的。在Windows系统上虽然也能架共享文件服务器,但它的权限控制实在令人不敢恭维。如果我们用Windows系统来架网络共享文件系统,就是点鼠标也能把我们点迷糊了。但在Linux中,我们可以轻松的改一改配置文件,不到几分钟就能建好自己的Samba服务器。哪个更容易,只有你知道;

对于Samba服务器的架设,有的弟兄简单的认为,只要把改一下配置文件,创建好相应的目录就行了。其实并不是这样的,还要深入的工作,比如目录的权限和归属,也就是说能让哪个用户和用户组有读写权。只有把配置文件和共享目录的权限结合起来,才能架好Samba服务器;

下面是常用的基础知识,我们在本文中所涉及的内容都可以在下面的列表中找到相应的解释;

0.1 查看文件内容和编辑文件的工具;

《Linux 文件内容查看工具介绍》
《文件编辑器 vi》

0.2 关于文件和目录相关;

《Linux 文件类型 及文件的扩展名》
《Linux 文件和目录管理之列出、删除、复制、移动及改名》
《Linux 文件和目录的属性》
《简述Linux文件搜索》

03 用户和用户组相关;

《Linux 用户(user)和用户组(group)管理概述》
《用户(User)和用户组(Group)配置文件详解》
《Linux 用户管理工具介绍》
《Linux 用户(User)查询篇》

04 进程管理;

《Linux 进程管理》

1 Samba 简介

Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;

大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;

我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

Samba 用的netbios协议,如果您用Samba 不成功,

Linux与Windows 、Linux 和 Linux

2 Samba 功能和应用范围

Samba 应该范围主要是Windows和Linux 系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,没有必要用Samba,应该用NFS更好一点;

那Samba 能为我们提供点什么服务呢?主要是共享文件和共享打印机;

3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;

3.1 Samba 有两个服务器,一个是smb,另一个是nmb;

smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问;

\\192.168.1.5\共享目录
\\192.168.1.5\opt

而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;
一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器;

[root@localhost ~]# /etc/init.d/smb start
启动 SMB 服务: [ 确定 ]
启动 NMB 服务: [ 确定 ]

如果停止呢?就在smb后面加stop ;重启就是restart

[root@localhost ~]# /etc/init.d/smb stop
[root@localhost ~]# /etc/init.d/smb restart

对于所有系统来说,通用的办法就是直接运行smb 和nmb;当然您要知道smb和nmb所在的目录才行;如果是自己编译的Samba ,您应该知道您把Samba放在哪里了;

[root@localhost ~]# /usr/sbin/smbd
[root@localhost ~]# /usr/sbin/nmbd

查看服务器是否运行起来了,则用下面的命令;
[root@localhost ~]# pgrep smbd
[root@localhost ~]# pgrep nmbd

关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行;

[root@localhost ~]# pkill smbd
[root@localhost ~]# pkill nmbd

3.2 查看Samba 服务器的端口及防火墙;

查看这个有何用呢?有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445 ;

[root@localhost ~]# netstat -tlnp |grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 10639/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 10639/smbd
如果您有防火墙,一定要把这两个端口打开。如果不知道怎么打开。可能你和我一样是新手,还是把防火墙规则清掉也行;

[root@localhost ~]# iptables -F

[root@localhost ~]# /sbin/iptables -F
3.3、查看Samba 服务器的配置文件;

如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有有户配置文件 smbpasswd、smbusers和lmhosts等(最好您查看一下这些文件的内容);还有一个文件是secrets.tdb,这个文件是 Samba 服务器启动手自动生成的;我们慢慢根据教程的进度来适当地增加这些文件的说明吧;一下子都说出来,感觉内容太多;所以只能一点一点的来了;

3.4、Samba 在Linux 中的一些工具(服务器端和客户端);

smbcacls smbcontrol smbencrypt smbmount smbprint smbstatus smbtree
smbclient smbcquotas smbmnt smbpasswd smbspool smbtar smbumount
smbd nmbd mount

其中服务器端的是smbd、nmbd、smbpasswd ;其它的大多是客户端;这些并不是都需要一定要精通的,但至少得会用几个;比如smbmount(也就是mount 加参数的用法),还用smbclient等;

3.5 在Linux 中的常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法 ;

3.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;

一般的情况下,我们要用到smbclient;常用的用法也无非是下面的;

[root@localhost ~]# smbclient -L //ip地址或计算机名
smbclient 是Samba 的Linux 客户端,在Linux机器上用来查看服务器上的共享资源,也可以象FTP一样,用户可以登录Samba服务器,也可以上传put和下载get文件,遗憾的是对中文支持并不友好;

查看服务器上的资源;

smbclient -L //IP [-U 用户名]
如果您的Samba服务器配置为user模式,就要加 “-U 用户名“,如果是share模式,省略也可;

比如:

[root@localhost ~]# smbclient -L //192.168.1.3 -U sir01
Password: 请输入用户sir01的密码
如果您是用share模式,就可以不必理会用户和密码,直接用;

[root@localhost ~]# smbclient -L //192.168.1.3
Password: 直接按回车
登录用户身份Samba服务器共享

以用户身份登录共享后,能象FTP用户一样,下传和下载文件;用put表示上传,用get表示下载;

smbclient //IP地址/共享文件夹 -U 用户
说明:IP地址大家都知道,你不知道自己的IP地址,可以用/sbin/ifconfig 来查看; 共享文件夹是我们在smb.conf中定义的[共享文件夹],比如[sir01]。-U 用户名表示Samba 的用户;

比如:

[root@localhost ~]# smbclient //192.168.1.3/sir01 -U sir01
Password:
Domain=[LINUXSIR] OS=[Unix] Server=[Samba 3.0.21b-2]
smb: \> ls
说明:登录到Samba服务器上,就可以用smbclient的一些指令,可以象用FTP指令一样上传和下载文件;

smbclient 命令说明

命令 说明?或help [command] 提供关于帮助或某个命令的帮助![shell command] 执行所用的SHELL命令,或让用户进入 SHELL提示符cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录lcd [目录] 切换到客户端指定的目录;dir 或ls 列出当前目录下的文件;exit 或quit 退出smbclient get file1 file2 从服务器上下载file1,并以文件名file2存在本地机上;如果不想改名,可以把file2省略mget file1 file2 file3 filen 从服务器上下载多个文件;md或mkdir 目录 在服务器上创建目录rd或rmdir 目录 删除服务器上的目录put file1 [file2] 向服务器上传一个文件file1,传到服务器上改名为file2;mput file1 file2 filen 向服务器上传多个文件3.5.2 在Windows中访问Linux Samba服务器共享文件的办法;

这个简单吧,在网上领居,查看工作组就能看得到,或者在浏览器上输入如下的

\\ip地址或计算机名
这样就能看到这个机器上有什么共享的了,点鼠标操作完成;如果访问不了,不要忘记把Linux的防火墙规划清掉,或让相应的端口通过;

3.5.3 在Linux中smbfs文件系统的挂载;

mount 的用法,加载网络中的共享文件夹到本地机;mount就是用于挂载文件系统的,SMB做为网络文件系统的一种,也能用mount挂载;smbmount说到底也是用mount的一个变种;

mount 挂载smbfs的用法;

mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂载点

mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //计算机名/共享文件夹名 挂载点

mount -t smbfs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点

smbmount的用法:

smbmount -o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点
smbmount //ip地址或计算机名/共享文件夹名 挂载点

说明:
如果您的服务器是以share共享的,则无需用户名和密码就能挂载,如果出现要密码的提示,直接回车就行;您也可以用smbmount 来挂载,这样就无需用mount -t smbfs来指定文件系统的类型了;

对于挂载点,我们要自己建立一个文件夹,比如我们可以建在/opt/smbhd,这由您说的算吧;

在mount的命令中,我们发现有这样的一个参数codepage=cp936,这是服务器端文件系统的编码的指定,cp936 就是简体中文,当然您可以用utf8等,尝试一下吧。

如果您挂载了远程的smbfs文件系统出现的是简体中文乱码,就要考虑挂载时要指定编码了;

4、由最简单的一个例子说起,匿名用户可读可写的实现;

第一步: 更改smb.conf

我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;

[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confBAK
然后我们来重新创建一个smb.conf文件;

[root@localhost samba]#touch smb.conf

然后我们把下面这段写入smb.conf中;

[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share

[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes

注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

guest ok 匿名用户以guest身份是登录;

第二步:建立相应目录并授权;

[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir

注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;
第三步:启动smbd和nmbd服务器;

[root@localhost ~]# smbd
[root@localhost ~]# nmbd
第四步:查看smbd进程,确认Samba 服务器是否运行起来了;

[root@localhost ~]# pgrep smbd
13564
13568

第五步:访问Samba 服务器的共享;

在Linux 中您可以用下面的命令来访问;

[root@localhost ~]# smbclient -L //LinuxSir05
Password: 注:直接按回车

在Windows中,您可以用下面的办法来访问;

\\LinuxSir05\

5、复杂一点的用户共享模型(适合10人左右的小型企业);

比如一个公司有五个部门,分别是linuxsir,sir01,sir02,sir03,sir04。我们想为这家公司设计一个比较安全的共享文件模型。每个用户都有自己的网络磁盘,sir01到sir04还有共用的网络硬盘;所有用户(包括匿名用户)有一个共享资料库,此库为了安全是只读的;所有的用户(包括匿名用户)要有一个临时文件终转的文件夹… ….

5.1 共享权限设计实现的功能;

1)linuxsir部门具有管理所有SMB空间的权限;
2)sir01到sir04拥有自己的空间,并且除了自身及linuxsir有权限以外,对其它用户具有绝对隐私性;
3)linuxsir01到linuxsir04拥有一个共同的读写权限的空间;
4) 所有用户(包括匿名用户)有一个有读权限的空间,用于资料库,所以不要求写入数据。
5)sir01到sir04还有一个共同的空间,对sir01到sir04的用户来说是隐私的,不能让其它用户来访问。
6) 还要有一个空间,让所有用户可以写入,能删除等功能,在权限上无限制 ,用于公司所有用户的临时文档终转等;

5.2 在服务器上创建相应的目录;

[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# cd /opt/linuxsir
[root@localhost linuxsir]# mkdir sir01 sir02 sir03 sir04 sirshare sir0104rw sirallrw
[root@localhost linuxsir]# ls

sir01 sir0104rw sir02 sir03 sir04 sirallrw sirshare
注:功用如下:

/opt/linuxsir 这是管理员目录,负责管理其下所有目录;
/opt/linuxsir/sir01 是sir01的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sir02 是sir02的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sir03 是sir03的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sir04 是sir04的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sirshare 所用用户(除了linuxsir有权限写入外)只读目录
/opt/linuxsir/sir0104rw 是用于sir01到sir04用户可读可写共用目录,但匿名用户不能读写;
/opt/linuxsir/sirallrw 用于所有用户(包括匿名用户)的可读可写;

5.3 添加用户用户组,设置相应目录家目录的权限;

5.3.1 添加用户组;

[root@localhost ~]# /usr/sbin/groupadd linuxsir
[root@localhost ~]# /usr/sbin/groupadd sir01
[root@localhost ~]# /usr/sbin/groupadd sir02
[root@localhost ~]# /usr/sbin/groupadd sir03
[root@localhost ~]# /usr/sbin/groupadd sir04
[root@localhost ~]# /usr/sbin/groupadd sir0104

5.3.2 添加用户;

[root@cuc03 ~]# adduser -g sir01 -G sir0104 -d /opt/linuxsir/sir01 -s /sbin/nologin sir01
[root@cuc03 ~]# adduser -g sir02 -G sir0104 -d /opt/linuxsir/sir02 -s /sbin/nologin sir02
[root@cuc03 ~]# adduser -g sir03 -G sir0104 -d /opt/linuxsir/sir03 -s /sbin/nologin sir03
[root@cuc03 ~]# adduser -g sir04 -G sir0104 -d /opt/linuxsir/sir04 -s /sbin/nologin sir04
[root@cuc03 ~]# adduser -g linuxsir -d /opt/linuxsir -G linuxsir,sir01,sir02,sir03,sir04,sir0104 -d /opt/linuxsir -s /sbin/nologin linuxsir
为什么这样添加用户?请参考:

《Linux 文件和目录的属性》
《Linux 用户管理工具介绍》

当然我们还得学会查看用户信息的工具用法,比如 用finger和id来查看用户信息,主要是看用户是否添加正确;比如;请参考《Linux 用户(User)查询篇》

[root@localhost ~]# id linuxsir
[root@localhost ~]# finger linuxsir

5.3.3 添加samba用户,并设置密码;

我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和 Samba用户的密码是不同的。如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。

我们通过smbpasswd 来添加Samba用户,并设置密码。原理是通过读取/etc/passwd文件中存在的用户名。

[root@localhost sir01]# smbpasswd -a linuxsir
New SMB password: 注:在这里添加Samba用户linuxsir的密码;
Retype new SMB password: 注:再输入一次;
用同样的方法来添加 sir01、sir02、sir03、sir04的密码;

5.3.4 配置相关目录的权限和归属;

[root@cuc03 ~]# chmod 755 /opt/linux
[root@cuc03 ~]# chown linuxsir:linuxsir /opt/linuxsir

[root@cuc03 ~]# cd /opt/linuxsir
[root@cuc03 ~]# chmod 2770 sir0*

[root@cuc03 ~]# chown sir01.linuxsir sir01

[root@cuc03 ~]# chown sir02.linuxsir sir02

[root@cuc03 ~]# chown sir03.linuxsir sir03

[root@cuc03 ~]# chown sir04.linuxsir sir04

[root@cuc03 ~]# chown linuxsir.sir0104 sir0104rw

[root@cuc03 ~]# chown linuxsir.linuxsir sirshare
[root@cuc03 ~]# chmod 755 sirshare

[root@cuc03 ~]# chown linuxsir:linuxsir sirallrw
[root@cuc03 ~]# chmod 3777 sirallrw

5.4 修改Samba配置文件 smb.conf;

配置文件如下,修改/etc/samba/smb.conf后,不要忘记重启smbd和nmbd服务器;

[global]
workgroup = LINUXSIR
netbios name = LinuxSir
server string = Linux Samba Test Server
security = share

[linuxsir]
comment = linuxsiradmin
path = /opt/linuxsir/
create mask = 0664
#create mask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;
directory mask = 0775
#directory mask 是用来设置用户创建目录时的权限掩码,意思是对于用户和用户组可读可写,对其它用户可读可执行;
writeable = yes
valid users = linuxsir
browseable = yes

[sirshare]
path = /opt/linuxsir/sirshare
writeable = yes
browseable = yes
guest ok = yes

[sirallrw]
path = /opt/linuxsir/sirallrw
writeable = yes
browseable = yes
guest ok = yes

[sir0104rw]
comment = sir0104rw
path = /opt/linuxsir/sir0104rw
create mask = 0664
directory mask = 0775
writeable = yes
valid users = linuxsir,@sir0104
#@sir0104是用户组;
browseable = yes

[sir01]
comment = sir01
path = /opt/linuxsir/sir01
create mask = 0664
directory mask = 0775
writeable = yes
valid users = sir01,@linuxsir
browseable = yes

[sir02]
comment = sir02
path = /opt/linuxsir/sir02
create mask = 0664
directory mask = 0775
writeable = yes
valid users = sir02,@linuxsir
browseable = yes

[sir03]
comment = sir03
path = /opt/linuxsir/sir03
create mask = 0664
directory mask = 0775
writeable = yes
valid users = sir03,@linuxsir
browseable = yes

[sir04]
comment = sir04
path = /opt/linuxsir/sir04
create mask = 0664
directory mask = 0775
writeable = yes
valid users = sir04,@linuxsir
browseable = yes

5.5 关于客户端访问;

5.5.1 Windows 访问;

我们打开Windows的IE浏览器,用IP地址的访问方式就能访问了,格式为 \\192.168.1.3 类似的。当然也可以把共享文件夹挂在本地使用。比如我们把sir01文件夹挂在本地中,应该以sir01用户来挂载,挂载流程图如下;

备份方法一:前两天测试了一下两种最笨的方法,一是使用ssh登录ESX之后把VM(Windows2003)的整个目录端过来。测试结果:在虚拟机正常运行的情况下拷过来的备份,上传回去之后不能启动,报错;将虚拟机停止之后拷贝过来的备份上传之后正常启动了。 二是使用VIC中的DataStorage Browser下载和上传回去。[存在的问题:是否支持所有的备份,存在问题还未知。缺点:只能冷备份,备份的时候需要一个漫长的过程(40G将近六个小时),期间机器需要关闭]

备份方法二:使用vcbMounter备份,vcbRestore恢复。支持热备份。VMware Consolidated Backup是VMware为VMware Virtual Infrastructure新推出的一款备份工具。
 参考: http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!469.entry http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!474.entry http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!480.entry http://www.vmware.cn/Article/1275.html
由于前两天的备份方法的不便,今天测试VMWARE提供vcb命令备份方式。
 1、备份
    a.在Windows2003上:下载VCB,安装VCB, vcbMounter -h esxhost -u backupuser -p password -a ipaddr:192.168.10.1 -r E:\vm-backups\vm1   
         -h: 指定执行命令的ESX HOST 或 VIRTUAL CENTER。
   -u: 执行命令的帐户, 如果-h指定的是ESX, 要用该ESX上的帐户, 如果是VC, 则要用VC上的帐户        -p: 帐户的PASSWORD
   -a: 指定后备的VM, 可以用, IP, FQDN, VM名等
   -r: 指定存放备份IAMGE的目录。 可以在本地或共享存储上
         -M 1: 不分割。
   -F 1: 不压缩。
 由于Windows下可能需要SAN的支持,备份过程中报错,目前没有SAN环境
     b.在ESX中使用Service Console。参数同windows
         vcbMounter -a ipaddr:192.168.10.1 -r /vmfs/volumes/DataStorage1/vm-backups/vm1
    备份成功。注意:在我备份之后恢复发现快照没有了,可能默认备份是压缩造成的。

2、恢复
vcbRestore -s /vmfs/volumes/DataStorage1/vm-backups/vm1 -b overwrite
恢复如果不加参数 -b overwrite会提示是否覆盖。恢复25G左右系统大概用了25分钟。

 问题:vcbRestore恢复时是恢复至原目录下,即原来VM在DataStorage2下,那么恢复也是恢复至原目录。这样,如果将备份转移至其他ESX,可 能目录结构是不一样的。该如何恢复呢?
 解决:(尚未测试) 修改Catalog文件中的 ServerName 和 storagename。有人测试成功了。

在ESX中备份到远程目录
 参考:http://bbs.vmware.cn/thread-13278-1-1.html
 http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!480.entry

1、通过SMB备份到Windows。
    a.连接到Windows共享目录
    1)打开防火墙。必须防火墙不开。打开防火墙 chkconfig iptables on (重启后生效) service iptables start(立即生效)
    2)编辑 /etc/hosts 文件,为 Windows 服务器起个名。这个步骤的原因是 mount 命令只支持主机名,不支持 IP。
    3)如果是临时映射,执行 3a。如果想永久映射(每次重启ESX都自动映射),执行3b。
      3a) mkdir /mnt/software mount -t smbfs -o codepage=936,iocharset=cp936,username=dgsheng,password=123456 //dgsheng/share /mnt/ntserver
       解释: mkdir /mnt/software 是建一个目录,作为映射用。 mount 命令中 dgsheng 是 Windows 的用户名,123456 是 Windows 的密码。dgsheng 是 hosts 文件中的主机名,对应 Windows 服务器 IP 地址。share 是 Windows 服务器上的共享文件夹共享名。
      3b)编辑 /etc/fstab 文件,添加一行: banana/share /mnt/ntserver smbfs codepage=936,iocharset=cp936,username=dgsheng,password=123456 0 0
     备注:使用smbClient测试连接Windows共享 smbclient -L //ip -U dgsheng 查看共享文件夹,注意要用IP,我使用服务器名连接上了但报错。

2、备份 vcbMounter -h host -u username -p password -a ipaddr:192.168.10.101 -r /mnt/ntserver
(测试中)

2006年11月23日

今天看到Web2.0网站推荐:十个很酷的实用网站,介绍了十个实用的Web2.0网站,我只使用过其中的dict,  diglogdodoor三个网站提供的服务,确实是有些寡闻了,这三个使用的感觉体验都挺好的。现在一下看到又这么多类似实用的网站,呵呵,先收起来再赶快试用一番了。

原文:http://www.iresearch.com.cn/html/online_community/detail_news_id_38030.html

1. 365kit.com

  自动更新的通讯录从名字来看,像是365key的姊妹网站,多种方式备份通讯录到服务器,随时取回,通过多种方式查询和管理通讯录。朋友联系方式改变,通讯录会自动更新。能与 Outlook,/Foxmail/手机 中的通讯薄直接同步。

  2.yupoo.com

   个人照片发布、存储、共享平台,影集、个人相册、完全免费、无限容量。照片共享部分很像国外的 Flickr.。

  3.allmoneygomyhome.com

   在线家庭理财及购物指南名字有点长,好像是源于一条著名的手机短信。提供免费的在线家庭账本,详细的收支统计帮助你制定更合适的家庭财务计划,同时可以共享其他用户的消费记录,比如看看你心仪的商品别人以什么样的价格成交等。

  4.diglog.com

   奇客发现 有趣新鲜把有趣、新鲜、实用、好玩的资讯或者链接分享出来,并且采用digg机制进行筛选。用户可以提交发现日志,分享给大家,同时让更多的人访问您的网络日志。

  5.dodoor.cn

  读岛个性化主页类似 live.com 和 Google ig 的个性化浏览器首页,提供RSS订阅、天气预报、收藏夹、音乐盒等功能,较之国外同类网站,预置内容更符合国人口味。遗憾的是,作为游览器首页,访问速度似乎有待提高。

  6.lend.com.cn

   借物网这个网站提供物品租借中介服务,看起来还是蛮有用的,域名也相当不错。你需要先登录几样闲置不用的物品借他人借用,然后你就可以查询和借用别人的物品了。我觉得特别适合二手书刊、音像制品的交流。

  7.ycstar.com

   原创社区网这个网站提供完善的虚拟货币服务,原创作者可以在该网站销售各种原创作品的浏览权或版权,如音乐、小说、flash、DV、动漫等。

  8.123cha.com

  全库网123查IP地址查询、手机号码归属地、邮政编码、身份证号码验证、世界时间、万年历、域名查询等各式各样的查询。

  9.dict.cn

   在线翻译 英汉词典由在美国印第安纳大学的中国留学生创建,提供英汉/汉英词典在线翻译,支持拼写纠正,变形识别,拼音查询,查词历史保存,不重复汉英词条331万,英汉词条169万。可以不装几百M的金山词霸了。

  10.8684.cn

   公交查询“86”代表中国,“84”是bus的谐音,代表巴士,公交的意思。可以查询全国各城市公交线路,连地级市都可以查询到。

2006年11月12日
最近看的几个开源项目的印象

不是专业的评价,就像读书笔记吧:

1、Azureus(http://azureus.sourceforge.net):这是java版的betorrent,最新版本2.4.0.2。从网上直接下载的源代码是没法构建的,所用的库没有在包里面。可以到:http://azureus.cvs.sourceforge.net/azureus/这个地方去找。对我们研究的意义主要在于参考其算法。

2、Shareaza(http://www.shareaza.com/):这是C++版的,他最大特点就是集成了对多个流行P2P文件格式的支持,有了它可以下载电驴、.torrent等,目前版本是2.2.1.0。对: EDonkey2000, Gnutella, BitTorrent 及 Gnutella2 (G2) 都支持,界面也很酷,支持换肤。大家可以直接下载源代码构建(ide环境是.net)。

3、icecast(http://www.icecast.org):给人感觉比较简单,主要实现了对mp3的网络播放,可用于构建网络电台。

4、P2P Networking Theory(http://cis.poly.edu/~ross/p2pTheory/):这是几个大学的一些P2P领域的学者一起搞得,叫:P2P Networking理论,我觉得最大的价值是,在上面可以找到一些论文。

5、theora(http://www.theora.org/):就目前了解来看,他是干了这么一件事情:“Free Video Compression ”即:免费的视频压缩算法,可以下载库文件(c写的),目前支持:“A year after getting import and export support for theora, Cinelerra now has distributed theora encoding support, which makes theora content creation much faster.”即:对分布式编码有支持,这是很有意义的。

6、PeerCast(http://www.peercast.org/):“PeerCast is a simple, free way to listen to radio and watch video on the Internet. It uses P2P technology to let anyone become a broadcaster without the costs of traditional streaming. This means you get to hear and watch stations not normally found on commercially funded sites. ”简单的讲,就是一个p2p的可以用于网络电台的流媒体软件。能够穿越防火墙、Nat等。源代码获取,需要使用“Subversion”(这个东西设计出来是替换cvs的,确实不错,有空研究下,可以到“http://www.subversion.org.cn/svnbook/”看使用说明),地址:svn://peercast.org/peercast/tags(好像要选择下,不然会搞下来好几个版本的代码),也可以找我要。

7、FreeCast(http://www.freecast.org/): “FreeCast is a Java application which allows peer-to-peer streaming. It makes possible a stream broadcast to a large number of listeners from a simple DSL connection.”java编写的P2P在流媒体的应用,下载:http://download.freecast.org/,有源代码,可以研究研究。

8、ActlabTV(http://actlab.tv/):这个页面有介绍http://actlab.tv/technology.htm

9、TrevBus(http://www.trevbus.org):是作者在做工程学位论文时开发的,“Trevbus will enable content streamers and others to pool their unused bandwidth so content streams can be sent to a large audience”。软件需求说明:http://www.trevbus.org/SRS.html,软件设计文档:http://www.trevbus.org/SDD.html,理论基础?:http://www.trevbus.org/thesis.html

10、Stream2Stream(http://s2s.sourceforge.net/):java语言开发的P2P流媒体系统,“Stream-2-Stream implements multicast+, a next generation streaming protocol. Multicast+ is more efficient and requires less bandwidth than direct streaming (e.g. shoutcast/icecast). Stream-2-Stream (abbreviated "s2s" or "S2S") stations have no user limit; stations can be set up without paying a fortune for bandwidth. Stream-2-Stream saves bandwidth by passing streams from one peer to another through multicast and unicast p2p, rather than everyone getting a stream from one central server (Shoutcast/Icecast). ”更多:http://s2s.sourceforge.net/about.php

11、P2Pradio(http://p2p-radio.sourceforge.net):java语言开发的P2P音视频服务和客户端系统,“P2P-Radio can distribute audio streams in the MP3 and Ogg Vorbis formats and video streams in the NSV format over the Internet. This is done in a peer-to-peer way. The broadcaster doesn’t need to send the stream to every single listener, because the listeners distribute it among themselves.”,好像用于学习很不错,好像是学生的一个学期论文。详细介绍:http://p2p-radio.sourceforge.net/about.php.en

12、Nodezilla(http://evl.sourceforge.net) :这是一个由java编写的安全的、分布的并且高容错的路由系统。他的主要目标就是,为分布式应用(聊天、高清晰视频多播、文件共享、安全文件存储)提供底层。目前构建的应用有:Anonymous File sharing, Hierarchical Multimedia Streaming, Digital photo sharing with selected friends, Distributed BitTorrentStore Database, User driven storage/retrieval of objects. 详细请见:http://evl.sourceforge.net/whatis.html#whatis

2006年11月11日

一个收集了些Web代理的网站 http://www.9i7.cn/

在线玩HIPHOP木偶 cool!!!有5种角色可选,用鼠标点击木偶或者用键盘操作,可以记录跳舞过程,保存,.并可以在线交流跳法.  http://www.comcastic.com/

Virtual office 虚拟在线办公 提供的服务也比较多:日历、邮件、短消息服务、文件上传、便条、书签、维基、论坛、聊天……. ……  http://www.contactoffice.com/

想扁人吗,呵呵,到这看看,一个Flash游戏,任你发挥,玩了下,竟然说我还不够野蛮。  http://www.thestuntman.la/   以下引自[http://www.silbo.net/?p=528]秘技:也可以点击以下按键试一试:space bar , A , T , M , Z , P , L , C 具体如何还有新变化,你来发掘吧,每次施暴时间结束后,他就飞走了,怎样才算赢啊!!!

Vyew.com – 网络会议平台 无需下载软件,通过浏览器和朋友共享你的桌面(网络会议平台)。支持DOCs, PPTs, XLSs, JPGs, PDFs等文件 …… link http://www.vyew.com/content/Home

RSS 订阅机器人 skype  http://www.anothr.com/CHN/index.asp 

2006年10月26日

国家开发银行  http://www.cdb.com.cn/web/

中国工商银行 www.icbc.com.cn

江西移动 http://www.jx.chinamobile.com/jxmobile/index.jsp

2006年10月19日
2006年10月06日

窗外月圆,又是一年中秋,去年中秋就如昨日,时间过得真快,明年中秋不知在哪里度过了。今年又没有在家,明年希望能在家过一次中秋了,总有这样或那样的事情,还有就是自己太懒了,中秋国庆时外出的人太多了,就不大愿意出去了。

今年中秋恰逢国庆,今天宿舍只剩下三个同学了,打牌都三缺一。终于耐不住寂寞,商量一下去市里热闹了一下。节日里离不开的主题,吃,大吃了两顿,也算好好度过了一个中秋。今年中秋短信特别多,祝福的话语传递真情。。在这祝愿我认识的和认识我的朋友们中秋快乐,合家幸福。

 

附:中秋小知识

 

中 秋 赏 月
  
每逢中秋来临,赏月谈月便成为人们久谈不衰的话题。

  追溯中秋赏月的来历,据《长安玩月诗序》载:“秋之于时,后夏先冬;八月于秋,季始孟终;十五之夜,又月之中。稽于天道,则寒暑均,取于月数,则蟾魄圆。”也就是说,八月十五在秋季八月中间,故曰:“中秋”。为何人们钟情中秋赏月呢?有诗道:“明月四时有,何事喜中秋?瑶台宝鉴,宜挂玉宇最高头;放出白豪千丈,散作太虚一色。万象入吾眸,星斗避光彩,风露助清幽。”

  从时令上说,中种是“秋收节”,春播夏种的谷物到了秋天就该收获了,自古以来,人们便在这个季节饮酒舞蹈,喜气洋洋地庆祝丰收,这在我国最早的诗歌总集《诗经》中就有描绘。从渊源上说,中秋又是“祭月节”,它源于远古人类对自然的崇拜。古代帝王的礼制中有春秋二祭:春祭日,秋祭月。最初祭月的日子在“秋分”这一天,“秋分”这个季节在八月内每年不同,所以秋分这一天不一定有月亮,祭月无月是大煞风景的,逐渐约定俗成,祭月的日子固定在八月十五日。从科学观察来看,秋季地球与太阳的倾斜度加大,华夏大地上空的暖湿空气逐渐消退,而此时,西北风还很微弱。如此,湿气已去,沙尘未起,空气即显得格外清新,天空特别洁净,月亮看上去既圆又大,是赏月的最佳时节。恰如古诗所云:“光辉皎洁,古今但赏中秋月,寻思岂是月华别?都为人间天上气清澈。”

  民间中秋赏月活动约始魏晋时期,盛于唐宋。据宋朱翌《曲消旧闻》说:’中秋玩月,不知起于何时?考古人赋诗,则始于杜子美。”浏览唐诗,中秋赏月诗确有多篇,如王建有诗云:“月似圆盛色渐凝,玉盆盛水欲侵棱。夜深尽放家人睡,直到天明不炷灯。”徐凝的诗云:“皎皎秋月八月圆,嫦娥端正桂枝鲜;一年无似如今夜,十二峰前看不眠。”

  宋代,民间中秋赏月之风更加兴盛。据《东京梦华录》对北宋京都赏月盛况有这样的描写“中秋夕,贵家结饰台榭,民家争占酒楼,玩月笙歌,远闻千里,嬉我连坐至晓”。《新编醉翁谈录》记载:“倾城人家子女不以贫富能自行至十二三,皆以成人之服服饰之,登楼或于中庭拜月,各有所期:男则愿早步蟾宫,高攀仙桂;女则愿貌似嫦娥,圆如皓月。”

  明清以后,每逢中秋,一轮圆月东升时,人们便在庭院、楼台,摆出月饼、柚子、石榴、芋头、核桃、花生、西爪等果品,边赏月,边畅谈,直到皓月当空,再分食供月果品,其乐融融。在我国的少数民族地区,中秋这一天,还举行别具特色的“拜月”、“闹月”、“行月”、“跳月”、“偷月”等丰富多彩的活动。

  碧空如洗,圆月如盘。人们在尽情赏月之际,会情不自禁地想念远游在外、客居异乡的亲人。因此,中秋节还有“团圆节”之称。许多古诗表达了人们此时的思念之情。唐人殷文圭《八月十五夜》:“万里无云境九洲,最团圆夜是中秋。”王建《十五夜望月寄杜朗中》诗云:“今夜月明人尽望,不知秋思落谁家。”中国人历来把家人团圆、亲友团聚,共享天伦之乐看得极其珍贵,历来有“花好月圆人团聚”之谓。

中秋节又称月夕、秋节、仲秋节、八月节、八月会、追月节、玩月节、拜月节、女儿节或团圆节,是流行于全国众多民族中的传统文化节日,时在农历八月十五;因其恰值三秋之半,故名。据说此夜月球距地球最近,月亮最大显圆最亮,所以从古至今都有饮宴赏月的习俗;回娘家的媳妇是日必返夫家,以寓圆满、吉庆之意。也有些地方将中秋节定在八月十六,如宁波、台州、舟山,这与方国珍占据温、台、明三州时,为防范元朝官兵和朱元田的袭击而改“正月十四为元宵、八月十六为中秋”有关。此外在香港,过了中秋兴犹未尽,还要在十六夜再狂欢一次.名为“追月”。

此主题相关图片如下:
 

中秋起源

中秋节是远古天象崇拜——敬月习俗的遗痕。据《周礼·春官》记载,周代已有“中秋夜迎寒”、“中秋献良裘”、“秋分夕月(拜月)”的活动;汉代,又在中秋或立秋之日敬老、养老,赐以雄粗饼。晋时亦有中秋赏月之举,不过不太普遍;直到唐代将中秋与储娥奔月、吴刚伐桂、玉兔捣药、杨贵妃变月神、唐明皇游月宫等神话故事结合起,使之充满浪漫色彩,玩月之风方才大兴。
北宋,正式定八月十五为中秋节,并出现“小饼如嚼月,中有酥和饴”的节令食品。孟元老《东京梦华录》说:“中秋夜,贵家结饰台榭,民间争占酒楼玩月”;而且“弦重鼎沸,近内延居民,深夜逢闻笙芋之声,宛如云外。间里儿童,连宵婚戏;夜市骈阗,至于通晓。”吴自牧《梦梁录》说:“此际金凤荐爽,玉露生凉,丹桂香飘,银蟾光满。王孙公子,富家巨室,莫不登危楼,临轩玩月,或开广榭,玳筵罗列,琴瑟铿锵,酌酒高歌,以卜竟夕之欢。至如铺席之家,亦登小小月台,安排家宴,团围子女,以酬佳节。虽陋巷贫篓之人,解农市酒,勉强迎欢,不肯虚度。此夜天街卖买,直至五鼓,玩月游人,婆婆于市,至烧不绝。”更有意思的是,《新编醉翁谈录》记述拜月之俗:“倾城人家子女不以贫富能自行至十二三,皆以成人之眼眼饰之,登楼或中庭焚香拜月,各有所朝;男则愿早步蟾宫,高攀仙桂。…女则愿貌似嫦娥,圆如皓月。”
明清两朝的赏月活动,盛行不衰。“其祭果饼必圆”;各家都要设“月光位”,在月出方向“向月供而拜”。陆启泓《北京岁华记》载:“中秋夜,人家各置月宫符象,符上免如人立;陈瓜果于庭,饼面绘月宫蟾免;男女肃拜烧香,旦而焚之。”田汝成《西湖游览志余》云:“是夕,人家有赏月之宴,或携柏湖船,沿游彻晓。苏堤之上,联袂踏歌,无异白日”;“民间以月饼相邀,取团圆之义”。富察敦崇《燕京岁时记》称:“中秋月饼,以前门致美斋者为京都第一,他处不足食也。呈供月月饼到处皆有。大者尺余,上绘月宫蜡兔之形。”“每届中秋,府第朱门皆以月饼果品相馈赠。至十五月圆时,陈瓜果于庭以供月,并祀以毛豆、鸡冠花。是时也,皓魄当空,彩云初散,传杯洗盏,儿女喧哗,真所谓佳节也。唯供月时男子多不叩拜。”同时这五百多年中还推出“烧斗香”、“走月亮”、“放天灯”、“树中秋”、“点塔灯”、“舞火龙”、“曳石”、“卖兔儿爷”等节庆活动;其中的赏月,吃月饼、团圆饭等习俗,一直流传到今天。

此主题相关图片如下:
 

中秋食俗

古时汉族的中秋宴俗,以宫廷最为精雅。如明代宫廷时兴吃螃蟹。螃蟹用蒲包蒸熟后,众人围坐品尝,佐以酒醋。食毕饮苏叶汤,并用之洗手。宴桌区周,摆满鲜花、大石榴以及其他时鲜,演出中秋的神话戏曲。清宫多在某一院内向东放一架屏风,屏风两侧搁置鸡冠花、毛豆技、芋头、花生、萝卜、鲜藕。屏风前设一张八仙桌,上置一个特大的月饼,四周缀满糕点和瓜果。祭月完毕,按皇家人口将月饼切作若干块,每人象征性地尝一口,名曰“吃团圆饼”。清宫月饼之大,令人难以想象。像末代皇帝溥仪赏给总管内务大臣绍英的一个月饼,便是“径约二尺许,重约二十斤”。
我国有二十多个少数民族也过中秋节,但节俗各异。壮族习惯于在河中的竹排房上用米饼拜月,少女在水面放花灯,以测一生的幸福,并演唱优美的《请月姑》民歌。朝鲜族则用木杆和松枝高搭“望月架”,先请老人上架探月,然后点燃望月架,敲长鼓,吹洞萧,一起合跳〈农家乐舞》。仡佬族在节前的“虎日”,全寨合宰一头公牛,将牛心留到中秋夜祭祖灵,迎新谷,他们称为“八月节”。侗族则在这时让青年人郊游、欢会,称为“赶坪节”。第一天是芦笙会,第二天对歌。小伙子都要化妆,向心上人表达情意。傣族是对空鸣放火枪,然后围坐饮酒,品尝狗肉汤锅、猪肉干巴、腌蛋和干黄鳝,谈笑望月。黎族称中秋节为“八月会”或“调声节”。届时各集镇举行歌舞聚会,每村由一“调声头”(即领队)率领男女青年参加。人员江齐后,大家互赠月饼、香糕、甜粑、花巾、彩扇和背心,成群结队,川流不息。入夜便聚集在火旁,烤食野味,痛饮米酒,开展盛大的调声对歌演唱,未婚青年趁机挑寻未来的伴侣。
此主题相关图片如下:
 

中秋与月饼

中秋吃月饼。最先见于苏东坡的“小饼如嚼月,中有酥与饴"之句。唐和五代时赏月的食品只见有“玩月羹”等,未见有月饼。月饼作为一种食品的名称并同中秋赏月联系在一起,始见于南宋的《武林旧事》。明代以来,有关中秋赏月吃月饼的记述就更多了。《宛署杂记》说,每到中秋,百姓们都制作面饼互相赠送,:大小不等,呼为“月饼”。市场店铺里卖的月饼,多用果类作馅子,巧名异状,有的月饼一个要值数百钱。《熙朝乐事》里也说,八月十五日称为中秋,民间以月饼作为礼品互相赠送,取团圆之义。这一天晚上,家家举行赏月助家宴,或者带上装月饼的食盒和酒壶到湖边去通宵游赏。在西湖苏堤上,人们成群结队,载歌载舞。同白天没有两样。从这些记载中,可以看到杭州百姓中秋夜赏月的盛况。
长期以来我国人民对制作月饼积累了丰富的经验,月饼的种类也越来越多,工艺越来越讲究。咸、甜、荤、素各俱异味;光面、花边,各有特色。明末彭蕴章在《幽州土风俗》中写道:“月宫饼,制就银蟾紫府影,一双瞻兔满人间。悔煞嫩娥窃药年。奔入广寒归不得,空劳至杵驻丹颜。”这说明心灵手巧的厨师已经把嫦娥奔月的优美传说,作为食品艺术图案形象再现于月饼之上。清代富察敦崇《燕京岁时记>也有“至供月饼,到处皆有,大者尺余,上绘月宫蟾婚兔之形”的记述。足见古代月饼从内容到形式已是百花齐放了。

此主题相关图片如下:
 

中秋节诗词选
《中秋》
(唐)李朴
皓魄当空宝镜升,云间仙籁寂无声;
平分秋色一轮满,长伴云衢千里明;
狡兔空从弦外落,妖蟆休向眼前生;
灵槎拟约同携手,更待银河彻底清。

《八月十五夜玩月》
(唐)刘禹锡
天将今夜月,一遍洗寰瀛。
暑退九霄净,秋澄万景清。
星辰让光彩,风露发晶英。
能变人间世,攸然是玉京。

《水调歌头》
(宋)苏东坡
丙辰中秋,欢饮达旦。大醉,作此篇,兼怀子由。

明月几时有?把酒问青天。
不知天上宫阙,今夕是何年?
我欲乘风归去,又恐琼楼玉宇,
高处不胜寒!起舞弄清影,何似在人间?
转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。

中秋月
(宋)苏轼
暮云收尽溢清寒,银汉无声转玉盘,
此生此夜不长好,明月明年何处看。

《太常引》
(宋)辛弃疾
一轮秋影转金波,飞镜又重磨。
把酒问姮娥:被白发欺人奈何!
乘风好去,长空万里,
直下看山河。斫去桂婆娑。人道是清光更多。

台湾民谣:
《中秋旅思》
孤影看分雁,千金念弊貂;故乡秋忆月,异国夜惊潮。
手未攀丹桂,以犹卷缘蕉;登楼悲作赋,西望海天遥。

《月夜思乡》
星稀月冷逸银河,万籁无声自啸歌;
何处关山家万里,夜来枨触客愁多。

《煎熬》
夜深沉,明月高挂天正中,寂无声;睡眼朦胧,
恍若梦中;生卧徘徊以不宁,故国家园萦脑中;
苦煎熬,归去成空,如焚王衷。
 

2006年10月02日

 

原文:http://forum.astro.sina.com.cn/cgi-bin/view.cgi?gid=22&fid=273&thread=248602&date=20051023

 

看到这么多写关于狮子座的,我很想说点一自己的感受:有关狮子座的爱

狮子座,一个博爱和充满阳光,能量的星座,其实狮子座的人很向往爱情,他所拥有的爱情有的时候不是真的爱情,或者只是一种向往或者是自己的梦想,说白了就是狮子座的人最爱的是自己,他要让自己发光发热,获得别人的爱和崇敬,在这其中,他能够体会到这种来自他人的关爱而感到愉悦,于是,他就爱上了别人。。。可是,狮子座的我们想想,仔细想想,你真的爱了吗?真的象你说的那样的爱吗?

究其根本,我们爱了,是因为我们爱自己,狮子座的人的自恋程度可以说是十二星座之首,他可以因为别人的崇拜的目光或者是弱势的态度而展现自己的爱和博大胸襟,但是,这不是纯粹的爱;

此外,狮子座的人很喜欢征服感,或者他不爱你,或者还不足够爱你,但是为了一份征服感,他或者会“爱”上你,以证明自己的非凡魅力,当然,狮子座的人很不愿意伤害别人,因为他的内心是善良和充满正义感的,他是重视原则的人,但是,如果他做了伤害别人的事情,即便出于面子他没有说什么,但是其实内心里他会真的好自责好内疚的,虽然别人看不到,但是他的确会好难过。

狮子座的人,无论男女,都很容易陷入一份感情,但是热情来的很快,冷却的速度也快得惊人,我不知道别人是不是这样,我是真的这样的。如果他可以对一份感情持续很长的时间,那么恭喜了,说明你真的很强势很有魅力,足以让他对你死心塌地,否则,狮子座这种内在没有安全感又很敏感的动物,很可能从更有魅力和新鲜的事物上找温暖,因为,狮子座的我们看起来好坚强好阳光好乐观,但是骨子里面的不安感从未消退过,表面的自信只不过是保护自己的盔甲,但并不是很真实。

同时,狮子座的人也可以很绝情,这点我认识所有的狮子座的人也包括我自己都很像,不可能吃回头草,字典里没有“后悔”或者“回头”这两个词,因为狮子座的人很爱面子,自尊心比什么都重要,一旦放弃了或者决定了,就不可能回过头去改变,狮子座的人也很怕被伤害。作为我,宁可错过一份感情,宁可放弃。宁可不要,也不会冒可能会被伤害的危险,因为太不值得,因为狮子座的人太爱自己了。。。

狮子座的人喜欢热闹,但是也很享受孤独,他可以把这两者之间搞得很平衡,他很喜欢跟朋友一起,疯狂的玩闹,成为一个party的主角,但是回到家里,他立马就可以变得异常安静,不喜欢被打扰,他需要自己的空间来思考,如果不给狮子这个空间,对他步步紧逼,那么他一定会抓狂,涞貌豢衫碛鳎够崂肟悖蛭谑ㄗ拥淖值淅铮白杂伞焙汀白晕摇闭饬酱实谋戎丶负跽季萘巳俊?

还有,狮子座的人很喜欢新鲜的,华丽的,有质感的,昂贵的,有品位的东西,他也喜欢朴实,但是却不喜欢无聊和无趣,他害怕一成不变的枯燥,他害怕今天就能预见明天的可能性,他喜欢为止的新鲜有趣的事物,如果你恰好具备了这一点,那么你和狮子座的人很配合。

狮子座的人有两种不同的倾向,一种是很喜欢天然的东西,不喜欢过多的修饰;另一类是很喜欢奢华另类奇特的事物,更多是狮子座是两者兼有,我属于这一种,我讨厌过度无谓的修饰,但是欣赏另类特别和高雅的事物,对于爱人的选择上,可能也会结合这个标准。

狮子座的人很宽容,通常不会因为小事而斤斤计较,他们喜欢展现自己与众不同的仁慈心和获得尊重。对于过往的爱人,狮子座的人很少去探讨是谁的功过是非,无论当时对方有多伤害自己,但是过去了就过去了,狮子座的人不会去诅咒或者怨恨,因为他们喜欢向前看,他们不喜欢做八婆和有损自己高贵形象的事情。狮子座的人相信,只要自己完美和努力,幸福就在前方,更美好的一定在等待着我们!!

呵呵,这是我一个狮子座女孩的心声,或者代表了很多狮子座的兄弟姐妹的心声,大家多多发言阿,哈!!多谢乐!