拋棄IIS --- 小巧的ASP web server ---- netbox
Posted on 2007-12-28 22:22 傅曉風 閱讀(1817) 評論(0) 編輯 收藏 所屬分類: Web Servernetbox = 網絡盒子 是一個很好用而且又小巧的web軟件,本篇文章要說的是如何讓 netbox 支持多個站點。進入正題:
右擊"main.box"用記事本打開,可以看到的是類似如下代碼:
而以下默認代碼只支持一個站點使用,如何多個站點同用"netbox"呢?
請關注本篇文章
---------------------------------------------------------------
單個站點使用的代碼:
--------------------------------
Dim httpd
Shell.Service.icon = "\status\on.gif"
Shell.Service.RunService "ASPWebserver", "AspWeb服務器", "AspWeb服務器 off"
'---------------------- 服務事件開始 ---------------------
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 "服務器啟動失敗,80端口可能被占用!請停止當前WEB服務器或用記事本打開main.box文件修改端口.","錯誤對話框"
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd.Close
End Sub
Sub OnServicePause()
Shell.Service.Icon = "\status\off.gif"
Shell.MsgBox "服務器暫停運行!必要時記得打開噢!","暫停運行"
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
--------------------------------------------------------------------------------
兩個站點使用的代碼:
--------------------------------
Dim httpd1,httpd2
Dim httpd
Shell.Service.RunService "ASPWebserver", "AspWeb服務器", "AspWeb服務器 off"
'---------------------- 服務事件開始 ---------------------
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
---------------------------------------------------------------------------------
三個站點同時使用:
--------------------------------
Dim httpd1,httpd2,httpd3
Dim httpd
Shell.Service.RunService "ASPWebserver", "AspWeb服務器", "AspWeb服務器 off"
'---------------------- 服務事件開始 ---------------------
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
----------------------------------------------------------------
以此內推,相信大家對照一下就能看明白!
當中IP請自行更改,多個站點,若用的是花生殼,請改為花生殼域名。
每處IP填寫不同域名!!
最后在IE的訪問地址如下:
(例)
域名 端口
站點一:127.0.0.1 80 最后IE中要輸入的地址:127.0.0.1
站點二:127.0.0.2 81 最后IE中要輸入的地址:127.0.0.2:81
站點三:127.0.0.3 82 最后IE中要輸入的地址:127.0.0.3:82
除了設了80端口的站點,用域名訪問時不需要加所設端口外,其它的都要加端口。
大家復制以下代碼,自已修改,或者下載本文章帶的完整附件,然后進得更改.
-------------------------------------------------------------------------------------------
Dim httpd,host(10),i '有沒看到我這邊寫著10,因為我下邊網站列表里最后是10
'也就是說我在下邊再添一個網站,那下邊就多條11的,上邊也要改成11
Shell.Service.RunService "allyes", "同端口同時運行多站點的", "同端口同時運行多站點"
'---------------------- Service Event ---------------------
Sub OnServiceStart()
Set httpd = CreateObject("NetBox.HttpServer")
If httpd.Create("", 80) = 0 Then '這是端口,這里默認為80
Set host(0) = httpd.AddHost("192.168.0.1", "\001\") '這些是網站,現在總共列有11條,就是說,
Set host(1) = httpd.AddHost("192.168.0.2", "\002\") '我當前運行了11個站點,輸入域名就訪問
Set host(2) = httpd.AddHost("192.168.0.3", "\003\") '該處設置的目錄里.
Set host(3) = httpd.AddHost("192.168.0.4", "\004\") '為了方便,我寫的是ip,大家自已改為域名
Set host(4) = httpd.AddHost("192.168.0.5", "\005\") '每個域名都不一樣,一個就代表一個站
Set host(5) = httpd.AddHost("192.168.0.6", "\006\") '001..002..003 這些是 網站所在目錄
Set host(6) = httpd.AddHost("192.168.0.7", "\007\") 'set host(0)....set host(10) 這里大家認真
Set host(7) = httpd.AddHost("192.168.0.8", "\008\") '看下就會明白,有幾個站點就寫到幾了
Set host(8) = httpd.AddHost("192.168.0.9", "\009\") '注:從0開始算一個
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 '以下是網頁訪問順序,請自行設置修改
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