不得不承认,将动态网页链接rewriting成静态链接是最保险和稳定的面向搜索引擎优化方式 此外随着互联网上的内容以惊人速度的增长也越来越突出了搜索引擎的重要性,如果网站想更好地被搜索引擎收录,网站设计除了面向用户友好(User Friendly)外,搜索引擎友好(Search Engine Friendly)的设计也是非常重要的。进入搜索引擎的页面内容越多,则被用户用不同的关键词找到的几率越大。在Google的算法调查一文中提到一个站点被Google索引页面的数量其实对PageRank也是有一定影响的。由于Google 突出的是整个网络中相对静态的部分(动态网页索引量比较小),链接地址相对固定的静态网页比较适合被Google索引(怪不得很多大网站的邮件列表归档和BLOG按日期归档的文档很容被搜的到),因此很多关于面向搜索引擎 URL设计优化(URI Pretty)的文章中提到了很多利用一定机制将动态网页参数变成像静态网页的形式:比如可以将:http://phpunixman.sourceforge.net/index.php?mode=man¶meter;=ls变成:http://phpunixman.sourceforge.net/index.php/man/ls

实现方式主要有2种:

基于url rewriteIIS的ISAPI REWRITE下载(免费) 基于path_info 把URI地址用作参数传递:URL REWRITE

最简单的是基于各种WEB服务器中的URL重写转向(Rewrite)模块的URL转换:这样几乎可以不修改程序的实现将 news.asp?id=234 这样的链接映射成 news/234.html,从外面看上去和静态链接一样。Apache服务器上有一个模块(非缺省):mod_rewrite:URL REWRITE功能之强大足够写上一本书。

当我需要将将news.asp?id=234的映射成news/234.html时,只需设置:RewriteRule /news/(\d+)\.html /news\.asp\?id=$1 [N,I]这样就把 /news/234.html 这样的请求映射成了 /news.asp?id=234当有对/news/234.html的请求时:web服务器会把实际请求转发给/news.asp?id=234

而在IIS也有相应的REWRITE模块:比如ISAPI REWRITE和IIS REWRITE,语法都是基于正则表达式,因此配置几乎和apache的mod_rewrite是相同的:

比对于某一个简单应用可以是:RewriteRule /news/(\d+)\.html /news/news\.php\?id=$1 [N,I]这样就把 http://www.chedong.com/news/234.html 映射到了 http://www.chedong.com/news/news.php?id=234

一个更通用的能够将所有的动态页面进行参数映射的表达式是:把 http://www.myhost.com/foo.php?a=A&b;=B&c;=C 表现成 http://www.myhost.com/foo.php/a/A/b/B/c/C。RewriteRule (.?\.php)(\?[^/])?/([^/])/([^/])(.+?)?$1(?2$2&:\?)$3=$4?5$5: [N,I]

以下是针对phpBB的一个Apache mod_rewrite配置样例:

RewriteEngine On RewriteRule /forum/topic_(.+)\.html$ /forum/viewtopic.php?t=$1 [L] RewriteRule /forum/forum_(.+)\.html$ /forum/viewforum.php?f=$1 [L] RewriteRule /forum/user_(.+)\.html$ /forum/profile.php?mode=viewprofile&u;=$1 [L] 这样设置后就可以通过topic_1234.html forum_2.html user_34.html这样的链接访问原来的动态页面了。

通过URL REWRITE还有一些好处:mod_rewrite和isapirewrite基本兼容,但是还是有些不同,比如:isapirewrite中"?“需要转义成”\?",mod_rewrite不用,isapirewrite支持 “\d+” (全部数字),mod_rewrite不支持

隐藏后台实现:这在后台应用平台的迁移时非常有用:当从asp迁移到java平台时,对于前台用户来说,根本感受不到后台应用的变化; 简化数据校验:因为像(\d+)这样的参数,可以有效的控制数字的格式甚至位数; 比如我们需要将应用从news.asp?id=234迁移成news.php?query=234时,前台的表现可以一直保持为 news/234.html。从实现应用和前台表现的分离:保持了URL的稳定性,而使用mod_rewrite甚至可以把请求转发到其他后台服务器上。

基于PATH_INFO的URL美化Url美化的另外一个方式就是基于PATH_INFO:PATH_INFO是一个CGI 1.1的标准,经常发现很多跟在CGI后面的"/value_1/value_2"就是PATH_INFO参数:比如:http://phpunixman.sourceforge.net/index.php/man/ls 中:$PATH_INFO = “/man/ls”

PATH_INFO是CGI标准,因此PHP Servlet等都有的支持。比如Servlet中就有request.getPathInfo()方法。注意:/myapp/servlet/Hello/foo的 getPathInfo()返回的是/foo,而/myapp/dir/hello.jsp/foo的getPathInfo()将返回的 /hello.jsp,从这里你也可以知道jsp其实就是一个Servlet的PATH_INFO参数。ASP不支持PATH_INFO PHP中基于PATH_INFO的参数解析的例子如下://注意:参数按"/"分割,第一个参数是空的:从/param1/param2中解析出$param1 $param2这2个参数if ( isset($_SERVER[“PATH_INFO”]) ) { list($nothing, $param1, $param2) = explode(‘/’, $_SERVER[“PATH_INFO”]);}

如何隐蔽应用:例如 .php,的扩展名:在APACHE中这样配置: ForceType application/x-httpd-php

如何更像静态页面:app_name/my/app.html解析的PATH_INFO参数的时候,把最后一个参数的最后5个字符".html"截断即可。注意:APACHE2中缺省是不允许PATH_INFO的,需要设置 AcceptPathInfo on

特别是针对使用虚拟主机用户,无权安装和配置mod_rewrite的时候,PATH_INFO往往就成了唯一的选择。

OK,这样以后看见类似于http://www.example.com/article/234这样的网页你就知道可能是 article/show.php?id=234这个php程序生成的动态网页,很多站点表面看上去可能有很多静态目录,其实很有可能都是使用1,2个程序实现的内容发布。比如很多WIKIWIKI系统都使用了这个机制:整个系统就一个简单的wiki程序,而看上去的目录其实都是这个应用拿后面的地址作为参数的查询结果。

利用基于MOD_REWRITE/PATH_INFO + CACHE服务器的解决方案对原有的动态发布系统进行改造,也可以大大降低旧有系统升级到新的内容管理系统的成本。并且方便了搜索引擎收录入索引。

附:如何在IIS上利用PHP支持PATH_INFOPHP的ISAPI模式安装备忘:只试成 php-4.2.3-Win32

解包目录========php-4.2.3-Win32.zip c:\php

PHP.INI初始化文件=================复制:c:\php\php.ini-dist 到 c:\winnt\php.ini

配置文件关联============按照install.txt中的说明配置文件关联

运行库文件==========复制 c:\php\php4ts.dll 到 c:\winnt\system32\php4ts.dll

这样运行后:会发现php把PATH_INFO映射到了物理路径上Warning: Unknown(C:\CheDong\Downloads\ariadne\www\test.php\path): failed to create stream: No such file or directory in Unknown on line 0

Warning: Unknown(): Failed opening ‘C:\CheDong\Downloads\ariadne\www\test.php\path’ for inclusion (include_path=‘.;c:\php4\pear’) in Unknown on line 0

安装ariadne的PATCH==================停止IIS服务net stop iisadminftp://ftp.muze.nl/pub/ariadne/win/iis/php-4.2.3/php4isapi.dll覆盖原有的c:\php\sapi\php4isapi.dll

注:ariadne是一个基于PATH_INFO的内容发布系统,PHP 4.3.2 RC2中CGI模式的PATH_INFO已经修正,照常安装即可。

参考资料:URL Rewrite文档:ISAPI REWRITE文档IIS的ISAPI REWRITE下载(免费)http://httpd.apache.org/docs/mod/mod_rewrite. htmlhttp://httpd.apache.org/docs-2.0/mod/mod_rewrite.html

搜索引擎友好的URL设计http://www.sitepoint.com/article/485说不定这个URL原来就是articel.php?id=485

一个基于PATH_INFO的开源内容管理系统http://typo3.com/

Google的PageRank算法说明:http://pr.efactory.de/

humen1 Tech

像自带sendmail一样,freeBSD在系统安装时自带了ftp,这就是freeBSD的ftpd进程,默认以inetd方式运行,你只要在/etc/inetd.conf里如下设置:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
并在/etc/rc.conf里设置:
inetd_enable=“YES”
这样ftpd就能顺畅运行。
但是如果你的ftp运行很繁忙,用inetd方式运行ftp势必影响效率和性能,此时建议你以独立方式运行freeBSD的ftpd,方法很简单,如下:
在/etc/inetd.conf里注释掉以上两句,用如下方式启动:
#/usr/libexec/ftpd -D
ftpd的参数比较多常用的如下:
-A: 只允许匿名登录;
-M: 不允许匿名创建目录;
-m: 赋予匿名修改,覆盖等权限;
更多参数请man ftpd.
ftpd的相关设置文件:
/etc/ftpusers List of unwelcome/restricted users.
/etc/ftpchroot List of normal users who should be chroot’d.
/etc/ftphosts Virtual hosting configuration file.
/etc/ftpwelcome Welcome notice.
/etc/ftpmotd Welcome notice after login.
/var/run/nologin Displayed and access refused.
/var/log/ftpd Log file for anonymous transfers.
/var/log/xferlog Default place for session logs.

humen1 Tech

完整搜索顺序是:(*为接口名)

/etc/sysconfig/networking/profiles/default/ifcfg-*
/etc/sysconfig/networking/profiles/default/*
/etc/sysconfig/networking/default/ifcfg-*
/etc/sysconfig/networking/default/*
/etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/*

从上往下,找到任何一个就忽略其他。具体某人的机器这些配置放在哪里?是由你运行的网络接口配置程序决定的(linux有N多网络配置程序,像早些的netconf,netconfig,ifconfig,现在的X中gnome的配置程序,kde也有,redhat有个专用的redhat-config-network),程序作者想把它们放在哪里就是哪里,但一定是上面的范围。

humen1 Tech

1./etc/sysconfig/mouse
  MOUSETYPE=“ps/2”
  XMOUSETYPE=“PS/2”
  FULLNAME=“Generic 3 Button Mouse (PS/2)”
  XEMU3=no
  
  2. /etc/sysconfig/network 网络配置文件
  NETWORKING=yes #肯定是YES,不用网络有必要使用LINUX吗?
  FORWARD_IPV4=no #IPV4转发,当你的机器作路由器时将此项设为yes
  HOSTNAME=helius.dlut.edu.cn
  #主机名
  GATEWAY=202.118.66.1
  #默认网关(路由器)
  GATEWAYDEV=eth0 #与默认网关在同一物理网上的网卡逻辑设备名
  #对于大多数用户应该是eth0,除非你的机器作路由或有两块以上网卡
  
  3./etc/sysconfig/soundcard
  # THIS FILE IS WRITTEN BY SNDCONFIG
  # PLEASE USE SNDCONFIG TO MODIFY
  # TO CHANGE THIS FILE!
  # There should be no spaces at the start of a line
  # or around the ‘=’ sign
  CARDTYPE=SB32
  
  4. /etc/sysconfig/sendmail
  sendmail启动参数,具体参数请参考系统启动文件、sendmail文档及FAQ,示例文件内容如下:
  
  DAEMON=yes
  QUEUE=1h
  
  5. /etc/sysconfig/static-routes
  静态路由表配置文件,可使用linuxconf或control-pannel配置并生成此文件,格式如下:
  
  网卡逻辑设备名 传送给route命令的参数(不带add)
  
  示例文件格式如下:
  
  eth0 net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16
  eth0 net 202.118.65.0 netmask 255.255.255.0 gw 202.118.66.13
  eth0 net 202.199.128.0 netmask 255.255.240.0 gw 202.118.66.253
  
  6. /etc/sysconfig/pcmcia
  PCMCIA卡配置文件,台式机上不用配置此文件,示例文件内容如下:
  
  PCMCIA=no
  PCIC=
  PCIC_OPTS=
  CORE_OPTS=
  
  
  6. /etc/sysconfig/network-scripts/* 网络配置启动文件及参数配置
  
  ifcfg-* 相应网络接口网络配置,如eth0对应文件ifcfg-eth0,内容如下:
  #以后为注释,配置文件中不用加
  
  文件ifcfg-eth0
  
  DEVICE=eth0 #此设备名一定要和文件名中的设备名对应,如ifcfg-eth1文件中此
  #设备名为eth1
  IPADDR=202.118.66.81 #IP地址
  NETMASK= 255.255.255.0 #网络屏蔽位,通常为255.255.255.0
  NETWORK=202.118.66.0 #网络地址,在网络屏蔽位是255.255.255.0时将IP地址最后
  #一位设为0即可
  BROADCAST=202.118.66.255#广播地址,在网络屏蔽位是255.255.255.0时将IP地址最后
  #一位设为255即可
  ONBOOT=yes
  BOOTPROTO=none
  
  此目录下除ifcfg-之外,还有ifup-,ifdown-*等文件,对于大多数用户而言,这
  些文件不用修改。
  
  
  7. /etc/conf.modules
  此文件为内核模块配置文件,系统在启动时从此文件中读取网卡、声卡等设备的配置,
  具体说明请参考/usr/doc/HOWTO/下相应的说明文档。
  
  示例文件内容如下:
  
  alias eth0 tulip
  alias sound sb
  options opl3 io=0x388
  alias midi awe_wave
  post-install awe_wave /usr/bin/sfxload /etc/midi/GU11-ROM.SF2
  options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330

humen1 Tech

配置文件是Red Hat Linux管理的一个主要内容.为特定计算机进行的设置,包括用户帐号,网络地址或GUI属性,都保存在纯文本中.
  一般情况下,Red Hat Linux系统的配置文件被保存在几个地方,下面是几个主要的地方:
  
  1.$HOME:所有的用户都把信息保存在他们的主目录下,该目录可指导他们的登录帐号操作.大多数的配置文件都用圆点(.)开始,因次使用标准的ls命令(需要键入ls -a查看它), 配置文件不出现在用户的目录中.有定义用户shell行为,桌面外观以及文本编辑器使用的选项的圆点文件,甚至有为每个用户配置网络权限的文件(如.rhosts).
  
  2./etc:这个地方包括许多最基本的Red Hat Linux系统配置文件,这些文件包括:
  
  (1)aliases:可以包含由Red Hat Linux邮件服务使用的分布表.
  (2)bashrc:为bash shell用户设置系统默认值(默认情况下,它可以设置shell提示符,包括当前的用户名,主机名以及当前的目录).
  (3)crontab:为运行自动任务设置cron环境和次数.
  (4)csh.cshrc(或cshrc):为csh(C shell)用户设置系统默认值.
  (5)exports:包含一些本地目录列表,远程计算机可以使用Network File System(网络文件系统,简称NFS)共享这些目录.
  (6)fdprm:设置供通用软盘格式使用的参数.
  (7)fstab:识别共用存储媒体用的设备(硬盘,软盘以及光驱)以 及在Linux系统中安装它们的位置.使用mount命令选择要安装哪个文件系统.
  (8)gettydefs:包含终端设备(调制解调器,终端以及在终端设备上的远程登录)使用的线行定义.
  (9)group:识别定义在系统上的分组名以及分组ID(GID).Linux中的分组权限由与每个文件以及目录关联的rwx(读,写,执行)三个设置中的第二个来定义.
  (10)host.conf:设置在TCP/IP网络(如 Internet)上用于搜索域名(如 redhat.com)的位置.默认情况下,搜索本地主文件,然后是resolv.conf中的名字服务器项.
  (11)hosts:包含可以从计算机中搜索到的IP地址和主机名(通常该文件仅用于保存LAN活更大的私人网络上的计算机名).
  (12)host.allow:列出允许在本地计算机上使用TCP/IP服务的主计算机.
  (13)host.deny:列出不允许本地计算机上使用TCP/IP服务的主计算机.
  (14)xinetd.conf:包含daemon过程中用到的一些简单配置信息.单个服务器的信息都会被放在/etc/xinetd.d目录中.
  (15)info-dir:包含info命令可用信息的标题.
  (16)inittab:包含确认哪些程序启动和结束的信息.
  (17)issue:包含一些登录信息行,这些登录信息行是在终端准备好允许你从本地终端或也文本模式下的控制台中登录到linux时所显示的.
  (18)issue.net:包含用户使用telnet服务从网络的计算机上登录到Linux系统上所显示出的登录信息行.
  (19)lilo.conf:设置linux启动加载器(lilo)使用的各种参数来启动Linux系统.
  (20)mail.rc:设置与使用邮件相关的系统参数.
  (21)man.config:man命令用来确认man页面位置的默认路径的文件.
  (22)mtab:包含当前安装的文件系统列表.
  (23)passwd:为系统的所有合法用户保存帐号信息;也包含其他信息,如主目录和默认shell.
  (24)profile:设置所有用户使用的系统环境和启动程序,当有用户登录时读取这个文件.
  (25)printcap:包含打印机配置的定义信息.
  (26)protocols:设置各种Internet服务用的协议编号和名字.
  (27)redhat-release:包含识别当前Red Hat 版本号的字符串.
  (28)resolv.conf:识别DNS名字服务器计算机的位置,TCP/IP用该计算机把Internet host.domain名转换成IP地址.
  (29)rpc:定义远程过程调用名和编号.
  (30)rpmfind:包含rpmfind命令所使用配置信息,rpmfind在Internet上搜索RPM软件包的.
  (31)services:定义TCP/IP服务以及它们的端口分配.
  (32)shadow:包含定义在passwd文件中的加密口令.
  (33)shells:列出可用在系统上的shell命令行解释器(bash,sh,csh等).
  (34)syslog.conf:定义daemon产生的登录信息以及它们被保存在什么文件中.(一般说来,登录信息被保存在/var/log目录下的文件中).
  (35)termcap:列出供字符终端使用的定义,这样基于字符的应用程序就可以知道给出的终端支持哪些特性.
  (36)php.ini:Linux系统上的PHP配置文件.
  (37)ftpaccess:wu-ftp服务器的访问配置文件.
  (38)vsftpd.conf:vsftp服务的配置文件.
  3./etc/X11:包含子目录,而每个子目录又包含RedHat Linux上可用的X以及不同X Window管理程序使用的系统配置文件.XF86Config文件以及配置包含使用xdm以及xinit启动X的文件目录.
  
  4./etc/corn*:这是一组包含定义crond工具运行应用程序文件的目录,运行按每天,每小时,每月和每周来安排.
  
  5./etc/default:包含为各种工具设置默认值的文件.例如,useradd命令所用的文件定义了在创建新用户帐号时说用到的默认分组数,主目录,口令截止日期,shell以及框架目录(/etc/skel).
  
  6./etc/httpd:包含用于配置Apache服务器的文件.
  
  7./etc/init.d:包含运行脚本的永久拷贝.这些脚本与/etc/rc?.d目录中的文件链接.
  
  8./etc/pcmcia:包含使你为计算机配置各种PCMCIA卡的配置文件.
  
  9./etc/ppp:包含用于设置Point-to-Point协议的配置文件(以便使你的计算机能用拨号方式上网).
  
  10./etc/rc?.d:包含几个子目录,每个子目录又包含在系统启动,关闭以及系统状态修改期间直接使程序启动和停止的配置文件.
  
  11./etc/security:包含设置计算机使用的各种默认安全条件的文件.
  
  12./etc/skel:当某个用户增加到系统中时,包含在该目录下的任何文件就被自动复制到该用户的主目录中.
  
  13./etc/xinetd.d:包含一组文件,每个文件定义xinetd守护进程的特殊端口等待的网络服务程序.当xinetd守护进程过程接受请求服务程序时,它使用这些文件的信息来确定用来处理请求的守护程序.

humen1 Tech

使用 Linux 和 SAMBA替代Windows NT/2000 服务器

摘要:

这一篇文章提供了以前LinuxFocus 文章关于SAMBA用于在Unix-Windows异构网络共享资源的方案。 特别地,它集中在使用SAMBA运行Windows提供的服务。
这不仅是因为Linux强大灵活,还更出于经济考虑的结果:

* 极大的节省了购买Windows服务器的许可证费用。
* 要达到相似的性能表现,Linux比Windows使用更少的硬件资源(也就是处理器和内存了)。

一个运行SAMBA配置恰当的Linux服务器可以替代Windows NT/2000服务器, 它一般能共享目录, 提供活动目录服务(active directory service ,ADS) 但是它可以做为主域控制器(Primary Domain Controller, PDC), 进行 Windows 2000/NT/98/95 作为客户机的用户认证 ,共享资源(目录和打印机) 和定制用户会话。
这篇文章主要集中到这些方面。

许多的计算机环境都以Windows 服务器提供的功能为基础,装有SAMBA的Linux 服务器会在不改变客户机的情况下,替代所有基于Windows系统提供的功能。
以下的要讨论的步骤假定:SAMBA已经安装并且运行正确的机器将被用做服务器。读者需要 Linux和Windows服务器的基本的知识。

案例学习

考虑Linux/Samba 服务器作为主域控制器(PDC), 每个认证过的用户进入 两种共享的目录,一个是公共空间,一个是私人空间。在这篇文章里,讨论一种进 入私人数据空间的极为常见的情况,就是每个用户有一个个人的目录。

要考虑的细节:

Linux/Samba NetBIOS 名字:SMBServer
Windows 域名(工作组): THEDOMAIN
每个用户的私人分区: H: (Windows) => /home/ (Linux server)
公共分区: P: (Windows) => /home/public

图 1 显示了一个简单的网络示意图,客户机运行Windows系统,使用 Windows NT/2000服务器提供的资源和服务。 这个服务器能被 Linux/SAMBA服务器替代。

Fig. 1 � 在Windows服务器上运行的主域控制器和 文件服务器

配置

遵循以下步骤:

  1. 创建要在主域服务器(Linux/Samba)待认证的用户。
    使用adduser 命令, useradd 或 userconf, 你可以使用一些用户管理的工具,也可以 是带有图形界面的(Webmin,Linuxconf,Yast等).

需要确认如果用户只进入Linux/Samba服务(如果你想), 这就是说用户不必进入Linux命令行,这样的话只有把home目录设成/dev/null ,命令行设成/bin/false。

  1. 把UNIX用户转换成Linux/Samba/Windows用户,生成smbpasswd 文件。

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

另一个方法是,执行一下的SAMBA命令来创建用户和定义密码:

smbadduser
smbpasswd

这些命令和adduser与passwd一样有类似的作用。

  1. 编辑SAMBA的配置文件(smb.conf), 你要确定加入或减去下列标有comment的可选项:

netbios name = SMBServer
workgroup = THEDOMAIN
server string = Linux Samba NT Server
log file = /var/log/samba/%m.log
max log file = 0
security = user
encrypt password = yes
smb password file = /etc/samba/smbpasswd
ssl CA certificate = /usr/share/ssl/… (cancel comment)
socket options = (cancel comment)
local master = yes
preferred master = yes
domain master = yes
domain logons = yes
logon script = logon.bat
wins support = yes

注意:
做为每一个用户的特有的登陆(login), 需要使用"%U.bat"文件替换 原先的"登陆描述"(login script)。这样每一个用户都有一个的带有自 己用户名的"登陆描述", %u 也是可以使用的. 如果你想定义用户属于 那个组,你可以使用 %g或%G,这些参数和其他参数的定义可以在手册 中找到。(man smb.conf)

  1. 创建共享资源
    编辑smb.conf 文件 并注释所有的"共享"的例子,加入以下 的信息,如果没有必要的话,不用更改:

[netlogon]
comment = Initialization Scripts
path = /home/netlogon
read only = yes
guest ok = yes
browseable = no

[home]
comment = User Directory
path = /home/%U
browseable = yes
writable = yes

[public]
comment = Public Directory
path = /home/public
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
force create mask = 0777

保存smb.conf 文件。

  1. 你可以使用如下的命令来验证smb.conf是否正确:

testparm

这些命令分析smb.conf 文件并报告发现的错误。

  1. 分别使用权限0754和0777 创建/home/netlogon 和/home/public目录。

  2. 编辑logon描述文件logon.bat。
    重要提示: 使用DOS/Windows文字编辑器 (比如Notepad或Edit)来创建logon.bat文件 (所以保存的文本文件是微软兼容的形式),你也可以在Linux上做这件事但是你必须转换成正确的文本形式。 你可以使用比如 Vim的命令":set textmode"得到有微软行结尾符的文件。

net time SMBServer /y (you can also use: /yes instead of /y )
net use H: SMBServerhome -y (you can also use: /yes or /y instead of -y )
net use P: SMBServerpublic -y

  1. 加入SMBServer信息到lmhosts文件中。
    编辑/etc/samba/lmhosts 文件后 /etc/lmhosts)文件并且 加入关于SMBServer信息的一行。

SMB服务器, 比如: 192.168.0.10 SMBServer

  1. 重启动SAMBA的后台程序(smbd)。

service smb restart

如果在你的Linux版本中上面的命令不工作,你可以使用如下命令:
ps -auxgx | grep smb
kill -9
smbd

  1. 使用smbclient来验证以上的配置是正确的。

smbclient -L //SMBServer

如果"Password:“显示出来, 按"Enter” 键,服务器的共享的 资源会显示出来。

  1. 使用Windows 95/98/NT 计算机在域THEDOMAIN中进行客户登陆, 使用Linux/Samba创建的用户(看步骤1和2)。

在95/98/ME中, 配置可以按照一下的顺序:

开始 => 设置 => 控制面板=> 网络 =>微软网络客户 => 属性。

Windows NT/2000(工作站/专业版)中也是类似的用法, 可能顺序不是一样。

单击选项"Start session in Windows NT/2000 domain" 并写下域名 THEDOMAIN (WORKGROUP)。

一个配置文件的实例

一个完整的SAMBA配置文件罗列如下,这个文件在不通的Linux分发版本中测试通过。 读者可以修改它以达到自己想要的结果。其中每条指令都被恰当的注释。

最后,给那些

FlashMediaServer安装篇
1、下载fms2安装程序,点击下载
http://www.flashcom.com.cn/tools/FlashMediaServer2.tar.gz
2、安装:

tar zxvf FlashMediaServer2.tar.gz

cd FMS_2_0_1_r27_linux

./installFMS -platformWarnOnly

说明:-platformWarnOnly,忽略安装平台,因为有些系统会安装不了,所以这个一定要加上。执行安装程序后会有些类似于同意条款之类的东西,直接ctrl+c就得,然后需要填写一些配置,一般默认就可以,我填的是这样的:

Installation directory         = /opt/macromedia/fms //安装目录

FMS Server Port                = 1935  //服务端口
FMS Admin Server Port          = 1111 //管理端口

Administrative username        = yingzi //管理员

Administrative password        = (suppressed) //管理员密码

FMS owner                      = root

FMS service user               = root

FMS service user group         = root

FMS run as daemon              = Yes
Start FMS                      = Yes

3、启动和停止

启动:

./fmsmgr server fms start

./fmsmgr adminserver start

停止:

./fmsmgr server fms stop

./fmsmgr adminserver stop

humen1 Tech

Apache包含了mod_proxy模块,可以用来实现代理服务器,针对后台服务器的反向加速
  安装apache 1.3.x 编译时:
  --enable-shared=max --enable-module=most
  注:Apache 2.x中mod_proxy已经被分离成mod_proxy和mod_cache:同时mod_cache有基于文件和基于内存的不同实现
  创建/var/www/proxy,设置apache服务所用户可写
  mod_proxy配置样例:反相代理缓存+缓存
  架设前台的www.example.com反向代理后台的www.backend.com的8080端口服务。
  修改:httpd.conf
  
  ServerName www.example.com
  ServerAdmin [email protected]
  # reverse proxy setting
  ProxyPass / http://www.backend.com:8080/
  ProxyPassReverse / http://www.backend.com:8080/
  # cache dir root
  CacheRoot “/var/www/proxy”
  # max cache storage
  CacheSize 50000000
  # hour: every 4 hour
  CacheGcInterval 4 bitsCN_com
  # max page expire time: hour
  CacheMaxExpire 240
  # Expire time = (now - last_modified) * CacheLastModifiedFactor
  CacheLastModifiedFactor 0.1
  # defalt expire tag: hour
  CacheDefaultExpire 1
  # force complete after precent of content retrived: 60-90%
  CacheForceCompletion 80
  CustomLog /usr/local/apache/logs/dev_access_log combined
  
  
  基于Squid的反向代理加速实现
  Squid是一个更专用的代理服务器,性能和效率会比Apache的mod_proxy高很多。
  如果需要combined格式日志补丁:
   http://www.squid-cache.org/mail-archive/squid-dev/200301/0164.html
  squid的编译:
  ./configure --enable-useragent-log --enable-referer-log --enable-default-err-language=Simplify_Chinese --enable-err-languages=“Simplify_Chinese English” --disable-internal-dns 
  make
  #make install
  #cd /usr/local/squid
  make dir cache
  chown squid.squid *
  vi /usr/local/squid/etc/squid.conf 中国网管论坛
  在/etc/hosts中:加入内部的DNS解析,比如:
   192.168.0.4 [url]www.chedong.com[/url]
  192.168.0.4 news.chedong.com
  192.168.0.3 bbs.chedong.com
  ---------------------cut here----------------------------------
  # visible name
  visible_hostname cache.example.com
  # cache config: space use 1G and memory use 256M
  cache_dir ufs /usr/local/squid/cache 1024 16 256
  cache_mem 256 MB
  cache_effective_user squid
  cache_effective_group squid
  
  http_port 80
  httpd_accel_host virtual
  httpd_accel_single_host off
  httpd_accel_port 80
  httpd_accel_uses_host_header on
  httpd_accel_with_proxy on
  # accelerater my domain only
  acl acceleratedHostA dstdomain .example1.com
  acl acceleratedHostB dstdomain .example2.com
  acl acceleratedHostC dstdomain .example3.com
  # accelerater http protocol on port 80
  acl acceleratedProtocol protocol HTTP
  acl acceleratedPort port 80
  # access arc 中国网管联盟
  acl all src 0.0.0.0/0.0.0.0
  # Allow requests when they are to the accelerated machine AND to the
  # right port with right protocol
  http_access allow acceleratedProtocol acceleratedPort acceleratedHostA
  http_access allow acceleratedProtocol acceleratedPort acceleratedHostB
  http_access allow acceleratedProtocol acceleratedPort acceleratedHostC
  # logging
  emulate_httpd_log on
  cache_store_log none
  # manager
  acl manager proto cache_object
  http_access allow manager all
  cachemgr_passwd pass all
  
  ----------------------cut here---------------------------------
  创建缓存目录:
  /usr/local/squid/sbin/squid -z
  启动squid
  /usr/local/squid/sbin/squid
  停止squid:
  /usr/local/squid/sbin/squid -k shutdown
  启用新配置:
  /usr/local/squid/sbin/squid -k reconfig
  通过crontab每天0点截断/轮循日志:
  0 0 * * * (/usr/local/squid/sbin/squid -k rotate)
  
  附:SQUID性能测试试验

bitscn.com

phpMan.php是一个基于php的man page server,每个man
  page需要调用后台的man命令和很多页面格式化工具,系统负载比较高,提供了Cache
  Friendly的URL,以下是针对同样的页面的性能测试资料:
  测试环境:Redhat 8 on Cyrix 266 / 192M Mem
  测试程序:使用apache的ab(apache benchmark):
  测试条件:请求50次,并发50个连接
  测试项目:直接通过apache 1.3 (80端口) vs squid 2.5(8000端口:加速80端口)
  
  测试1:无CACHE的80端口动态输出:
  ab -n 100 -c 10 [url]http://www.chedong.com:81/phpMan.php/man/kill/1\[/url\]
  This is ApacheBench, Version 1.3d <$Revision: 1.2 $> apache-1.3
  Copyright © 1996 Adam Twiss, Zeus Technology Ltd,
  [url]http://www.zeustech.net/\[/url\]
  Copyright © 1998-2001 The Apache Group, [url]http://www.apache.org/\[/url\]
  
  Benchmarking localhost (be patient)…done
  Server Software:   
  Apache/1.3.23                  
  Server Hostname:    localhost
  Server
  Port:      BBS.bitsCN.com网管论坛
  80
  
  Document Path:    
  /phpMan.php/man/kill/1
  Document Length:    4655 bytes
  
  Concurrency Level:   5
  Time taken for tests:  63.164 seconds
  Complete requests:   50
  Failed requests:    0
  Broken pipe errors:   0
  Total transferred:   245900 bytes
  HTML transferred:    232750 bytes
  Requests per second:  0.79 [#/sec] (mean)
  Time per request:    6316.40 [ms]
  (mean)
  Time per request:    1263.28 [ms]
  (mean, across all concurrent requests)
  Transfer rate:    
  3.89 [Kbytes/sec] received
  
  Connnection Times (ms)
        
  min mean[+/-sd] median  max
  Connect:    0 
  29 106.1   0  553
  Processing: 2942 6016
  1845.4  6227 10796
  
  Waiting:  
  2941 5999 1850.7  6226 10795
  
  Total:   
  2942 6045 1825.9  6227 10796
  
  Percentage of the requests served within a certain time (ms)

bitsCN.Com

50%  6227
   66%  706 9
   75%  7190
   80%  7474
   90%  8195
   95%  8898
   98%  9721
   99% 10796
  100% 10796 (last request)
  
  测试2:SQUID缓存输出
  /home/apache/bin/ab -n50 -c5
  “http://localhost:8000/phpMan.php/man/kill/1
  This is ApacheBench, Version 1.3d <$Revision: 1.2 $> apache-1.3
  Copyright © 1996 Adam Twiss, Zeus Technology Ltd,
  [url]http://www.zeustech.net/\[/url\]
  Copyright © 1998-2001 The Apache Group, [url]http://www.apache.org/\[/url\]
  
  Benchmarking localhost (be patient)…done
  Server Software:   
  Apache/1.3.23                  
  Server Hostname:    localhost
  Server
  Port:     
  8000
  
  Document Path:    
  /phpMan.php/man/kill/1
  Document Length:    4655 bytes
  
  Concurrency Level:   5
  Time taken for tests:  4.265 seconds
  Complete requests:   50

bitsCN.nET中国网管博客

Failed requests:    0
  Broken pipe errors:   0
  Total transferred:   248043 bytes
  HTML transferred:    232750 bytes
  Requests per second:  11.72 [#/sec] (mean)
  Time per request:    426.50 [ms] (mean)
  Time per request:    85.30 [ms] (mean,
  across all concurrent requests)
  Transfer rate:    
  58.16 [Kbytes/sec] received
  
  Connnection Times (ms)
        
  min mean[+/-sd] median  max
  Connect:   
  0   1 
  9.5   0  68
  Processing:  
  7  83 537.4  
  7 3808
  
  Waiting:   
  5  81 529.1  
  6 3748
  
  Total:    
  7  84 547.0  
  7 3876
  
  Perce

humen1 Tech

在"开始→运行"中键入"regedit.exe",打开"注册表编辑器",展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services",在右侧窗格中显示的就是本机安装的服务项。可以直接删

humen1 Tech

0%