拋棄IIS --- 小巧的ASP web server ---- netbox
Posted on 2007-12-28 22:22 傅曉風(fēng) 閱讀(1817) 評(píng)論(0) 編輯 收藏 所屬分類: Web Servernetbox = 網(wǎng)絡(luò)盒子 是一個(gè)很好用而且又小巧的web軟件,本篇文章要說(shuō)的是如何讓 netbox 支持多個(gè)站點(diǎn)。進(jìn)入正題:
右擊"main.box"用記事本打開(kāi),可以看到的是類似如下代碼:
而以下默認(rèn)代碼只支持一個(gè)站點(diǎn)使用,如何多個(gè)站點(diǎn)同用"netbox"呢?
請(qǐng)關(guān)注本篇文章
---------------------------------------------------------------
單個(gè)站點(diǎn)使用的代碼:
--------------------------------
Dim httpd
Shell.Service.icon = "\status\on.gif"
Shell.Service.RunService "ASPWebserver", "AspWeb服務(wù)器", "AspWeb服務(wù)器 off"
'---------------------- 服務(wù)事件開(kāi)始 ---------------------
Sub OnServiceStart()
Shell.Service.SetTimer 100
Set httpd = CreateObject("netbox.HttpServer")
If httpd.Create("",80) = 0 Then
Set host = httpd.AddHost("", "\web\")
host.EnableWrite=false
host.Enables cript = true
host.AddDefault "default.asp"
host.AddDefault "default.htm"
host.AddDefault "default.html"
host.AddDefault "index.htm"
host.AddDefault "index.asp"
host.AddDefault "index.html"
httpd.Start
else
Shell.MsgBox "服務(wù)器啟動(dòng)失敗,80端口可能被占用!請(qǐng)停止當(dāng)前WEB服務(wù)器或用記事本打開(kāi)main.box文件修改端口.","錯(cuò)誤對(duì)話框"
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd.Close
End Sub
Sub OnServicePause()
Shell.Service.Icon = "\status\off.gif"
Shell.MsgBox "服務(wù)器暫停運(yùn)行!必要時(shí)記得打開(kāi)噢!","暫停運(yùn)行"
End Sub
Sub OnServiceResume()
OnServiceTimer
httpd.Start
End Sub
Sub OnServiceTimer
If Shell.Service.icon = "\status\on.gif" Then
Shell.Service.icon = "\status\on1.gif"
Else
Shell.Service.icon = "\status\on.gif"
End If
End Sub
--------------------------------------------------------------------------------
兩個(gè)站點(diǎn)使用的代碼:
--------------------------------
Dim httpd1,httpd2
Dim httpd
Shell.Service.RunService "ASPWebserver", "AspWeb服務(wù)器", "AspWeb服務(wù)器 off"
'---------------------- 服務(wù)事件開(kāi)始 ---------------------
Sub OnServiceStart()
Set httpd1 = NetBox.CreateObject("NetBox.HttpServer")
Set httpd2 = NetBox.CreateObject("NetBox.HttpServer")
If httpd1.Create("", 80) = 0 Then
Set host1 = httpd1.AddHost("127.0.0.1", "\web\")
host1.Enables cript = true
host1.AddDefault "default.asp"
host1.AddDefault "default.htm"
host1.AddDefault "index.asp"
host1.AddDefault "index.htm"
'httpd.Start
else
Shell.Quit 0
end if
'Set httpd = NetBox.CreateObject("NetBox.HttpServer")
If httpd2.Create("", 81) = 0 Then
Set host2 = httpd2.AddHost("127.0.0.2", "\web\")
host2.Enables cript = true
host2.AddDefault "default.asp"
host2.AddDefault "default.htm"
host2.AddDefault "index.asp"
host2.AddDefault "index.htm"
httpd1.Start
httpd2.start
else
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd1.Close
httpd2.Close
End Sub
Sub OnServicePause()
httpd1.Stop
httpd2.Stop
End Sub
Sub OnServiceResume()
httpd1.Start
httpd2.Start
End Sub
---------------------------------------------------------------------------------
三個(gè)站點(diǎn)同時(shí)使用:
--------------------------------
Dim httpd1,httpd2,httpd3
Dim httpd
Shell.Service.RunService "ASPWebserver", "AspWeb服務(wù)器", "AspWeb服務(wù)器 off"
'---------------------- 服務(wù)事件開(kāi)始 ---------------------
Sub OnServiceStart()
Set httpd1 = NetBox.CreateObject("NetBox.HttpServer")
Set httpd2 = NetBox.CreateObject("NetBox.HttpServer")
Set httpd3 = NetBox.CreateObject("NetBox.HttpServer")
If httpd1.Create("", 80) = 0 Then
Set host1 = httpd1.AddHost("127.0.0.1", "\web\")
host1.Enables cript = true
host1.AddDefault "default.asp"
host1.AddDefault "default.htm"
host1.AddDefault "default.html"
host1.AddDefault "index.htm"
host1.AddDefault "index.asp"
host1.AddDefault "index.html"
'httpd.Start
else
Shell.Quit 0
end if
'Set httpd = NetBox.CreateObject("NetBox.HttpServer")
If httpd2.Create("", 81) = 0 Then
Set host2 = httpd2.AddHost("127.0.0.2", "\web\")
host2.Enables cript = true
host2.AddDefault "default.asp"
host2.AddDefault "default.htm"
host2.AddDefault "default.html"
host2.AddDefault "index.htm"
host2.AddDefault "index.asp"
host2.AddDefault "index.html"
'httpd.Start
else
Shell.Quit 0
end if
'Set httpd = NetBox.CreateObject("NetBox.HttpServer")
If httpd3.Create("", 82) = 0 Then
Set host3 = httpd3.AddHost("127.0.0.3", "\web\")
host3.Enables cript = true
host3.AddDefault "default.asp"
host3.AddDefault "default.htm"
host3.AddDefault "default.html"
host3.AddDefault "index.htm"
host3.AddDefault "index.asp"
host3.AddDefault "index.html"
httpd1.Start
httpd2.start
httpd3.start
else
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd1.Close
httpd2.Close
httpd3.Close
End Sub
Sub OnServicePause()
httpd1.Stop
httpd2.Stop
httpd3.Stop
End Sub
Sub OnServiceResume()
httpd1.Start
httpd2.Start
httpd3.Start
End Sub
----------------------------------------------------------------
以此內(nèi)推,相信大家對(duì)照一下就能看明白!
當(dāng)中IP請(qǐng)自行更改,多個(gè)站點(diǎn),若用的是花生殼,請(qǐng)改為花生殼域名。
每處IP填寫(xiě)不同域名!!
最后在IE的訪問(wèn)地址如下:
(例)
域名 端口
站點(diǎn)一:127.0.0.1 80 最后IE中要輸入的地址:127.0.0.1
站點(diǎn)二:127.0.0.2 81 最后IE中要輸入的地址:127.0.0.2:81
站點(diǎn)三:127.0.0.3 82 最后IE中要輸入的地址:127.0.0.3:82
除了設(shè)了80端口的站點(diǎn),用域名訪問(wèn)時(shí)不需要加所設(shè)端口外,其它的都要加端口。
大家復(fù)制以下代碼,自已修改,或者下載本文章帶的完整附件,然后進(jìn)得更改.
-------------------------------------------------------------------------------------------
Dim httpd,host(10),i '有沒(méi)看到我這邊寫(xiě)著10,因?yàn)槲蚁逻吘W(wǎng)站列表里最后是10
'也就是說(shuō)我在下邊再添一個(gè)網(wǎng)站,那下邊就多條11的,上邊也要改成11
Shell.Service.RunService "allyes", "同端口同時(shí)運(yùn)行多站點(diǎn)的", "同端口同時(shí)運(yùn)行多站點(diǎn)"
'---------------------- Service Event ---------------------
Sub OnServiceStart()
Set httpd = CreateObject("NetBox.HttpServer")
If httpd.Create("", 80) = 0 Then '這是端口,這里默認(rèn)為80
Set host(0) = httpd.AddHost("192.168.0.1", "\001\") '這些是網(wǎng)站,現(xiàn)在總共列有11條,就是說(shuō),
Set host(1) = httpd.AddHost("192.168.0.2", "\002\") '我當(dāng)前運(yùn)行了11個(gè)站點(diǎn),輸入域名就訪問(wèn)
Set host(2) = httpd.AddHost("192.168.0.3", "\003\") '該處設(shè)置的目錄里.
Set host(3) = httpd.AddHost("192.168.0.4", "\004\") '為了方便,我寫(xiě)的是ip,大家自已改為域名
Set host(4) = httpd.AddHost("192.168.0.5", "\005\") '每個(gè)域名都不一樣,一個(gè)就代表一個(gè)站
Set host(5) = httpd.AddHost("192.168.0.6", "\006\") '001..002..003 這些是 網(wǎng)站所在目錄
Set host(6) = httpd.AddHost("192.168.0.7", "\007\") 'set host(0)....set host(10) 這里大家認(rèn)真
Set host(7) = httpd.AddHost("192.168.0.8", "\008\") '看下就會(huì)明白,有幾個(gè)站點(diǎn)就寫(xiě)到幾了
Set host(8) = httpd.AddHost("192.168.0.9", "\009\") '注:從0開(kāi)始算一個(gè)
Set host(9) = httpd.AddHost("192.168.0.10", "\010\")
Set host(10) = httpd.AddHost("192.168.0.11", "\011\")
For i=0 to Ubound(host)
host(i).EnableScript = true '以下是網(wǎng)頁(yè)訪問(wèn)順序,請(qǐng)自行設(shè)置修改
host(i).AddDefault "default.asp"
host(i).AddDefault "default.htm"
host(i).AddDefault "default.html"
host(i).AddDefault "index.asp"
host(i).AddDefault "index.htm"
host(i).AddDefault "index.html"
Next
httpd.Start
Else
Shell.Quit 0
End If
End Sub
Sub OnServiceStop()
httpd.Close
End Sub
Sub OnServicePause()
httpd.Stop
End Sub
Sub OnServiceResume()
httpd.Start
End Sub