整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          php手把手教你做網(wǎng)站(六)IIS創(chuàng)建站點注意事項

          1 iis添加網(wǎng)站

          站點名稱:隨便填寫;

          應(yīng)用程序池:創(chuàng)建站點的時候會自動生成對應(yīng)的,默認就好;

          物理路徑:選擇站點所在目錄;

          類型:本地一定是http,網(wǎng)上可能會有https;

          IP地址:默認端口默認,如果是別的端口,網(wǎng)址訪問的時候要加上端口號,例如:www.tp6.com:8080;

          主機名:如果是(本地)服務(wù)器只放置一個網(wǎng)站,為空就好,網(wǎng)上服務(wù)器填寫域名:例如www.tp6.com,如果是多個網(wǎng)站,也要填寫域名,域名可以是站點的拼音,下面會講為什么這么做;

          說幾點需要注意的地方:

          1、多個站點的時候,你可能會使用localhost:加不同的端口來訪問;但是這樣會導(dǎo)致難以區(qū)分要訪問哪個站點;我們可以做域名重定向

          第一步:正常添加站點,在綁定域名的地方填寫www.tp6.com(這里是隨便填寫的),其他不變;

          第二步:C:\Windows\System32\drivers\etc找到hosts,編輯,在結(jié)尾處填寫127.0.0.1 www.tp6.com;

          這樣我們的站點就建立完成了,通過網(wǎng)址www.tp6.com 就可以訪問我們的網(wǎng)站了。

          2、如果是本地運行不需要考慮安全性的問題,網(wǎng)上服務(wù)器需要注意幾個方面:

          1)禁止目錄瀏覽

          點開目錄瀏覽---右側(cè)操作下邊點禁用;

          2)禁止腳本運行

          選擇站點---處理映射程序---右側(cè)編輯功能權(quán)限---勾選的腳本取消掉---確定,我們會把上傳的圖片都放到一個文件夾下,這個文件夾是不需要運行php之類的腳本的;

          3)權(quán)限

          可以在iis選擇站點下文件夾,編輯權(quán)限,也可以在電腦里選擇文件夾右鍵點屬性->安全,選擇對應(yīng)的用戶編輯權(quán)限,除了上傳的文件夾別的文件夾包含文件可以只給讀取的全校,不能寫入。如果有寫日志或者寫入緩存這類的文件夾也要給出來寫入權(quán)限,拒絕權(quán)限是高于允許權(quán)限的,也就是說,同時選擇了允許,拒絕,那么該文件夾的權(quán)限也是拒絕的。

          3、添加完站點,查看一下默認文檔是不是有index.php;

          4、可能會出現(xiàn)需要添加MIME類型的情況,例如:支持less,添加擴展名.less,類型text/css;

          具/原料

          • iis
          • 花生殼

          方法和步驟

          之前說了怎么利用Windows自帶的iis搭建網(wǎng)站,今天就講一下怎么讓搭建的網(wǎng)站可以外網(wǎng)訪問,這里先簡單的示范一下,首先做好前面的iis安裝和配置,先做一個簡易的頁面,下載好花生殼軟件

          步驟1 本地網(wǎng)頁搭建

          打開iis管理器,點擊瀏覽打開根目錄,然后把網(wǎng)頁文件丟進去,名字為 index 后綴為 .html


          使用記事本或者網(wǎng)頁編寫軟件把網(wǎng)頁內(nèi)容寫好,保存文件


          做好以后點擊iis管理器右邊的瀏覽網(wǎng)站



          瀏覽器打開成功

          步驟2 花生殼軟件設(shè)置



          安裝花生殼軟件


          注冊賬號切登錄,這個就不說了 ,這邊我使用一個新的賬號走個流程


          登錄后點擊免費激活,然后下一步下一步

          例如,我這邊的設(shè)置的地址為 192.168.1.105 端口為 80



          選擇http,填寫對應(yīng)的地址,點擊保存

          然后需要稍微等待一會



          當(dāng)點擊診斷出現(xiàn)的是以下就是已經(jīng)完成了


          注意這樣的網(wǎng)站只有電腦開機,花生殼軟件運行的情況下,其他人才可以在外網(wǎng)進行訪問,網(wǎng)頁的域名可以在軟件的左下角選擇域名,進入頁面注冊域名,里面有免費的也有收費的,隨便玩玩還是可以的,如果需要的比較全,建議還是購買空間和域名

          .在asp.net core中使用多個環(huán)境

          ASP.NET Core 配置是基于運行時環(huán)境, 使用環(huán)境變量。ASP.NET Core 在應(yīng)用啟動時讀取環(huán)境變量ASPNETCORE_ENVIRONMENT,并將該值存儲在 IHostingEnvironment.EnvironmentName 中。ASPNETCORE_ENVIRONMENT 可設(shè)置為任意值,但框架支持三個值:Development、Staging 和 Production。 如果發(fā)布項目未設(shè)置 ASPNETCORE_ENVIRONMENT,則默認為 Production (本機vs中項目Properties\launchSettings.json中environmentVariables默認設(shè)置的是Development,如果禁用environmentVariables,那默認則為Production)。

          下面是Startup. Configure中的默認實現(xiàn),本機默認配置的是Development環(huán)境。

           //如果是Development環(huán)境
           if (env.IsDevelopment())
           {
           //當(dāng)捕獲同步和異步系統(tǒng)。管道中的異常實例,并生成HTML錯誤響應(yīng)。
           app.UseDeveloperExceptionPage();
           }
           else
           {
           //如果不是Development環(huán)境,向管道中添加一個中間件,用于捕獲異常、記錄異常并進行重置
           app.UseExceptionHandler("/Home/Error");
           app.UseHsts();
           }
          

          1.1 Development 模式

          開發(fā)環(huán)境可以啟用不應(yīng)該在生產(chǎn)中公開的功能, 例如ASP.NET Core 模板在開發(fā)環(huán)境中啟用了開發(fā)人員異常頁(app.UseDeveloperExceptionPage())。當(dāng)出現(xiàn)異常時,顯示錯誤頁信息如下圖所示:

          本地計算機開發(fā)環(huán)境可以在項目的 Properties\launchSettings.json 文件中設(shè)置。 在 launchSettings.json 中設(shè)置的環(huán)境值替代在系統(tǒng)環(huán)境中設(shè)置的值。新建的mvc項目默認配置如下:

          {
           "iisSettings": {
           "windowsAuthentication": false, 
           "anonymousAuthentication": true, 
           "iisExpress": {
           "applicationUrl": "http://localhost:30081",
           "sslPort": 44349
           }
           },
           "profiles": {
           "IIS Express": {
           "commandName": "IISExpress",
           "launchBrowser": true,
           "environmentVariables": {
           "ASPNETCORE_ENVIRONMENT": "Development"
           }
           },
           "MyNetCoreStudy_MVC": {
           "commandName": "Project",
           "launchBrowser": true,
           "applicationUrl": "https://localhost:5001;http://localhost:5000",
           "environmentVariables": {
           "ASPNETCORE_ENVIRONMENT": "Development"
           }
           }
           }
          }
          

          launchSettings.json 中的 applicationUrl 屬性可指定服務(wù)器 URL 的列表。 在列表中的 URL 之間使用分號。注意:launchSettings.json只用于本機在vs 中開發(fā)使用,在開發(fā)中可以選擇三種之中任意一種的環(huán)境模式。當(dāng)項目發(fā)布后,發(fā)布后(iis做反向代理),發(fā)布的文件中并不會有l(wèi)aunchSettings.json文件。

          如果不用vs來啟動應(yīng)用程序,使用 dotnet run 命令來 啟動應(yīng)用程序時,使用具有 "commandName": "Project" 的第一個配置文件。 commandName 的值指定要啟動的 Web 服務(wù)器。 commandName 可為以下任一項:IIS Express、IIS、Project(啟動 Kestrel 的項目)。

          當(dāng)使用dotnet run 啟動應(yīng)用時:1會讀取 launchSettings.json中的environmentVariables;2是會顯示打印出host 環(huán)境。

          1.2 Production 模式

          Production 環(huán)境應(yīng)配置為最大限度地提高安全性、性能和應(yīng)用可靠性。 不同于開發(fā)環(huán)境的一些通用設(shè)置包括:

          (1) 緩存

          (2) 客戶端資源被捆綁和縮小,并可能從 CDN (網(wǎng)絡(luò)分發(fā))提供。

          (3) 已禁用診斷錯誤頁。

          (4) 已啟用友好錯誤頁。

          (5) 已啟用生產(chǎn)記錄和監(jiān)視。

          二. 環(huán)境設(shè)置

          在項目中為測試設(shè)置特定環(huán)境通常很有用。 如果未設(shè)置環(huán)境,默認值為 Production,這會禁用大多數(shù)調(diào)試功能。設(shè)置環(huán)境的方法取決于操作系統(tǒng)。例如將asp.net core razor項目發(fā)布后,部署到IIS上,訪問OtherPages/page1時出現(xiàn)異常。此時默認是Production 環(huán)境變量,會顯示了error頁面信息, 表示已啟用友好錯誤頁。如下圖所示 :

          2.1 修改環(huán)境變量

          上面講到,設(shè)置環(huán)境的方法取決于操作系統(tǒng):有Azure 應(yīng)用服務(wù)、Windows、macOS、Linux等。每種操作系統(tǒng)上設(shè)置環(huán)境變量的方法不同,這里不在介紹,具體參考文檔。這里就先只介紹在Windows操作系統(tǒng)上以iis做反向代理的配置環(huán)境變量。

          在Windows操作系統(tǒng)上配置環(huán)境變量方法有很多。當(dāng)發(fā)布后,文件中有一個web.config。這里就介紹下在web.config中設(shè)置 ASPNETCORE_ENVIRONMENT 環(huán)境變量。使用 web.config 設(shè)置 ASPNETCORE_ENVIRONMENT 環(huán)境變量后,它的值會替代系統(tǒng)級設(shè)置。

          <aspNetCore processPath="dotnet" arguments=".\MyNetCoreStudy.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess">
           <environmentVariables>
           <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
           </environmentVariables>
           </aspNetCore>
          

          此時iis上該項目就是Development開發(fā)環(huán)境了,再次訪問OtherPages/page1時出現(xiàn)異常,此時會捕獲同步和異步系統(tǒng)。管道中的異常實例,并生成HTML錯誤響應(yīng)。詳細異常信息如下圖所示:

          三. 發(fā)布到IIS上步驟

          下面簡單講下發(fā)布到IIS上的步驟實現(xiàn):

          (1) 安裝好IIS,網(wǎng)上很多參考資料。

          (2)下載dotnet-hosting-2.2.1-win.exe 用于在iis上處理對web服務(wù)器的請求。下載地址介紹:

          https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.2#install-the-net-core-hosting-bundle

          在里面找到“當(dāng)前 .NET Core 托管捆綁包安裝程序(直接下載)”這里進去可以下載到當(dāng)前版本(aspnetcore-2.2),安裝后,在iis模塊中能看到AspNetCoreModuleV2。對應(yīng)發(fā)布項目中web.config的<handlers>處理。

           <handlers>
           <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
           </handlers>
          

          (3) 在vs中右擊項目發(fā)布,選擇"iis Ftp" 點擊發(fā)布。 選擇“文件系統(tǒng)”, 目標(biāo)位置可以選擇當(dāng)前電腦位置如: D:\DonetCoreStudy\IIS

          (4) 在iis這邊,添加網(wǎng)站

          (5) 在應(yīng)用程序池中對項目(MyNetCoreStudy) 選擇無托管代碼。

          這樣發(fā)布到iis上就成功了。

          (6) 發(fā)布后打開頁面,如果出現(xiàn)數(shù)據(jù)庫連接不上,在發(fā)布時要選擇,如下圖所示:

          還有就是連接配置改成sa的用戶名和密碼登錄,sqlserver服務(wù)的登錄為本地服務(wù)

          (7) iis調(diào)試,發(fā)布后打開網(wǎng)頁,在vs 2019中附加進程后,無法進入斷點調(diào)試,解決是發(fā)布為debug模式,如下圖所示:

          四. 基于環(huán)境的 Startup 類

          最后在講下Startup 類約定。當(dāng) ASP.NET Core 應(yīng)用啟動時,會啟動Startup類。 應(yīng)用程序可以為不同的環(huán)境,單獨定義 Startup 類??梢远x例如: StartupDevelopment類、StartupProduction類,Startup類。當(dāng)程序運行時會選擇相應(yīng)的 Startup 類。 程序會優(yōu)先考慮名稱后綴與當(dāng)前環(huán)境相匹配的類。如果是Developmen環(huán)境則程序進入StartupDevelopment類,如果是Production環(huán)境則程序進入StartupProduction類。如果找不到匹配的 Startup{EnvironmentName},就會使用 Startup 類。

          基于環(huán)境的 Startup 類實現(xiàn)代碼如下:

          public class StartupDevelopment
           {
           public void ConfigureServices(IServiceCollection services)
           {
           // ...
           }
           public void Configure(IApplicationBuilder app, IHostingEnvironment env)
           {
           // ...
           }
           }
           // Startup class to use in the Production environment
           public class StartupProduction
           {
           public void ConfigureServices(IServiceCollection services)
           {
           //...
           }
           public void Configure(IApplicationBuilder app, IHostingEnvironment env)
           {
           // ...
           }
           }
           
          // Fallback Startup class
          // Selected if the environment doesn't match a Startup{EnvironmentName} class
          public class Startup
          {
           public void ConfigureServices(IServiceCollection services)
           {
           //...
           }
           public void Configure(IApplicationBuilder app, IHostingEnvironment env)
           {
           //...
           }
          }
          /// <summary>
          /// 根據(jù)環(huán)境變量,動態(tài)加載Startup的程序集類
          /// </summary>
          /// <param name="args"></param>
          /// <returns></returns>
          public static IWebHostBuilder CreateWebHostBuilder(string[] args)
          {
           var assemblyName = typeof(Startup).GetTypeInfo().Assembly.FullName;
           return WebHost.CreateDefaultBuilder(args)
           .UseStartup(assemblyName);
          }
          

          參考文獻

          官方資料:asp.net core 環(huán)境

          歡迎添加個人微信號:Like若所思。

          歡迎關(guān)注我的公眾號,不僅為你推薦最新的博文,還有更多驚喜和資源在等著你!一起學(xué)習(xí)共同進步!


          主站蜘蛛池模板: 国偷自产Av一区二区三区吞精 | 国产福利电影一区二区三区,日韩伦理电影在线福| 精品国产一区在线观看| 人妻少妇精品视频一区二区三区| 久久精品视频一区二区三区| 精品一区精品二区制服| 精品国产高清自在线一区二区三区| 国产精品无码一区二区三区毛片| 精品一区二区三区在线播放| 中文字幕一区在线| 无码人妻精品一区二区三区久久 | 久久青草精品一区二区三区| 亚洲av成人一区二区三区| 韩国精品一区视频在线播放| 久久国产精品一区| 91在线视频一区| 国产MD视频一区二区三区| 综合人妻久久一区二区精品| 亚洲综合无码一区二区三区| 精品亚洲福利一区二区| 国产亚洲一区二区三区在线不卡| 中文字幕一区视频| 亚洲Aⅴ无码一区二区二三区软件| 中文字幕一区在线| 成人区人妻精品一区二区三区 | 免费看一区二区三区四区| 亚洲综合一区国产精品| 一区二区三区免费高清视频| 精品一区二区三区四区在线播放| 卡通动漫中文字幕第一区| 久久一区二区明星换脸| 视频精品一区二区三区| 精品日韩亚洲AV无码一区二区三区| 精品91一区二区三区| 亚洲乱码一区av春药高潮| 相泽亚洲一区中文字幕| 国产凸凹视频一区二区| 精品亚洲AV无码一区二区三区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲一区爱区精品无码| 无码人妻av一区二区三区蜜臀|