Nasazení webu pomocí klienta FTP (C#)

Scott Mitchell

Stáhnout PDF

Nejjednodušším způsobem, jak nasadit aplikaci ASP.NET, je ruční zkopírování potřebných souborů z vývojového prostředí do produkčního prostředí. V tomto kurzu se dozvíte, jak pomocí klienta FTP získat soubory z počítače k poskytovateli webového hostitele.

Úvod

V předchozím kurzu jsme představili jednoduchou kontrolu knihy ASP.NET webovou aplikaci, která se skládá z několika ASP.NET stránek, stránky předlohy, vlastní základní Page třídy, řady obrázků a tří šablon stylů CSS. Nyní jsme připraveni nasadit tuto aplikaci u poskytovatele webového hostitele. V takovém okamžiku bude aplikace přístupná komukoli, kdo má připojení k internetu.

Z našich diskuzí v kurzu Určení souborů, které je potřeba nasadit , víme, jaké soubory je potřeba zkopírovat do poskytovatele webového hostitele. (Připomínáme, že to, jaké soubory se zkopírují, závisí na tom, jestli je vaše aplikace explicitně nebo automaticky zkompilována.) Jak ale získáme soubory z vývojového prostředí (našeho desktopu) až do produkčního prostředí (webový server spravovaný poskytovatelem webového hostitele)? Protokol FTP (F ile T ransfer P rotocol) je běžně používaný protokol pro kopírování souborů z jednoho počítače do druhého přes síť. Další možností je rozšíření FrontPage Server Extensions (FPSE). Tento kurz se zaměřuje na použití samostatného klientského softwaru FTP k nasazení potřebných souborů z vývojového prostředí do produkčního prostředí.

Poznámka

Visual Studio obsahuje nástroje pro publikování webů přes FTP. tyto nástroje, stejně jako pohled na nástroje, které používají FPSE, jsou popsány v dalším kurzu.

Ke kopírování souborů pomocí protokolu FTP potřebujeme ve vývojovém prostředí klienta FTP . Klient FTP je aplikace, která je určená ke kopírování souborů z počítače, na kterém je nainstalovaný, do počítače se serverem FTP. (Pokud váš poskytovatel webového hostitele podporuje přenosy souborů přes protokol FTP, jako většina z nich, je na webových serverech spuštěný server FTP.) K dispozici je celá řada klientských aplikací FTP. Webový prohlížeč se může jako klient FTP dokonce zdvojnásobit. Můj oblíbený klient FTP a ten, který budu používat pro tento kurz, je FileZilla, bezplatný opensourcový klient FTP, který je k dispozici pro Windows, Linux a Mac. Každý klient FTP ale bude fungovat, takže můžete použít klienta, se kterým jste nejpohodlnější.

Pokud budete postupovat podle pokynů, budete si muset před dokončením tohoto nebo následného kurzu vytvořit účet u poskytovatele webového hostitele. Jak bylo uvedeno v předchozím kurzu, existuje řada společností poskytujících webhosting se širokým spektrem cen, funkcí a kvality služeb. Pro tuto sérii kurzů budu používat Discount ASP.NET jako poskytovatele webového hostitele, ale můžete sledovat spolu s jakýmkoli poskytovatelem webových hostitelů, pokud podporují ASP.NET verzi, ve které je váš web vyvinut. (Tyto kurzy byly vytvořeny pomocí ASP.NET 3.5.) Vzhledem k tomu, že v tomto kurzu budeme soubory kopírovat do poskytovatele webového hostitele pomocí protokolu FTP, a v budoucích kurzech je nezbytné, aby poskytovatel webového hostitele podporoval přístup FTP k webovým serverům. Tuto funkci nabízejí prakticky všichni poskytovatelé webových hostitelů, ale před registrací byste to měli pečlivě zkontrolovat.

Nasazení projektu webové aplikace Book Review

Vzpomeňte si, že existují dvě verze webové aplikace Kontrola knih: jedna implementovaná pomocí modelu projektu webové aplikace (BookReviewsWAP) a druhá pomocí modelu projektu webu (BookReviewsWSP). Typ projektu ovlivňuje, jestli je web kompilován automaticky nebo explicitně, a tento model kompilace určuje, jaké soubory je třeba nasadit. V důsledku toho prozkoumáme nasazení projektů BookReviewsWAP a BookReviewsWSP samostatně, počínaje BookReviewsWAP. Pokud jste to ještě neudělali, chvíli si stáhněte tyto dvě ASP.NET aplikace.

Spusťte projekt BookReviewsWAP tak, že přejdete do BookReviewsWAP složky a poklikáním na BookReviewsWAP.sln soubor. Před nasazením projektu je důležité ho sestavit, abyste zajistili, že všechny změny zdrojového kódu budou zahrnuty do zkompilovaného sestavení. Pokud chcete projekt sestavit, přejděte do nabídky Build (Sestavit) a zvolte možnost nabídky Build BookReviewsWAP (Sestavit knihuReviewsWAP). Tím se zdrojový kód v projektu zkompiluje do jednoho sestavení , BookReviewsWAP.dllkteré je umístěno ve Bin složce.

Teď jsme připraveni nasadit potřebné soubory. Spusťte klienta FTP a připojte se k webovému serveru u poskytovatele webového hostitele. (Když se zaregistrujete u webhostingové společnosti, pošle vám e-mail s informacemi o tom, jak se připojit k serveru FTP. To zahrnuje adresu serveru FTP a také uživatelské jméno a heslo.)

Zkopírujte následující soubory z počítače do složky kořenového webu u poskytovatele webového hostitele. Při připojení FTP k webovému serveru u poskytovatele webového hostitele se pravděpodobně nacházíte v adresáři kořenového webu. Někteří poskytovatelé webových hostitelů však mají podsložku s názvem www nebo wwwroot , která slouží jako kořenová složka pro soubory webu. Nakonec při ftpingu souborů možná budete muset vytvořit odpovídající strukturu složek v produkčním prostředí – Bin složku, Fiction složku, Images složku atd.

  • ~/Default.aspx
  • ~/About.aspx
  • ~/Site.master
  • ~/Web.config
  • ~/Web.sitemap
  • Úplný obsah Styles složky
  • Úplný obsah Images složky (a její podsložky) BookCovers
  • ~/Fiction/Default.aspx
  • ~/Fiction/Blaze.aspx
  • ~/Tech/Default.aspx
  • ~/Tech/CYOW.aspx
  • ~/Tech/TYASP35.aspx
  • ~/Bin/BookReviewsWAP.dll

Obrázek 1 znázorňuje SouborZilla po zkopírování potřebných souborů. FileZilla zobrazí soubory v místním počítači na levé straně a soubory ve vzdáleném počítači vpravo. Jak ukazuje obrázek 1, soubory ASP.NET zdrojového kódu, například About.aspx.cs, jsou v místním počítači (vývojové prostředí), ale nebyly zkopírovány do poskytovatele webového hostitele (produkční prostředí), protože při použití explicitní kompilace není nutné nasazovat soubory kódu.

Poznámka

Není na škodu mít soubory zdrojového kódu na produkčním serveru, protože jsou ignorovány. ASP.NET ve výchozím nastavení zakazuje požadavky HTTP na soubory zdrojového kódu, takže i když jsou soubory zdrojového kódu na produkčním serveru, nejsou přístupné návštěvníkům vašeho webu. (To znamená, že pokud se uživatel pokusí navštívit http://www.yoursite.com/Default.aspx.cs , zobrazí se mu chybová stránka s vysvětlením, že tyto typy souborů – .cs soubory – jsou zakázány.)

Snímek obrazovky klienta FileZilla FTP, který ukazuje, že některé soubory zdrojového kódu ASP dot Net nebyly zkopírovány na vzdálený server.

Obrázek 1: Pomocí klienta FTP zkopírujte potřebné soubory z počítače na webový server u zprostředkovatele webového hostitele (kliknutím zobrazíte obrázek v plné velikosti)

Po nasazení webu chvíli trvá, než web otestujete. Pokud jste zakoupili název domény a správně nakonfigurovali nastavení DNS, můžete web navštívit zadáním názvu domény. Případně by vám poskytovatel webového hostitele měl poskytnout adresu URL vašeho webu, která bude vypadat přibližně jako název účtu. webhostprovider.com nebo webhostprovider.com/accountname. Například adresa URL mého účtu na ASP.NET Discount je: http://httpruntime.web703.discountasp.net.

Obrázek 2 znázorňuje nasazený web Kontroly knih. Všimněte si, že si ji prohlížím na Discount ASP. Net na adrese http://httpruntime.web703.discountasp.net. V tomto okamžiku si každý, kdo má připojení k internetu, může zobrazit mé webové stránky! Jak bychom očekávali, web vypadá a chová se stejně jako při testování ve vývojovém prostředí.

Poznámka

Pokud se při prohlížení aplikace zobrazí chyba, chvíli se ujistěte, že jste nasadili správnou sadu souborů. Dále zkontrolujte chybovou zprávu a zjistěte, jestli prozradí nějaké stopy k problému. Potom se můžete obrátit na helpdesk vaší společnosti webového hostitele nebo publikovat svůj dotaz na příslušném fóru na ASP.NET fórech.

Web Recenze knih je nyní přístupný pro každého, kdo má připojení k internetu

Obrázek 2: Web Recenze knih je nyní přístupný všem uživatelům s připojením k internetu (kliknutím zobrazíte obrázek v plné velikosti)

Nasazení projektu webu Book Review

Při nasazování ASP.NET aplikace, která používá automatickou kompilaci, například BookReviewsWSP Web Site Project, není ve Bin složce žádné kompilované sestavení. V důsledku toho musí být soubory zdrojového kódu webové aplikace nasazeny do produkčního prostředí. Pojďme si tento proces projít.

Stejně jako u projektu webové aplikace je vhodné před nasazením nejprve sestavit aplikaci. Při vytváření webového projektu nevytvoří sestavení, kontroluje případné chyby v době kompilace na stránce. Je lepší tyto chyby najít teď, než aby je návštěvník vašeho webu objevil za vás!

Po úspěšném sestavení projektu zkopírujte pomocí klienta FTP následující soubory do složky kořenového webu u poskytovatele webového hostitele. Možná budete muset vytvořit odpovídající strukturu složek v produkčním prostředí.

Poznámka

Pokud jste již nasadili projekt BookReviewsWAP, ale přesto chcete zkusit nasadit projekt BookReviewsWSP, nejprve odstraňte všechny soubory na webovém serveru, které byly nahrány při nasazování BookReviewsWAP, a pak nasaďte soubory pro BookReviewsWSP.

  • ~/Default.aspx
  • ~/Default.aspx.cs
  • ~/About.aspx
  • ~/About.aspx.cs
  • ~/Site.master
  • ~/Site.master.cs
  • ~/Web.config
  • ~/Web.sitemap
  • Úplný obsah Styles složky
  • Úplný obsah Images složky (a její podsložky) BookCovers
  • ~/App_Code/BasePage.cs
  • ~/Fiction/Default.aspx
  • ~/Fiction/Default.aspx.cs
  • ~/Fiction/Blaze.aspx
  • ~/Fiction/Blaze.aspx.cs
  • ~/Tech/Default.aspx
  • ~/Tech/Default.aspx.cs
  • ~/Tech/CYOW.aspx
  • ~/Tech/CYOW.aspx.cs
  • ~/Tech/TYASP35.aspx
  • ~/Tech/TYASP35.aspx.cs

Obrázek 3 ukazuje FileZilla po zkopírování potřebných souborů. Jak vidíte, soubory zdrojového kódu ASP.NET, například About.aspx.cs, jsou přítomné v místním počítači (vývojové prostředí) i v zprostředkovateli webového hostitele (produkční prostředí), protože při použití automatické kompilace je potřeba nasadit soubory kódu.

Snímek obrazovky s oknem klienta FileZilla FTP, které ukazuje, že soubory zdrojového kódu ASP dot Net se úspěšně nahrály na server

Obrázek 3: Kopírování potřebných souborů z počítače na webový server u poskytovatele webového hostitele pomocí klienta FTP (kliknutím zobrazíte obrázek v plné velikosti)

Model kompilace aplikace nemá vliv na uživatelské prostředí. Stejné ASP.NET stránky jsou přístupné a vypadají a chovají se stejně bez ohledu na to, zda byl web vytvořen pomocí modelu projektu webové aplikace nebo modelu projektu webu.

Aktualizace webové aplikace v produkčním prostředí

Vývoj a nasazení webových aplikací není jednorázový proces. Například při vytváření webu Revize knihy jsem vytvořil různé stránky a napsal doprovodný kód na svém osobním počítači (vývojovém prostředí). Po dosažení určitého stabilního stavu jsem nasadil aplikaci, aby ostatní mohli navštívit web a přečíst si moje recenze. Nasazení ale neznamená konec mého vývoje na tomto webu. Můžu přidat další recenze knih nebo implementovat nové funkce, například umožnit návštěvníkům hodnotit knihy nebo zanechat vlastní komentáře. Tato vylepšení by byla vyvinuta ve vývojovém prostředí a po dokončení by bylo nutné je nasadit. Vývoj a nasazení jsou proto cyklické. Vyvíjíte aplikaci a pak ji nasadíte. Zatímco je web živý a v produkčním prostředí, přidávají se nové funkce a chyby se opravují v průběhu času, což vyžaduje opětovné nasazení aplikace. A tak dál a tak dál.

Jak můžete očekávat, při opětovném nasazení webové aplikace stačí zkopírovat nové a změněné soubory. Není nutné znovu nasazovat nezměněné stránky nebo podpůrné soubory na straně serveru nebo klienta (i když to nijak neuškodí).

Poznámka

Při použití explicitní kompilace je potřeba mít na paměti, že kdykoli do projektu přidáte novou stránku ASP.NET nebo provedete jakékoli změny související s kódem, budete muset projekt znovu sestavit, čímž aktualizujete sestavení ve Bin složce. V důsledku toho budete muset toto aktualizované sestavení zkopírovat do produkčního prostředí při aktualizaci webové aplikace v produkčním prostředí (spolu s dalším novým a aktualizovaným obsahem).

Mějte také na Web.config vědomí, že všechny změny souborů v Bin adresáři se zastaví a restartují fond aplikací webu. Pokud je stav relace uložený v InProc režimu (výchozí), návštěvníci webu při každé změně těchto souborů klíčů ztratí svůj stav relace. Pokud se chcete tomuto nástrahám vyhnout, zvažte uložení relace pomocí StateServer režimů nebo SQLServer . Další informace o tomto tématu najdete v tématu Režimy stavu relace.

Nakonec mějte na paměti, že opětovné nasazení aplikace může trvat od několika sekund do několika minut v závislosti na počtu a velikosti souborů, které je potřeba zkopírovat do produkčního prostředí. Během této doby může docházet k chybám nebo podivným chováním uživatelů, kteří navštíví váš web. Celou aplikaci můžete "vypnout" tak, že do kořenového adresáře aplikace přidáte stránku s názvem App_Offline.htm , která uživatelům vysvětlí, že web je mimo provoz (nebo cokoliv jiného) a brzy se bude zálohovat. App_Offline.htm Když je soubor k dispozici, modul runtime ASP.NET přesměruje všechny příchozí požadavky na danou stránku.

Souhrn

Nasazení webové aplikace zahrnuje zkopírování potřebných souborů z vývojového prostředí do produkčního prostředí. Nejběžnějším způsobem přenosu souborů přes síť je protokol FTP (File Transfer Protocol) a většina poskytovatelů webových hostitelů podporuje přístup PŘES FTP ke svým webovým serverům. V tomto kurzu jsme zjistili, jak pomocí klienta FTP nasadit potřebné soubory na webový server. Po nasazení může web navštívit každý, kdo má připojení k internetu!

Šťastné programování!

Další čtení

Další informace o tématech probíraných v tomto kurzu najdete v následujících zdrojích informací: