找回密码
 加入我们
搜索
热搜: 活动 交友 discuz
查看: 1679|回复: 7

网络技术常识资料收集

[复制链接]
发表于 2005-2-15 12:55:15 | 显示全部楼层 |阅读模式
1\全国各地DNS列表

省份 ( 城市 ) DNS 名称 DNS IP ADDRESS
香港 ns1.netvigator.com 205.252.144.228
澳门 vassun2.macau.ctm.net 202.175.3.8
深圳 ns.shenzhen.gd.cn 202.96.134.133
202.96.154.8 /202.96.154.15
北京 ns.bta.net.cn 202.96.0.133
ns.spt.net.cn 202.96.199.133
ns.cn.net 202.97.16.195
202.106.0.20/202.106.148.1
广东 ns.guangzhou.gd.cn 202.96.128.143
dns.guangzhou.gd.cn 202.96.128.68
上海 ns.sta.net.cn 202.96.199.132/202.96.199.133 /202.96.199.133
浙江 dns.zj.cninfo.net 202.96.102.3/202.96.96.68/202.96.104.18
陕西 ns.snnic.com 202.100.13.11
天津 ns.tpt.net.cn 202.99.96.68
辽宁 ns.dcb.ln.cn 202.96.75.68
江苏 pub.jsinfo.net 202.102.29.3
四川 ns.sc.cninfo.net 61.139.2.69
河北 ns.hesjptt.net.cn 202.99.160.68
山西 ns.sxyzptt.net.cn 202.99.198.6
吉林 ns.jlccptt.net.cn 202.98.0.68
山东 202.102.152.3/202.102.128.68
福建 dns.fz.fj.cn 202.101.98.55
湖南 202.103.100.206
广西 202.103.224.68    202.103.225.68
江西 202.109.129.2/202.101.224.68/202.101.240.36
云南 ns.ynkmptt.net.cn 202.98.160.68
重庆 61.128.128.68
河南: 202.102.227.68/202.102.224.68/202.102.245.12
新疆: 61.128.97.73/61.128.97.74
保定: 202.99.160.68 /202.99.166.4
武汉: 202.103.24.68 /202.103.0.117
西安: 202.100.4.15 /202.100.0.68
成都: 202.98.96.68 /202.98.96.69
重庆: 61.128.192.4
乌鲁木齐: 61.128.97.73  
厦门:202.101.103.55
 楼主| 发表于 2005-2-15 13:02:38 | 显示全部楼层

4\jscript错误代码及相应解释大全

JScript 语法错误
JScript 语法错误是指当 JScript 语句违反了 JScript 脚本语言的一条或多条语法规则时导致的错误。JScript 语法错误发生在程序编译阶段,在开始运行该程序之前。(错误发生在开发过程中),以下是32个语法错误
错误号 描述

十进制     十六进制       说明

1001        800A03E9        内存不足

1002         800A03EA        语法错误
1003        800A03EB        需要“:”
1004         800A03EC        需要“;”
1005        800A03ED        需要“(”
1006        800A03EE        需要“)”

1007        800A03EF        需要“]”
1008        800A03F0        需要“{”
1009        800A03F1        需要“}”
1010        800A03F2        需要标识符
1011            800A03F3        需要“=”
1012        800A03F4        需要“/”
1013        800A03F5        无效数

1014        800A03F6        非法字符
1015        800A03F7        字符串常数未结束

1016        800A03F8        注释未结束
1018        800A03FA        函数外有 ’return’ 语句
1019        800A03FB        在循环外不能有“break”
1020        800A03FC        在循环外不能有“continue”

1023        800A03FF        需要十六进制数
1024        800A0400       需要“while”
1025        800A0401       标签定义重复
1026        800A0402       未找到标签
1027        800A0403       一条 tch” 语句中只能有一个 “default”
1028        800A0404       需要标识符、字符串或者数字
1029        800A0405       需要“@end”
1030        800A0406       条件编译已关闭

1031        800A0407       需要常数
1032        800A0408       需要“@”
1033        800A0409       需要“catch”

1034        800A040A        需要“var”
1035        800A040B       “Throw”的后面必须跟有一个表达式,且在同一源代码行上

JScript 运行时错误
JScript 运行时错误是指当 JScript 脚本试图执行一个系统不能运行的动作时导致的错误。当正在运行脚本、计算变量表达式、或者正在动态分配内存时出现JScript 运行时错误时。

以下是76个运行时错误



错误号 描述

十进制        十六进制            说明
5             800A0005              非法过程调用或参数

6             800A0006              溢出

7           800A0007          内存不足

9       800A0009      下标超界

10        800A000A      此数组被固定或临时锁定

11        800A000B      零除错误

13        800A000D      类型失配

14        800A000E      串空间不足

17        800A0011      不能执行所请求的操作

28        800A001C      栈空间不足

35        800A0023      子过程或函数未找到

48        800A0030      装载DLL出错

51        800A0033      内部出错

52        800A0034      坏文件名或数

53        800A0035      文件未找到

54        800A0036      坏文件模式

55        800A0037      文件已经打开

57        800A0039      设备I/O错误

58        800A003A      文件已经存在

61        800A003D      磁盘空间已满

62        800A003E      输入超出文件尾

67        800A0043      文件太多

68        800A0044      设备不可用

70        800A0046      权限禁用

71        800A0047      磁盘未准备好

74        800A004A      不能用不同的驱动重命名

75        800A004B      路径/文件访问错误

76        800A004C      路径未找到

91        800A005B      对象变量或With块变量未设置

92        800A005C      For循环未初始化

94        800A005E      Null使用无效

322       800A0042      不能建立所需的临时文件

424       800A01A8          需要对象

429       800A01A9      Automation服务器不能建立对象

430       800A01AE      类不支持Automation

432       800A01B0     在Automation操作中找不到文件名或类名

438       800A01B6      对象不支持这个属性或方法

440       800A01B8      Automation错误

445       800A01BD          对象不支持这个动作

446       800A01BE      对象不支持指定的参数

447       800A01BF      对象不支持当前区域设置

448       800A01C0      指定的参数未找到

449       800A01C1      参数不可选

450       800A01C2     错误的参数数目或非法属性分配

451       800A01C3      对象不是一个集合

453       800A01C5      指定的dll函数未找到

458       800A01CA     变量使用了一个Jscript不支持的Automation类型

462        800A01CE     远程服务器机器不存在或不可用

501       800A01F5      不能分配给变量

502       800A01F6      对象对于脚本不安全

503       800A01F7      对象对于初始化不安全

504       800A01F8      对象对建立不安全

5000            800A1388           不能分配给“this”       
5001            800A1389            需要 Number 类型
5002            800A138A            需要 Function 对象
5003            800A138B            不能给函数返回值赋值
5004            800A138C            不能索引对象

5005            800A138D            需要 String
5006            800A138E            需要 Date 对象
5007            800A138F            需要 Object 类型
5008            800A1390            非法赋值
5009            800A1391            未定义标识符
5010            800A1392            需要 Boolean
5011               800A1393           不能执行来自一个自由脚本的代码

5012            800A1394            需要对象的成员
5013            800A1395            需要 VBArray
5014            800A1396            需要 JScript 对象
5015            800A1397            需要 Enumerator 对象
5016            800A1398            需要正则表达式对象
5017            800A1399            正则表达式语法错误

5018            800A139A            未预期的限定符
5019            800A139B            正则表达式中缺少“]”
5020            800A139C            正则表达式中缺少“)”
5021            800A139D            字符集范围无效
5022            800A139E            异常抛出,但无法抓住
5023            800A139F            函数没有合法的 Prototype (原型)对象

5024            800A13A0            待解码的 URI 包含有非法字符
5025            800A13A1            待解码的 URI 编码非法
5026            800A13A2            小数部分的位数越界
5027            800A13A3            精度越界

5028            800A13A4            需要 Array 或 arguments 对象

5029            800A13A5            数组长度必须为一有限正整数
5030            800A13A6           必须赋给数组长度一个有限正数
回复

使用道具 举报

 楼主| 发表于 2005-2-15 13:04:45 | 显示全部楼层

5\建设BT服务器

建设BT服务器方法  (以下资料来自落伍)

帶寬小的人可以干大事!丢掉ftp server,建BT Server。

例如对于电信的512kbits/s的ADSL(也就是64kByte/s),把电脑变成BT Server,效果就像传销一样,例如你把naruto31.rm共享,假如有30人在下载,那么这30人都是你的下线(给钱你花)(也就是为你服务)(作为一个服务器提供下载服务),假如下载的人都是用ADSL在下载,那么你相当提供30*64KBytes/s=1920KBytes/s的带宽。越多人下,他们为你提供的带宽越多。不象ftp server,越多人下,你为他们提供的带宽越多。

需要软件Bit Torrent Source Code (BT源代码,py格式文件)下载
Complete Dir (制作.torrent的软件)下载
Python Source Code (py编译器) 下载

操作

安装Python Source Code
解压BT.zip到C:\BT(BT源代码)
以omg.wmv为例,要把omg.wmv共享,用Complete Dir制作omg.wmv.torrent
在开始——〉运行,分别打入:
c:\BT\bttrack.py --port 6969 --dfile dstate
(以下是一行,不是两行)
c:\BT\btdownloadheadless.py --url http://www.animeconnection.net/bt/omg.wmv.torrent ;--saveas C:Inetpubwwwrootomg.wmv --display_interval 2 --minport 6881 --maxport 7000

BitTorrent 使用心得 (切斯特·杨)

有一段时间了,越来越多的老外 fansub group 用 BitTorrent(简称 BT)来发布他们的最新作品,自从用了 BT 之后,抓 ensub anime 越来越方便了,而且速度很快。以前每天都要开几十个 channel,每次新作品发布都和打仗一样,非眼明手快不可。现在除了帮忙 distro 的 channel,少数还没有用 BT 的 channel 之外,其他的 channel 都很少去了,虽然 fansub group 增加了不少,每天的新作品也天天增多,但抓起来反而更加轻松。

BT 是一个 free 的下载工具,用类似 eDonkey 的方式,不象 FTP 或者 P2P 软件(IRC/PP/WinMX)那样只有一个发送源,而是所有正在抓某个文件或者已经抓好了某个文件但还没有把下载窗口关闭的人都是发送源。抓的人越多,我下载的速度也越快,抓完之后再把下载窗口开一阵子,比如一个晚上。

类似的工作方式,使得 BT 和 eDonkey 一样有 FTP 和传统 P2P 不可比拟的速度优势,但同样也需要下载的人能自觉得继续提供文件。但与 eDonkey 相比,BT 还是有一些自己的特色。

在 BT 上不用担心会抓到死档,BT 把提供全档的人称为 种子(SEED),正在下载的人称为客户(Client),某一个文件现在有多少种子多少客户是可以看到的,只要有一个种子,就可以放心的下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快。

用 BT 不需要指定服务器,虽然在 BT 里面还是有服务器的概念,但使用 BT 的人并不需要关心服务器在哪里。BT 的服务器称为 Tracker,把文件用 BT 发布出来的人需要知道该使用哪个服务器来为要发布的文件提供 Tracker。

BT 虽然有一个客户端,但是没有用户界面,你也不会在开始菜单里面看到有 BT 的入口。客户端装完之后,感觉上就象是消失了一样。

用 BT 下载,需要得到一个扩展名是 .torrent 的文件,这个文件很小,最多几十K,这么小的文件传输是很快的,得到这个文件的方法很多,比如放在某个 Web 服务器上,或者用 FTP 和传统的 P2P 来得到,甚至作为附件贴在论坛上。这个文件里面存放了对应的发布文件的描述信息、该使用哪个 Tracker、文件的校验信息等,BT 用文件关联来对其进行处理。

得到了这个文件之后,直接双击打开,会弹出一个文件保存对话框,选择该把下载的文件放在什么地方。然后就可以看到下载开始进行了,BT 的下载过程正好和 eDonkey 相反,一开始会感觉比较慢,但很快的,速度突飞猛进。感觉 BT 对带宽的使用很有效,单个文件上传和下载的速度都很快。

如果传输中间断掉了,也没有关系,再次打开 .torrent 文件,BT 会自动的续传。

BT 对于文件数量不多的发布,比如 fansub groups 的最新 release,还是非常好用的,不需要每个 group 做自己的 tracker 服务器,因为负担小,大家可以共用一个。作品的发布速度也很快,只要一开始找几个种子,就会像滚雪球一样,越来越多,越来越快。要是 BT 能提供一个类似种子库的东西就更好了。

BT 的主页:http://bitconjurer.org/BitTorrent/index.html
BT 客户端下载:
http://osdn.dl.sourceforge.net/s ... /bittorrent-3.1.exe
推荐下载门户:
http://anime.mircx.com,这里能找到几乎所有的最新发布的 ensub anime 下载入口,链接到各 group 自己的下载页面。

用BT发布资源的简单教程

一,首先你一定要学会如何用BT下载,这是必要条件。如果不会请先看以上介绍;

二 制作.torrent文件:(此文件很小,才几十KB,用来通过各种方式发放出去给下载者)

1,下载制作.torrent软件的程序并安装:
http://unc.dl.sourceforge.net/so ... mpletedir-1.0.1.exe;

2,安装成功,就可以运行C:\Program Files\completedir\btcompletedirgui.exe;

3,点击select选择所要共享文件的目录(例如:D:\游戏发行),
然后在第二行announce url:输入“http://bbfans.3322.org:6969/announce” 这是tracker的地址
第三行piece size用缺省的就可以了。

4,接着点击make开始制作.torrent文件,(共享1GB可能需要2分钟左右的时间。)最后任务完成,可以结束completedir-1.0.1.exe程序。此时.torrent文件已经制作成功。接下来就是把你制作出来的.torrent文件通过任何方式发放出去,如通过web,email,ftp或DC。
注意:这里选取了目录游戏发行,所以在“D:\游戏发行”下会生成civ3ptwstandalone.torrent,03_02_12_城市百分百_新世纪(繁体中文版).torrent,02.28.03.Harbinger-FLT.torrent等等的文件,所以BT支持直接共享一整个目录。

三,此时,还需要你提供一个发放源:
1,点击一个你制作的.torrent文件,然后自动跳出一个对话框让你选择路径,此时不能把路径搞混,应该选择你刚选的文件源。 例如:
上面所说的civ3ptwstandalone.torrent文件,这时我们选择的路径为“D:\游戏发行civ3ptwstandalone\”,确定,再经过2分钟左右的时间核算成功就正式提供上传服务了(感谢你咯)。

2,检查你是否在共享:你可以浏览http://bbfans.3322.org:6969/ ;可以看到一行新的代码。这行新代码前的seed数字为1就表示你已经是种子提供上传服务了.

BitTorrent服务器架设指南

BitTorrent是一种新型共享软件方式,优势在于不限制下载带宽和联接线程仍能提供高速下载服务,下载的人越多,下载速度不下降反而更稳定,相比之下FTP仅能提供一定数目内的联接和有限的带宽(下载的人越多,速度越慢) BitTorrent适合于提供10M以上的文件下载,小的文件可集中于同一目录统一提供下载RMVB、AVI等类型的电影文件最适合通过BitTorrent方式共享,经一个多月的测试,对于600M以上电影,50K上传带宽(如ADSL)的服务器,同时提供下载的文件不要多于2个,100K上传带宽同时提供3、4个文件下载最合适,100K以上上传带宽可按此类推

A)下载python(约8M),http://www.python.org/ftp/python/2.3/Python-2.3a2.exe,安装到c:\python23

B)安装BitTorrent服务器程序(约130k)。http://bitconjurer.org/BitTorrent/BitTorrent-3.1.zip,解压到c:\bittorrent-3.1

C)在c:\bittorret-3.1目录建立三个批处理文件:
1.bat
c:\python23\python bttrack.py --port 6969 --dfile dstate

2.bat
c:\python23\python btmakemetafile.py c:\avi\demo.avi http://myiporhostsname:6969/announce

3.bat
c:\python23\python btdownloadheadless.py --url http://myiporhostsname/demo.avi.torrent ;--saveas c:\avi\demo.avi

D)如果没有安装或运行WEB服务器,安装或运行WEB服务器

E)假设本机的域名是demo.vip.com,WEB服务器目录是c:\httpd,要将c:\movies\thehours目录里的avi电影和字幕文件进行共享,执行如下步骤:
a.
执行1.bat

b
将2.bat中的c:\avi\demo.avi改成c:\movies\thehours,将http://myiporhostsname改成http://demo.vip.com
执行2.bat

如果执行正常,应在c:\movies目录下生成thehours.torrent文件,将此文件拷到c:\httpd

c.
将3.bat中的http://myiporhostsname/demo.avi.torrent改成http://demo.vip.com/thehours.torrent,将c:\avi\demo.avi改成c:\movies,执行3.bat

如果执行正常,程序将读取文件,完成后显示percent done: 100.0的信息并不断刷新

执行完上述三步后你就可以发布你的共享文件,http://demo.vip.com/thehours.torrent,发布其它文件重复执行2、3步

如何用BitTorrent共享自己的文件

BitTorrent工作原理,BitTorrent分为tracker和client两部分。
以发布一个软件为实例:
先安装一个tracker服务器,此服务器需要相对稳定的为client提供服务。
然后将要发布的软件打包成一个,或多个文件。用程序对该文件进行分析
btmakemetafile,会将该文件分成多个段和创建checksum信息以保证下载数据的正确性,
btmakemetafile,会创建一个包含tracker服务器信息,文件分段和checksum信息的,以.torrent
为扩展名的很小的文件,然后用程序发布第一个client, 每个client都
会和tracker建立连接,因为第一个client为起始client,所以他必须包含完整的文件。

现在你可以发布.torrent文件了,当二个人(client2)开始下载的时候,会和tracker服务器建立联系,已取得已有client的信息(如client1),他会依照.torrent的文件划分规则开始向client1下载数据。比如将发布的文件分为10段,这时他开始下在第一段,当client3下载的时候tracker会自动告诉他从client2下载文件的第一段,而从client1下载文件的其他段,以次类推,每个client可以同时从其他client那里下在他们已有的数据段,而下载的同时,也向其他client提供自己已下载的数据段,从而
不仅提高了大家的下载速度也减轻了第一个release者的带宽压力。
回复

使用道具 举报

 楼主| 发表于 2005-2-15 13:15:50 | 显示全部楼层

Windows下的 Apache + PHP + MySql + 虚拟主机 设置

一、安装PHP4
我们需要安装的是win32版本,下载当然也是win32版本 php4.3.0-win32.zip

1.下载后,解压到c:\php目录下。

2. 把c:\php目录下的php4ts.dll php4ts.lib文件都拷贝到c:\winnt\system32目录下(即window 2000系统目录下的system32目录)。

3. 修改php.ini文件,把c:\php目录下的php.ini-dist文件改名为php.ini 用记事本或其它可编辑文本的软件把它打开。

3.1找到register_globals = Off 改为register_globals = On
这一步是为了使部分旧的PHP程序能正常运行;

3.2找到 extension_dir = ./ 把它改为extension_dir = c:\php\extensions

以下内容新手请略过
===============新手略过开开始================
刚刚的修改是指定php4扩展dll文件存放的路径 由于php4默认所带的php.ini-dist中,是关掉了所有的扩展dll的功能( Windows Extensions)
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
.....
要做的就是把extension前面的分号去掉就行了,当然这样是不够的。因为有些extension在我们的系统是不能使用的,比如系统中没有安装 sql server的话,那么extension=php_mssql.dll就要用;(分号)把它注释掉;
其中,PHP4带了两个GD扩展,请选用一个,另一个先用分号注释掉,以免出现函数无法注册的错误;
如下面
extension=php_gd.dll
;extension=php_gd2.dll

按实际所须的extension=php_xxxx.dll前面的分号都去掉。
=============新手略过结束================

3.3 找到session.save_path,把这一项改为 session.save_path = c:\tmp
并在C盘建立一个TMP目录

3.4记得要保存刚刚的修改 并把php.ini文件放置在c:\winnt目录下。
回复

使用道具 举报

 楼主| 发表于 2005-2-15 13:16:34 | 显示全部楼层
二、安装MySql

安装MySql 当然,我在MySql.com 下载的MySql是一个压缩包,要先解压出来;再点setup.exe安装;

按默认安装,即安装在c:\MySql下,安装完后,按“开始”菜单中的“运行”打进cmd进入dos窗口,进到c:\MySql\bin 目录;

运行mysqld-nt --install (将会出现一个Dos窗口,随即自动关闭!如果没有出任何信息,即安装到service成功!)

从“开始”菜单“程序”=》“管理工具”=》“服务”,打开后,将会找到MySql,点击mouse右键 选择启动 回到刚刚的Dos窗口

即c:\MySql\bin目录下 运行mysqladmin -u root password 123 即把root用户的密码设置为123 这一步,如果没有出错,说明初始化root密码成功;

当然从本机进入MySql是不需要用户名和密码,但用php 程序或是其它程序连接MySql时就要用到;

测试进入 第一种方法:直接动行MySql进入MySql 的dos管理状态;

第二种方法:运行MySql -uroot -p MySql将会提示让您输入密码,密码当然就是刚刚设置的123(当然,得按设置的密码喽,不一定得设置是123)

出现: C:\MySql\bin>MySql -uroot -p Enter password: ********** Welcome to the MySql monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 3.27.44-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

即安装MySql成功。
回复

使用道具 举报

 楼主| 发表于 2005-2-15 13:17:06 | 显示全部楼层
三、安装Apache 1.3.x 及 PHP运行设置

1.首先下载Apache,Apache软件一般叫作apache_1_3_x.win32.exe。运行它。它会问你将Apache安装到什么地方,为他系统安全及操作容易,我们不要使用默认路径,你可以设为c:\Apache或C:\,因为马上你就要修改它的配置文件。

如果安装没出什么错的话,Apache就可以用了。有很多readme文件可供参考,但仅有一个文件是讲Win32平台的,包括Window 9x和Windows NT。

有两种方式使 PHP 工作于 Windows 下的 Apache 1.3.x。一种是 CGI 方式(php.exe),另一种是使用 Apache 模块 DLL。不管哪种方式都需要停止 Apache,编辑 httpd.conf 来配置 Apache 以加入PHP支持。

值得在这里指出现在 Windows 下的 SAPI 模块更加稳定了,我们推荐使用模块方式,因为更加透明和安全。

尽管有几种不同方法在 Apache 下配置 PHP,但是对新手来说还是非常简单易用的。有关更多的 httpd.conf 配置指令请参考 Apache 文档。

如果你按照手工安装步骤一节中的说明把 PHP 解压缩到了 c:\php\ 目录下,那么需要加入以下三行到 Apache 配置文件中以 CGI 方式安装:


ScriptAlias /php/ "c:/php/"

AddType application/x-httpd-php .php .phtml

Action application/x-httpd-php "/php/php.exe"

注意上面的第二行在原来的 httpd.conf 中就有的,不过被注释了。还有记住用你自己放置 PHP 的路径替换 c:/php/。


警告
在 CGI 方式下,你的服务器可能会受到几种攻击的影响。请学习如何防止攻击。


如果你想在 Apache 中用模块方式使用 PHP,确认把 php4ts.dll 拷贝到 windows/system(Windows 9x/Me)或者 winnt/system32(Windows NT/2000)或者 windows/system32(Windows XP)目录下,覆盖原来的文件。然后在 Apache 配置文件 httpd.conf 中加入以下两行:


用自己喜爱的编辑器打开 httpd.conf,找到 LoadModule 指令的部分,在其列表的最后部分加上如下一行,
对 PHP 4:
LoadModule php4_module c:/php/sapi/php4apache.dll
对 PHP 5:
LoadModule php5_module "c:/php/sapi/php5apache.dll"

你可能发现在用 Windows Installer 安装了 Apache 之后需要为用 AddModule 指令定义 mod_php4.c。尤其是在定义了 ClearModuleList 指令时格外重要,向下滚动几行可以找到该指令。你将会看到 AddModule 项目的列表,在列表的最后加上这一行:
AddModule mod_php4.c
对于 PHP 5 则为:
AddModule mod_php5.c

搜索类似 # AddType allows you to tweak mime.types 的短语,你会找到一些 AddType 的项目,并且在列表的最后有这一行: AddType application/x-httpd-php .php。你可以在这里选择任何想用 PHP 解析的后缀。.php 只是所建议的一个。甚至可以包括 .html,也可以加上 .php3 来向下兼容。


修改了配置文件之后记住重新启动 Apache,例如如果你的 Apache 是作为 Windows 的服务安装的,NET STOP APACHE 后面接上 NET START APACHE。或者用你通常使用的快捷方式。

有两种方式使用源程序语法彩色显示特色,但是取决于你的安装方法。如果你配置了 Apache 的 SAPI 模块方式使用 PHP,那么在 httpd.conf 中(和插入 AddType application/x-httpd-php .php 是同一个位置)加入下面一行就可以使用本特色:AddType application/x-httpd-php-source .phps。

如果你用 CGI 方式使用 PHP,那你需要用 show_source() 函数。建立一个 PHP 文件,加入以下代码:<?php show_source ("original_php_script.php"); ?>。用你想要显示源代码的文件名替换掉 original_php_script.php。

注: 在 Windows-Apache 组合中,所有路径中的反斜线例如 "c:\directory\file.ext" 都必须转换成斜线,如 "c:/directory/file.ext"。
回复

使用道具 举报

 楼主| 发表于 2005-2-15 13:18:18 | 显示全部楼层
四、实现Apache虚拟主机的两种方案

简介:这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序
支持多个Apache服务器,如在公司财务部门有一台web服务器,名为
account.yourdomain.com,同时又想为sales部门建立网站,网站内容也
放在该机器上,通过sales.yourdomain.com访问,这就要用到虚拟主机
设置。

设置Apache虚拟主机通常有两种方案

1.基于IP的虚拟主机

  这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的
网卡上绑定多个IP地址去服务多个虚拟主机。
若该机器的IP地址为192.168.0.1(account.yourdomain.com),首先
你要设置IP别名(假设用192.168.0.2作为其别名IP)。加下面的行到
/etc/rc.d/rc.local,确保每次启动后自动运行。

#/sbin/ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 broadcast \
192.168.0.255 up
#/sbin/route add -host 192.168.0.2 eth0:0

然后你需要设置/etd/httpd/conf/httpd.conf文件:

<VirtualHost 192.168.0.2>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log
</VirtualHost>

然后分别创建目录
/home/httpd/sales.yourdomain.com,
/var/log/httpd/sales.yourdomain.com
放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保
你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.0.2 。

注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的
虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机
方案。


2.基于名字的虚拟主机:

  它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的
浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件
/etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log
</VirtualHost>

<VirtualHost 192.168.0.1>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/hr.yourdomain.com
ServerName hr.yourdomain.com
ErrorLog /var/log/httpd/hr.yourdomain.com/error_log
TransferLog /var/log/hr.yourdomain.com/access_log
</VirtualHost>

注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,
为了让它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS
都指向IP地址192.168.0.1

上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能
没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,
若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。

提示:上面所提到的相对目录可以用绝对路径代替,如:
/home/httpd/hr.yourdomain.com 可改为 D:/Inetpub/wwwroot
回复

使用道具 举报

发表于 2005-2-15 15:59:33 | 显示全部楼层
有点晕 不过BT那个还不错
回复

使用道具 举报

手机版|小黑屋|啊三国

GMT+8, 2026-7-15 11:07

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表