多童鞋說自己是做移動開發的,想掛個簡單的Web API,可是服務器又不會搭,這樣一來測試就成了問題。看看網上的教程,發現略難懂,而且大多是一個轉一個,沒價值,所以干脆寫幾篇文章講講簡單的Web服務器怎么搭,讓不太涉及Web的童鞋快速上手。
我計劃把幾個主流的,比如Apache、IIS、Nginx等在Windows或者Linux上的搭建方法都說說,由于自己做的是.NET,所以,第一篇先上IIS吧!
一、IIS服務器的搭建
IIS全稱Internet Information Service,中文名:Internet信息服務,專用于微軟操作系統平臺,兼容微軟的各項Web技術,尤其是ASP.NET(其實也就在IIS上能跑),除此之外,IIS還支持CGI,IIS7以后的版本對Fast-CGI支持更好,所以PHP 5.3可以使用Fast-CGI和Zend來優化在IIS上的性能,當然早期的ASP也是可以支持的,JSP的支持相對麻煩,而且性能不好,所以基本沒人拿IIS跑JSP。
現在,IIS8已經伴隨著Windows Server 2012 R2和Windows 8.1的發布而出現在最新的Windows版本中,所以本文就不拿IIS7以前的古董說事了,IIS7以后的版本,變化幅度很小,應該是在優化性能、增加穩定性和添加新的MIME等一些雜項上的處理。
好了,現在讓我們開始!
基本步驟如下:
啟用功能 -> 設置網站路徑和端口 -> 設置權限 -> 設置雜項 -> 正式發布
1.啟用功能:
首先,我們以Windows 桌面版系統為例,進入Windows的“控制面板”,如圖所示
(Windows 桌面版控制面板)
進入“程序”,然后點“啟用或關閉Windows功能”,然后就能看到一下選項,找到Internet Information Services(在Windows 7為Internet信息服務,下同),如圖所示
(Windows 桌面版的 Windows 功能)
在Internet Information Services之前的選項框上打勾,會發現有些內容是方塊型的,意思是沒有完全啟用其中的功能,建議按照圖片上的介紹把“應用程序開發功能”中的內容全部勾選,要不IIS搭好以后只能掛HTML這種靜態網頁。勾選完成后,如還需要其他方面的功能,如ODBC日志、動態內容壓縮、HTTP重定向等功能,也可以再次勾選,當然現在不勾選以后再加也沒問題。
(關閉 Windows 防火墻)
完成后,點擊確定,Windows自動安裝IIS功能,安裝完成后,建議在“系統和安全”中,完全關閉防火墻,保證IIS的其他端口可被訪問,在IE或其他瀏覽器中,打開http://localhost,出現如下界面,則說明搭建成功
(IIS8 歡迎界面)
接下來,我們來看看在Windows Server 2012 R2上的IIS搭建過程
首先,打開“服務器管理器”,在右上角找到“管理”->“添加角色和功能”,如圖所示
(Windows Server 2012 R2 服務器管理器添加角色和功能)
接著,一直點擊“下一步”,直到“服務器角色”一項,在右側列表中找到“Web 服務器(IIS)”一項,如圖所示
(Windows Server 2012 R2 添加服務器角色)
成功添加角色后,會提示你選擇所需的功能,類似前面Windows 桌面版的介紹,選擇自己所需的功能,推薦將“應用程序開發”中的所有選項全部勾選!如果作為真正的服務器使用,最好把功能全部配齊,省得再次配置。勾選完后,一路“下一步”等待安裝完成即可。
(Windows 7和Windows Server 2008 R2的配置類似對應的桌面版和服務器版,可參照上面的介紹配置)
安裝完成后,查看Windows服務,可以發現多出一項名為“World Wide Web Publishing Service”的服務,這個服務用于啟動和管理IIS進程,保證Windows開機啟動時,自動運行,而不需要某一個用戶登錄。
(IIS的服務)
2.設置網站路徑和端口
雖然服務器功能啟用完畢,雖然我們可以在局域網內通過IP地址或者在本機用localhost進行訪問,但我們只是瀏覽了微軟給我們的示例,我們需要讓IIS展示我們自己寫好的網站,此時就需要將網站相關的文件,如:aspx、html、dll等,這里,我們用ASP.NET中最簡單的WebForm形式單頁面演示如何部署一個真正的動態網站。
首先,假設我們的網站已經在VS中完全開發完成,如圖所示,網站基本目錄文件如下:
(一個基本的WebForm網站)
提前說明一點:這個網站就是一個基本的Web API,根據參數id(GET或POST提交),從數據庫中取出對應ID的數據,當id為0或不能轉換為int型數據時,返回所有數據,超出范圍則返回空數據。
如果直接運行或者調試,會看到下面的畫面,其中,瀏覽器地址是localhost+一個隨機的端口號,這是VS將網站掛在了自帶的IIS Express上,但IIS Express僅允許本地調試使用,如果在局域網測試或者把VS的調試關閉,則會發現網站不能訪問。
(IIS Express展示結果)
于是,我們現在可以有兩種方式整理網站需要的文件,第一是自己手動去復制,第二是用VS自動打包。如果不是網站特別大,文件特別多,還是建議自己復制。如圖所示,打開項目的源文件夾,我們會看到許多文件,有.cs、.vscxproj、.config等,其中,我們需要的只有以下幾種類型:
第一,網站的視圖或頁面文件,WebForm為aspx,MVC為cshtml或aspx,WebService為asmx等等
第二,網站的資源文件,如js腳本、圖片、css文件等
第三,網站的動態鏈接庫,即整個bin文件夾,及及其中的dll文件
第四,網站的配置文件,Web.config
(網站源碼文件夾)
剩下的文件,不管以什么后綴名結尾,全部都可以不要,但是不要刪,都是你自己的心血!
把這些文件復制到你需要掛網站的地方,如果是服務器系統,只要不是系統目錄,你可以任意放,如果是桌面版系統,別放在桌面上、系統目錄就行,推薦放在以下幾種路徑:
第一,IIS默認路徑,C:\inetpub\wwwroot\
第二,非C盤的其他路徑,如D:\xxx
第三,非網絡路徑的其他可讀寫、腳本可執行路徑
接著,我們要在IIS里進行網站路徑設置。打開IIS,在左邊的列表中看到“網站”一項,如圖所示,這里列出了所有在本機IIS服務器上掛載的站點
(IIS中的網站列表)
現在要考慮是將網站掛在本機的另一個TCP端口(Default Web Site默認綁定80端口,可以將自己的網站掛在8080等端口上)上,還是將網站掛在80端口下的一個虛擬目錄中,這里分別介紹。
首先,如果我們將網站掛在8080端口上,我們需要在“網站”中新建一個網站,大致操作為:右鍵“網站”->“添加網站”->輸入信息->點擊“確定”即可,其中,“網站名稱”任意填寫,“物理路徑”選擇上面放了網站相關文件的目錄路徑,剩下端口改為8080或者其他未占用端口都行,點擊確定,訪問http://localhost:8080/或者IP地址即可看到自己的網站了,如圖所示
(添加一個新網站)
其次,我們來看一下虛擬路徑的添加方法,所謂虛擬路徑,就是類似http://www.xiyoumobile.com/admin/等訪問方法,看似訪問了網站中的另一個文件夾,實際上訪問了另外一個網站,在IIS中可以選擇“添加虛擬目錄”和“添加應用程序”兩種方法實現,個人推薦后者,因為不用因為新建一個虛擬目錄而考慮.dll文件的放置位置。具體操作:對著要添加虛擬目錄的網站右鍵->"添加應用程序"->填寫“別名”和“路徑”->確定,在瀏覽器中輸入網站即可訪問到網站,其中,“別名”請填寫希望被訪問的虛擬目錄名,如http://www.xiyoumobile.com/admin/中,別名就應該填“admin”,而“路徑”則按照新建網站的方法填寫即可,如圖
(添加虛擬目錄)
3.設置權限
Windows NT系統出于安全性的考慮,設置了用戶組和權限的劃分,尤其在普通桌面版或者說家庭版的系統中體現的更為明顯,服務器上經常對Administrator賦予了最高權限,有童鞋說,按照上面的方法,搭建完成服務器了以后,Web頁面能打開,但是會報錯,500或者401等等,基本上是因為權限,如果401就是壓根兒啥權限都沒有,500有可能是在寫本地數據庫的時候,文件禁止寫入所造成的服務器錯誤,于是乎,就請各位童鞋仔細查看網站目錄的權限是否給夠了。
如何檢查呢,很簡單,打開IIS,在左邊的列表中選擇一個網站或者虛擬目錄,然后在右邊的“操作”一欄中,選擇“編輯權限”->“安全”,如圖所示
(在IIS編輯網站目錄權限)
在這里可以看到,我的網站目錄權限中有“Everyone”、“Authenticated Users”、“SYSTEM”、“Administrators”等幾個用戶組或者用戶名,并允許“Everyone”用戶組進行讀取和執行、列出等操作,所以網站的腳本、內容都是允許任何人進行訪問或者說獲取的,有些童鞋的硬盤中沒有設置過權限,有可能就沒有Everyone的這個權限,所以有可能訪問出現如下情況
(由于權限不夠而造成訪問失敗)
遇到這種情況有就可以在剛才(網站目錄文件夾)的“安全”中,添加Everyone或者IIS_IUSRS訪問權限,如果需要文件上傳,可以將某個文件夾設為可讀可寫可執行,只要在需要的權限上打上勾即可,如圖
(設置IIS_IUSRS的權限)
4.設置雜項
童鞋們該等急了,這下網站應該可以算正式發布了吧,別急,還有點東西要說!!
第一,默認文檔
有些童鞋說,安裝你說的方法都配置好,怎么打開還是報錯啊,就像下面的錯誤:
HTTP 錯誤 403.14 - Forbidden
Web 服務器被配置為不列出此目錄的內容。
(網站未找到默認文檔報錯)
但是你會發現如果打http://localhost:8080/Default.aspx又可以訪問了,這是因為:IIS默認的默認文檔為以下幾個:Default.htm、Default.asp、index.htm、index.html、iisstart.htm、default.aspx(在此說明一下,由于Windows系統在路徑上不區分大小寫,所以IIS上發布的網站也是不區分大小寫的),如果你的主頁文件不在上述文件之內,不輸文檔名,默認是無法訪問到的(這里我故意刪除了Default.aspx),所以,針對這種情況,請自行設置默認文檔,方法如下(這里假設要掛php網站):
(添加默認文檔)
添加默認文檔以后,直接敲域名或者IP及端口號即可方法默認頁面了!
第二,數據庫連接字符串
有些童鞋因為在本機測試時,SQL Server使用的是Windows身份驗證,所以VS自動生成到Web.config中的連接字符串如下所示
[html] view plain copy
而如果直接將這個連接字符串使用在網站上時,會發現網頁提示:
無法打開登錄所請求的數據庫 "Example"。登錄失敗。
用戶 'IIS APPPOOL\DefaultAppPool' 登錄失敗。
(數據庫異常)
所以,一定要注意,在將網站掛載到真正的IIS服務器上前,請將修改Web.config中的字符串,確保數據庫使用SQL Server身份驗證,且如果數據庫裝在本機,那么Data Source最好設為localhost,1433,如下面的代碼所示:
[html] view plain copy
第三,.NET Framework版本
尤其是在Windows 7版本中,默認只支持.NET Framework 3.5,如果.NET Framework 4和IIS的安裝順序不同,還會造成.NET沒有在IIS中注冊的問題,所以建議不管先裝.NET Framework,還是先裝IIS,都在掛網站前,以管理員身份運行cmd,然后進X:Windows\Microsoft.NET\Framework\v4.0.30319(64位:X:Windows\Microsoft.NET\Framework64\v4.0.30319,X代表系統安裝盤,如C),然后執行命令aspnet_regiis.exe -i,這樣可以保證.NET4被注冊到IIS,IIS才能正常運行.NET4版本以上的程序。
再者,如果應用開發時選擇了.NET4,而網站應用程序選擇的是.NET2,也是不行的。
這兩者都屬于運行框架異常,必須配置正確,否則就會報錯!
(選擇正確的應用程序池)
第四,禁用調試信息
調試信息一般在本地開發時有用,正式發布后如果讓訪問者看到,也會暴露一些網站信息,同時顯得開發者很業余,所以請在正式部署后,關閉調試信息,具體操作如下:
修改Web.config,將下面的內容修改
[html] view plain copy
修改后
[html] view plain copy
這樣就關閉了遠程訪問時的調試信息
第五,添加MIME類型
如果需要讓網站提供一些新文件訪問的服務,必須在IIS中添加一些文件的后綴名和MIME類型,尤其是IIS7,默認沒有.mp4格式文件的支持,如果不添加MIME類型,HTML5就不容易實現,還有其他的文件,如apk、ipa等安裝包,由于不常用,在IIS上也需要手動添加進來,如果不添加,就會報“404 Not Found”的錯誤,添加方法如下:
(添加MIME類型)
第六,其他設置
其他的設置包括訪問控制、IP地址過濾、反向代理、SSL、日志、CGI等等,這個根據個人需要來配置,而且都不是很困難,除非你要在IIS上跑Java。關于IIS的反向代理,童鞋們可以戳我的另一篇博文:《IIS上的方向代理》,以后我會繼續寫面向新手的Web服務器搭建教程,涵蓋Nginx、Apache和IIS上的PHP等等,感謝大家的關注!無限編程網http://cnc.fjwqss.cn!
【文章圖片來源網絡僅提供技術學習如有侵權請聯系刪除】
indows 服務器用IIS搭建網站詳細小白級教程:
通常開通服務器后,需要進行網站搭建,下面是windows2003及2008系統搭建網站的操作方法
網站搭建前需要將域名解析到搭建的本機服務器上,即綁定IP,在哪里搞的域名就在哪里解析,備案域名需要聯系IDC售后過白名單
一、Windows 2003
1、 如圖,打開服務器IIS程序,點擊“ 網站 ”右鍵空白部分“ 添加網站 ”
2、 進入網站創建向導——網站描述(可以隨意填寫)
4、網站主目錄路徑——選擇 網站源文件夾 路徑
5、網站訪問權限勾選——瀏覽
6、如圖,到這里網站就已經搭建完成。(由于windows 2003系統安裝的是較低版本的IIS,所以有些網頁文件格式無法讀取,需要手動添加)
7、例如index.html,html的格式是windows 2003系統無法自動識別讀取的,點擊已搭建的網頁,右鍵——屬性——文檔 添加index.html格式 點擊 應用 即可;
二、Windows 20081、服務器管理——角色——web服務器(iis)——網站 (需要在除C盤外,創建一個文件夾,用于存儲網站文件)
2、右鍵空白——添加網站
3、“ 網站名稱 ” 填寫本機搭建網站自設置名稱, “ 物理路徑 ” 為網站源文件路徑;
“ IP地址 ” 一般默認為本機IP可默認不填寫 “ 端口 ”填寫網站域名所需使用的端口 ,“ 主機名 ” 即為網站域名
Windows 服務器用IIS搭建網站詳細教程
注:80端口為國內默認網站端口,使用80端口對域名有要求,必須有 備案域名才可以使用80端口(限制端口)
無備案域名只能使用除80以外的端口進行搭建,打開方式即為域名加端口,或者ip加端口
搭建好的網站,如果出現打不開的情況,需檢查是否 解析 到本機服務器,域名是否過白名單(備案域名需要找IDC售后過白名單,未備案域名使用除80以外端口無需過白,解析后直接操作即可)
沒有任何限制的服務器,你想在服務器里干嘛就干嘛!
有一方自己的小世界BGP線路IP:
103.219.36.1
103.219.36.2
103.219.36.3
103.219.36.4
103.219.36.5
103.219.36.6
103.219.36.7
103.219.36.8
103.219.36.9
103.219.36.10
103.219.36.11
103.219.36.12
103.219.36.13
103.219.36.14
103.219.36.15
103.219.36.16
103.219.36.17
103.219.36.18
103.219.36.19
103.219.36.20
103.219.36.21
103.219.36.22
103.219.36.23
103.219.36.24
103.219.36.25
103.219.36.26
103.219.36.27
103.219.36.28
103.219.36.29
103.219.36.30
103.219.36.31
103.219.36.32
103.219.36.33
103.219.36.34
103.219.36.35
103.219.36.36
103.219.36.37
103.219.36.38
103.219.36.39
103.219.36.40
103.219.36.41
103.219.36.42
103.219.36.43
103.219.36.44
103.219.36.45
103.219.36.46
103.219.36.47
103.219.36.48
103.219.36.49
103.219.36.50
103.219.36.51
103.219.36.52
103.219.36.53
103.219.36.54
103.219.36.55
103.219.36.56
103.219.36.57
103.219.36.58
103.219.36.59
103.219.36.60
103.219.36.61
103.219.36.62
103.219.36.63
103.219.36.64
103.219.36.65
103.219.36.66
103.219.36.67
103.219.36.68
103.219.36.69
103.219.36.70
103.219.36.71
103.219.36.72
103.219.36.73
103.219.36.74
103.219.36.75
103.219.36.76
103.219.36.77
103.219.36.78
103.219.36.79
103.219.36.80
103.219.36.81
103.219.36.82
103.219.36.83
103.219.36.84
103.219.36.85
103.219.36.86
103.219.36.87
103.219.36.88
103.219.36.89
103.219.36.90
103.219.36.91
103.219.36.92
103.219.36.93
103.219.36.94
103.219.36.95
103.219.36.96
103.219.36.97
103.219.36.98
103.219.36.99
103.219.36.100
103.219.36.101
103.219.36.102
103.219.36.103
103.219.36.104
103.219.36.105
103.219.36.106
103.219.36.107
103.219.36.108
103.219.36.109
103.219.36.110
103.219.36.111
103.219.36.112
103.219.36.113
103.219.36.114
103.219.36.115
103.219.36.116
103.219.36.117
103.219.36.118
103.219.36.119
103.219.36.120
103.219.36.121
103.219.36.122
103.219.36.123
103.219.36.124
103.219.36.125
103.219.36.126
103.219.36.127
103.219.36.128
103.219.36.129
103.219.36.130
103.219.36.131
103.219.36.132
103.219.36.133
103.219.36.134
103.219.36.135
103.219.36.136
103.219.36.137
103.219.36.138
103.219.36.139
103.219.36.140
103.219.36.141
103.219.36.142
103.219.36.143
103.219.36.144
103.219.36.145
103.219.36.146
103.219.36.147
103.219.36.148
103.219.36.149
103.219.36.150
103.219.36.151
103.219.36.152
103.219.36.153
103.219.36.154
103.219.36.155
103.219.36.156
103.219.36.157
103.219.36.158
103.219.36.159
103.219.36.160
103.219.36.161
103.219.36.162
103.219.36.163
103.219.36.164
103.219.36.165
103.219.36.166
103.219.36.167
103.219.36.168
103.219.36.169
103.219.36.170
103.219.36.171
103.219.36.172
103.219.36.173
103.219.36.174
103.219.36.175
103.219.36.176
103.219.36.177
103.219.36.178
103.219.36.179
103.219.36.180
103.219.36.181
103.219.36.182
103.219.36.183
103.219.36.184
103.219.36.185
103.219.36.186
103.219.36.187
103.219.36.188
103.219.36.189
103.219.36.190
103.219.36.191
103.219.36.192
103.219.36.193
103.219.36.194
103.219.36.195
103.219.36.196
103.219.36.197
103.219.36.198
103.219.36.199
103.219.36.200
103.219.36.201
103.219.36.202
103.219.36.203
103.219.36.204
103.219.36.205
103.219.36.206
103.219.36.207
103.219.36.208
103.219.36.209
103.219.36.210
103.219.36.211
103.219.36.212
103.219.36.213
103.219.36.214
103.219.36.215
103.219.36.216
103.219.36.217
103.219.36.218
103.219.36.219
103.219.36.220
103.219.36.221
103.219.36.222
103.219.36.223
103.219.36.224
103.219.36.225
103.219.36.226
103.219.36.227
103.219.36.228
103.219.36.229
103.219.36.230
103.219.36.231
103.219.36.232
103.219.36.233
103.219.36.234
103.219.36.235
103.219.36.236
103.219.36.237
103.219.36.238
103.219.36.239
103.219.36.240
103.219.36.241
103.219.36.242
103.219.36.243
103.219.36.244
103.219.36.245
103.219.36.246
103.219.36.247
103.219.36.248
103.219.36.249
103.219.36.250
103.219.36.251
103.219.36.252
103.219.36.253
103.219.36.254
103.219.36.255
謂IIS默認文檔其實就是指某一個目錄下不指定首先打開文件的情況下默認打開的文件。默認文檔往往用于網站目錄,當訪問某一個網站目錄的時候首先打開默認文檔頁面,默認文檔可以是.html,.htm,.shtml,.asp,.php,.aspx,.jsp,.do等不同后綴的文件。默認文檔不是一個單獨的文件,它是一組文件,有優先級不同的一組文件。
IIS默認文檔的順序:
顯示的次序決定了它顯示的優先級別,如果一個站點默認文檔是:index.html,default.asp,default.html,index.htm,那么對應的含義就是當訪問這個站點的時候,首先打開該對應目錄下名稱為index.html的文件,如果找不到該文件則打開第二個default.asp這個文件,如果仍找不到依此繼續找下去,若在所有的默認文檔序列里都找不到對應的文件,則會返回一個404錯誤(找不到文件)。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。