㈠ 如何在web伺服器部署一個網站
在web伺服器部署一個網站的方法
一般在安裝操作系統時不默認安裝IIS,所以在第一次配置Web伺服器時需要安裝IIS。安裝方法為:
1、打開「控制面板」,打開「添加/刪除程序」,彈出「添加/刪除程序」窗口。
2、單擊窗口中的「添加/刪除Windows組件」圖標,彈出「Windows組件向導」對話框。
添加/刪除程序
3、選中「向導」中的「應用程序伺服器」復選框。單擊「詳細信息」按鈕,彈出「應用程序伺服器」對話框。
添加/刪除Windows組件
4、選擇需要的組件,其中「Internet信息服務(IIS)」和「應用程序伺服器控制台」是必須選中的。選中「Internet信息服務(IIS)」後,再單擊「詳細信息」按鈕,彈出「Internet信息服務(IIS)」對話框。
5、選中「Internet信息服務管理器」和「萬維網服務」。並且選中「萬維網服務」後,再單擊「詳細信息」按鈕,彈出「萬維網服務」對話框。
6、其中的「萬維網服務」必須選中。如果想要伺服器支持ASP,還尺冊鉛應該選中「ActiveServerPages」。逐個單擊「確定」按鈕,關閉各對話框,直到返回圖1的「Windows組件向導」對話框。
7、單擊「下一步」按鈕,系統開始IIS的安裝,這期間可能要求插入WindowsServer2003安裝盤,系統會自動進行安裝工作。
8、安裝完成後,彈出提示安裝成功的對話框,單擊「確定」按鈕就完成了IIS的安裝。
友情提示:如果想要同時裝入FTP伺服器,在「Internet信息服務(IIS)」對話框中應該把「文件傳輸協議(FTP)服務」的復選框也選中。
在IIS中創建Web網站
打開「Internet信息服務管理器」,在目錄樹的「網站」上單擊右鍵,在右鍵菜單中選擇「新建→網站」,彈出「網站創建向導」:
網站描述就是網站的名字,它會顯示在IIS窗口的目錄樹中,方便管理員識別各個站點。本例中起名為「枝葉的網站」。
網站IP地址:如果選擇「全部未分配」,則伺服器會將本機所有IP地址綁定在該網站上,這個選項適合於伺服器中只有這一個網站的情況。也可以從下拉式列表框中選擇一個IP地址(下拉式列表框中列出的是本機已配置的IP地址,如果沒有,應該先為本機配置IP地址,再選擇。)
TCP埠:一般使用默認的埠號80,如果改為其它值,則用戶在訪問該站點時必須在地址中加入埠號。
主機頭:如果該站點已經有域名,可以在主機頭中輸入域名。
主目錄路徑是網站根目錄的位置,可以用「瀏覽」按鈕選擇一個文件夾作為網站的主目錄。
網站訪問許可權是限定用戶訪問網站時的許可權,「讀取」是必需的,「運行腳本」可以讓站點支持ASP,其它許可權可根據需要設置。
單擊「下一步」,彈出「完成向導」對話框,就完成了新網站的創建過程,在IIS中可以看到新建的網站。把做好的網頁和相關文件復制到主目錄中,通常就可以訪問這個網站了。
訪問網站的方法是:如果在本機上訪問,可以在瀏覽器的地址欄中輸入「」,則用戶訪問「/pic/文件1」時,訪問的實際位置是伺服器的「D:myimage文件1」,所以虛擬目錄的真實名字和位置對用戶是不可知的。
創建虛擬目錄的方法:
打開Internet信息服務窗口,在想要創建虛擬目錄的Web站點上單擊右鍵,選擇「新建」→「虛擬目錄」。彈出虛擬目錄創建向導:
別名是映射後的名字,即客戶陵好訪問時的名字;
路徑:伺服器上的真實路徑名,即虛擬目錄的實際位置;
訪問許可權:指客戶對該目錄的訪問許可權。
單擊「下一步」按鈕,彈出完成對話框,虛擬目錄就建立成功了。把相關文件復制到虛擬目錄中,用戶就可以按照虛擬的樹形結構訪問到指定文件了。
通常虛擬目錄的訪問許可權、默認文檔等都繼承自主目錄,如果需要修姿碼改,可在「Internet信息服務管理器」中的虛擬目錄上單擊右鍵,選擇「屬性」,就可以修改虛擬目錄的參數設置了。
㈡ 如何用自己的電腦搭建web伺服器
這個可以直接網路搜索就有的。第一條經驗裡面就有裡面內容很詳細。搭建的時候。要看清楚自己的電腦是什麼系統。XP和WIN7的系統是有不同步驟的。
參考資料::jingyan../article/9f63fb91d583b7c8400f0eef.
如何利用自己的電腦搭建WEB伺服器?有各種方法,現在總結如下:
一、apache
1,下載wamp(windows+apache+mysql+php)環境安裝包,解壓到本地,就可以本地搭建web網站了,不過這種方法要求對代碼和apache比較精通。
2,下載phpstudy環境安裝包,解壓到本地,這個環境適合學習及本地測試,操作非常小白,界面式操作。
3,下載upupw適配安裝包,這個也是界面式的,可以選擇IIS、APACHE、KANGLE等各種環境。
二、IIS
目前windows7以上版本的系統,都支持IIS7.0。操作步驟比較繁瑣。
1、建議使用虛擬機,選擇好你需要的平台,在機子上裝好系統,以及對應的web服務端,然後在你的路由器上做好埠映射。
2、你要有個公網IP,如果沒有固定IP的話,可以用動態域名還做。
1.咱們先假定是固定IP的,如何域名解析?(我在區域網中用靜態IP,是固定的)
2.動態IP又如何域名解析?
3.自己的家的電腦想試試,還有就是學校的一台電腦伺服器也想試試
安裝護衛神.主機大師,一鍵安裝web環境,支持IIS+ASP+ASP.+PHP+FTP+MYSQL+主機系統
伺服器具備的條件是24小時開機,因為要向外開放網路。web的話就必須搭建相應的環境,比如你製作的網站是asp環境就必須搭建asp環境的,還有php,jps等等,根據自己的需求安裝環境,還有其他的web應用。搭建網站的條件是1.域名(等等)2.伺服器(自己電腦,或者購買伺服器)3.腳本(aspaspxphpjsp等等)為了防止別人入侵你的網站你可以安裝相應的軟體來防止別人入侵你的網站比如:安全寶,安全狗。
xp用戶請下載iis for xp 的壓縮包。網路一下即可
一、IIS的添加
請進入「控制面板」,依次選「添加/刪除程序→添加/刪除Windows組件」,將「Inter信息服務(IIS)」前的小鉤去掉(如有),重新勾選中後按提示操作即可完成IIS組件的添加。用這種方法添加的IIS組件中將包括Web、FTP、NNTP和SMTP等全部四項服務。
二、IIS的運行
當IIS添加成功之後,再進入「開始→程序→管理工具→Inter服務管理器」以打開IIS管理器,對於有「已停止」字樣的服務,均在其上單擊右鍵,選「啟動」來開啟。
三、建立第一個Web站點
比如本機的IP地址為192.168.0.1,自己的網頁放在D:Wy目錄下,網頁的首頁文件名為Index.htm,現在想根據這些建立好自己的Web伺服器。
對於此Web站點,我們可以用現有的「默認Web站點」來做相應的修改後,就可以輕松實現。請先在「默認Web站點」上單擊右鍵,選「屬性」,以進入名為「默認Web站點屬性」設置界面。
1.修改綁定的IP地址:轉到「Web站點」窗口,再在「IP地址」後的下拉菜單中選擇所需用到的本機IP地址「192.168.0.1」。
2.修改主目錄:轉到「主目錄」窗口,再在「本地路徑」輸入(或用「瀏覽」按鈕選擇)好自己網頁所在的「D:Wy」目錄。
3.添加首頁文件名:轉到「文檔」窗口,再按「添加」按鈕,根據提示在「默認文檔名」後輸入自己網頁的首頁文件名「Index.htm」。
4.添加虛擬目錄:比如你的主目錄在「D:Wy」下,而你想輸入「192.168.0.1/test」的格式就可調出「E:All」中的網頁文件,這裡面的「test」就是虛擬目錄。請在「默認Web站點」上單擊右鍵,選「新建→虛擬目錄」,依次在「別名」處輸入「test」,在「目錄」處輸入「E:All」後再按提示操作即可添加成功。
5.效果的測試:打開IE瀏覽器,在地址欄輸入「192.168.0.1」之後再按回車鍵,此時就能夠調出你自己網頁的首頁,則說明設置成功!
四、添加更多的Web站點
1.多個IP對應多個Web站點
如果本機已綁定了多個IP地址,想利用不同的IP地址得出不同的Web頁面,則只需在「默認Web站點」處單擊右鍵,選「新建→站點」,然後根據提示在「說明」處輸入任意用於說明它的內容(比如為「我的第二個Web站點」)、在「輸入Web站點使用的IP地址」的下拉菜單處選中需給它綁定的IP地址即可(如圖1);當建立好此Web站點之後,再按上步的方法進行相應設置。
常見的Web伺服器有IIS,d和tomcat。Httpd和tomcat只需要下載只需要下載二進制包,解壓,從解壓目錄的bin目錄下運行d.exe或者startup.bat啟動即可。tomcat運行在java環境下,啟動之前還需要安裝java的jdk運行環境。另外,IIS自帶在微軟的Visual studio工具包里,安裝好以後可以通過控制面板裡面的安裝或關閉windows功能添加啟動服務。網路上都有相關安裝教程,可以參閱。
用nodejs搭建web伺服器方法:
引入需要用到的幾個模塊:
協議模塊
var = require('');
url解析模塊
var url = require('url');
文件系統模塊
var fs = require("fs");
路徑解析模塊
var path = require("path");
創建服務並在指定的埠監聽:
創建一個服務
var Server = .createServer(this.processRequest.bind(this));
在指定的埠監聽服務
Server.listen(port,function(){
console.log("[HttpServer][Start]","runing at :"+ip+":"+port+"/");
console.timeEnd("[HttpServer][Start]");
});
在創建服務的時候需要傳遞一個匿名函數processRequest 對請求進行處理,processRequest接收2個參數,分別是request和response, request對象中包含了請求的所有內容,response是用來設置響應頭以及對客戶端做出響應操作。
processRequest:function(request,response){
var hasExt = true;
var requestUrl = request.url;
var pathName = url.parse(requestUrl).pathname;
對請求的路徑進行解碼,防止中文亂碼
pathName = decodeURI(pathName);
如果路徑中沒有擴展名
if(path.extname(pathName) === ''){
如果不是以/結尾的,加/並作301重定向
if (pathName.charAt(pathName.length-1) != "/"){
pathName += "/";
var redirect = ":"+request.headers.host + pathName;
response.writeHead(301, {
location:redirect
});
response.end();
}
添加默認的訪問頁面,但這個頁面不一定存在,後面會處理
pathName += "index.";
hasExt = false; 標記默認頁面是程序自動添加的
}
獲取資源文件的相對路徑
var filePath = path.join("/webroot",pathName);
獲取對應文件的文檔類型
var contentType = this.getContentType(filePath);
如果文件名存在
fs.exists(filePath,function(exists){
if(exists){
response.writeHead(200, {"content-type":contentType});
var stream = fs.createReadStream(filePath,{flags:"r",encoding:null});
stream.on("error", function() {
response.writeHead(500,{"content-type": "text/"});
response.end("<h1>500 Server Error</h1>");
});
返迴文件內容
stream.pipe(response);
}else { 文件名不存在的情況
if(hasExt){
如果這個文件不是程序自動添加的,直接返回404
response.writeHead(404, {"content-type": "text/"});
response.end("<h1>404 Not Found</h1>");
}else {
如果文件是程序自動添加的且不存在,則表示用戶希望訪問的是該目錄下的文件列表
var = "<head><meta charset='utf-8'></head>";
try{
用戶訪問目錄
var filedir = filePath.substring(0,filePath.lastIndexOf('\'));
獲取用戶訪問路徑下的文件列表
var files = fs.readdirSync(filedir);
將訪問路徑下的所以文件一一列舉出來,並添加超鏈接,以便用戶進一步訪問
for(var i in files){
var filename = files[i];
+= "<div><a href='"+filename+"'>"+filename+"</a></div>";
}
}catch (e){
+= "<h1>您訪問的目錄不存在</h1>"
}
response.writeHead(200, {"content-type": "text/"});
response.end();
}
}
});
},
㈢ 怎麼設置雙線WEB伺服器
以上問題最有可能是網通和電信互聯互通嚴重不良造成的.
針對你問題的解答:
1.不增加線路的情況下,可以購買一些公司提供的雙線的PROXY來解決.
2.接進了網通線路後可以直接設置寫路由表來完成雙線只能策略.使用命令行下的route add命令.
3.可以實現,但是還是需要一台機器或者直接在你的WEB伺服器上用第2條的方法解決.
4.雙WAN口的路由一般都寫好的路由表,接上去就可以用了,應該也可以自己寫.具體寫法參見路由說明,都很簡單的.
㈣ 如何用Java實現Web伺服器
一 HTTP協議的作用原理
WWW是以Internet作為傳輸媒介的一個應用系統 WWW網上最基本的傳輸單位是Web網頁 WWW的工作基於客戶機/伺服器計算模型 由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成 兩者之間採用超文本傳送協議(HTTP)進行通信 HTTP協議是基於TCP/IP協議之上的協議 是Web瀏覽器和Web伺服器之間的應用層協議 是通用的 無狀態的 面向對象的協議 HTTP協議的作用原理包括四個步驟
( ) 連接 Web瀏覽器與Web伺服器建立連接 打開一個稱為socket(套接字)的虛擬文件 此文件的建立標志著連接建立成功
( ) 請求 Web瀏覽器通過socket向Web伺服器提交請求 HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞) GET命令的格式為
GET 路徑/文件名 HTTP/
文件名指出所訪問的文件 HTTP/ 指出Web瀏覽器使用的HTTP版本
( ) 應答 Web瀏覽器提交請求後 通過HTTP協議傳送給Web伺服器 Web伺服器接到後 進行事務處理 處理結果又通過HTTP傳回給Web瀏覽器 從而在Web瀏覽器上顯示出所請求的頁面
例 假設客戶機與 /mydir/l建立了連接 就會發送GET命令 GET /mydir/l HTTP/ 主機名為的Web伺服器從它的文檔空間中搜索子目錄mydir的文件l 如果找到該文件 Web伺服器把該文件內容傳送給相應的Web瀏覽器
為了告知 Web瀏覽器傳送內容的類型 Web伺服器首先傳送一些HTTP頭信息 然後傳送具體內容(即HTTP體信息) HTTP頭信息和HTTP體信息之間用一個空行分開
常用的HTTP頭信息有
① HTTP OK
這是Web伺服器應答的第一行 列出伺服器正在運行的HTTP版本號和應答代碼 代碼 OK 表示請求完成
② MIME_Version
它指示MIME類型的版本
③ content_type 類型
這個頭信息非常重要 它指示HTTP體信息的MIME類型 如 content_type text/指示傳送的數據是HTML文檔
④ content_length 長度值
它指示HTTP體信息的長度(位元組)
( ) 關閉連接 當應答結束後 Web瀏覽器與Web伺服器必須斷開 以保證其它Web瀏覽器能夠與Web伺服器建立連接
二絕敗胡 Java實現Web伺服器功能的程序設計
根據上述HTTP協議的作用原理 實現GET請求的Web伺服器程序的方法如下
( ) 創並攔建ServerSocket類對象 監聽埠 這是為了區別於HTTP的標准TCP/IP埠 而取的
( ) 等待 接受客戶機連接到埠 得到與客戶機連接的socket
( )枯大 創建與socket字相關聯的輸入流instream和輸出流outstream
( ) 從與socket關聯的輸入流instream中讀取一行客戶機提交的請求信息 請求信息的格式為 GET 路徑/文件名 HTTP/
( ) 從請求信息中獲取請求類型 如果請求類型是GET 則從請求信息中獲取所訪問的HTML文件名 沒有HTML文件名時 則以l作為文件名
( ) 如果HTML文件存在 則打開HTML文件 把HTTP頭信息和HTML文件內容通過socket傳回給Web瀏覽器 然後關閉文件 否則發送錯誤信息給Web瀏覽器
( ) 關閉與相應Web瀏覽器連接的socket字
下面的程序是根據上述方法編寫的 可實現多線程的Web伺服器 以保證多個客戶機能同時與該Web伺服器連接
程序 WebServer java文件
//WebServer java 用JAVA編寫Web伺服器
import java io *
import *
public class WebServer {
public static void main(String args[]) {
int i= PORT=
ServerSocket server=null
Socket client=null
try {
server=new ServerSocket(PORT)
System out println( Web Server is listening on port +server getLocalPort())
for ( ) {client=server accept() //接受客戶機的連接請求
new ConnectionThread(client i) start()
i++
}
} catch (Exception e) {System out println(e) }
}
}
/* ConnnectionThread類完成與一個Web瀏覽器的通信 */
class ConnectionThread extends Thread {
Socket client //連接Web瀏覽器的socket字
int counter //計數器
public ConnectionThread(Socket cl int c) {
client=cl
counter=c
}
public void run() //線程體
{try {
String destIP=client getInetAddress() toString() //客戶機IP地址
int destport=client getPort() //客戶機埠號
System out println( Connection +counter+ connected to +destIP+ on port +destport+ )
PrintStream outstream=new PrintStream(client getOutputStream())
DataInputStream instream=new DataInputStream(client getInputStream())
String inline=instream readLine() //讀取Web瀏覽器提交的請求信息
System out println( Received +inline)
if (getrequest(inline)) { //如果是GET請求
String filename=getfilename(inline)
File file=new File(filename)
if (file exists()) { //若文件存在 則將文件送給Web瀏覽器
System out println(filename+ requested )
outstream println( HTTP/ OK )
outstream println( MIME_version )
outstream println( Content_Type text/ )
int len=(int)file length()
outstream println( Content_Length +len)
outstream println( )
sendfile(outstream file) //發送文件
outstream flush()
} else { //文件不存在時
String notfound=
Error file not found
outstream println( HTTP/ no found )
outstream println( Content_Type text/ )
outstream println( Content_Length +notfound length()+ )
outstream println( )
outstream println(notfound)
outstream flush()
}
}
long m =
while (m < ) {m ++ } //延時
client close()
} catch (IOException e) {
System out println( Exception +e)
}
}
/* 獲取請求類型是否為 GET */
boolean getrequest(String s) {
if (s length()> )
{if (s substring( ) equalsIgnoreCase( GET )) return true
}
return false
}
/* 獲取要訪問的文件名 */
String getfilename(String s) {
String f=s substring(s indexOf(′ ′)+ )
f=f substring( f indexOf(′ ′))
try {
if (f charAt( )==′/′)
f=f substring( )
} catch ( e) {
System out println( Exception +e)
}
if (f equals( )) f= l
return f
}
/*把指定文件發送給Web瀏覽器 */
void sendfile(PrintStream outs File file) {
try {
DataInputStream in=new DataInputStream(new FileInputStream(file))
int len=(int)file length()
byte buf[]=new byte[len]
in readFully(buf)
outs write(buf len)
outs flush()
in close()
} catch (Exception e) {
System out println( Error retrieving file )
System exit( )
}
}
}
程序中的ConnectionThread線程子類用來分析一個Web瀏覽器提交的請求 並將應答信息傳回給Web瀏覽器 其中 getrequest()方法用來檢測客戶的請求是否為 GET getfilename(s)方法是從客戶請求信息s中獲取要訪問的HTML文件名 sendfile()方法把指定文件內容通過socket傳回給Web瀏覽器
對上述程序的getrequest()方法和相關部分作修改 也能對POST請求進行處理
三 運行實例
為了測試上述程序的正確性 將編譯後的WebServer class ConnectionThread class和下面的l文件置於網路的某台主機的同一目錄中(如 主機NT SRV的C JWEB目錄)
程序 l文件
年 月 日
首先在該主機上用java命令運行WebServer class
C jweb>java webserver
然後在客戶機運行瀏覽器軟體 在URL處輸入WebServer程序所屬的URL地址(如 ) 就在瀏覽器窗口顯示出指定的HTML文檔
注意 不能預設埠號 如預設 則運行該主機的正常WEB伺服器
lishixin/Article/program/Java/hx/201311/26626