Nasazení webu pomocí klienta FTP (VB)
Nejjednodušším způsobem nasazení aplikace 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 byla představena jednoduchá webová aplikace pro kontrolu knih ASP.NET, 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 tomto okamžiku bude aplikace přístupná všem uživatelům s připojením k internetu.
Z našich diskuzí v kurzu Určení souborů, které je potřeba nasadit , víme, které 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 zkompilovaná.) Jak ale získáme soubory z vývojového prostředí (našeho desktopu) do produkčního prostředí (webového serveru spravovaného poskytovatelem webového hostitele)? F ile T ransfer P rotocol (FTP) 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 fps (FrontPage Server Extensions). 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.
Pokud chcete soubory zkopírovat pomocí 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, na kterém běží server FTP. (Pokud váš poskytovatel webového hostitele podporuje přenosy souborů přes protokol FTP, je na webových serverech spuštěný server FTP.) K dispozici je celá řada klientských aplikací FTP. Váš 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 libovolného klienta, se kterým si nejlépe pohrajete.
Pokud postupujete 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 chlápek webových hostitelských společností s širokým spektrem cen, funkcí a kvality služeb. Pro tuto sérii kurzů budu používat Discount ASP.NET jako můj web host poskytovatele, ale můžete sledovat spolu s libovolným poskytovatelem webových hostitelů, pokud podporují ASP.NET verzi, ve které je váš web vyvíjen. (Tyto kurzy byly vytvořeny pomocí ASP.NET 3.5.) Také vzhledem k tomu, že v tomto kurzu budeme kopírovat soubory do poskytovatele webového hostitele pomocí protokolu FTP, a v budoucích kurzech je nutné, aby váš poskytovatel webového hostitele podporoval přístup ftp ke svým 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 Revize knih: jedna implementovaná pomocí modelu projektu webové aplikace (BookReviewsWAP) a druhá pomocí modelu webového projektu (BookReviewsWSP). Typ projektu ovlivňuje, jestli se web zkompiluje automaticky nebo explicitně, a tento model kompilace určuje, jaké soubory je potřeba nasadit. V důsledku toho prozkoumáme nasazení projektů BookReviewsWAP a BookReviewsWSP samostatně, počínaje bookreviewsWAP. Udělejte si chvilku a stáhněte si tyto dvě ASP.NET aplikace, pokud jste to ještě neudělali.
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é jej sestavit, aby se zajistilo, ž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 Sestavení a zvolte možnost nabídky Build BookReviewsWAP. Tím se zdrojový kód v projektu zkompiluje do jednoho sestavení , BookReviewsWAP.dll
které 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 svého 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 plochy 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 FTPing 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žkyBookCovers
) ~/Fiction/Default.aspx
~/Fiction/Blaze.aspx
~/Tech/Default.aspx
~/Tech/CYOW.aspx
~/Tech/TYASP35.aspx
~/Bin/BookReviewsWAP.dll
Obrázek 1 ukazuje FileZilla po zkopírování potřebných souborů. FileZilla zobrazí soubory v místním počítači na levé straně a soubory na vzdáleném počítači vpravo. Jak ukazuje obrázek 1, soubory ASP.NET zdrojového kódu, například About.aspx.vb
, jsou v místním počítači (vývojové prostředí), ale nebyly zkopírovány do zprostředkovatele 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í o návštěvu http://www.yoursite.com/Default.aspx.vb
, zobrazí se mu chybová stránka s vysvětlením, že tyto typy souborů – .vb
soubory – jsou zakázány.)
Obrázek 1: Použití klienta FTP ke zkopírování potřebných souborů 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 zkuste web otestovat. 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 nějak takto: accountname. 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 Recenzí 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 každý s připojením 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 při prohlížení aplikace dojde k chybě, chvíli se ujistěte, že jste nasadili správnou sadu souborů. Dále zkontrolujte chybovou zprávu a zjistěte, jestli neskrývá nějaké vodítko k problému. Potom se můžete obrátit na helpdesk vaší společnosti pro webhostingu nebo publikovat svůj dotaz na příslušné fórum na ASP.NET fór.
Obrázek 2: Web recenzí 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 nasazení 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 tímto postupem projít.
Stejně jako u projektu webové aplikace je vhodné aplikaci před nasazením nejprve sestavit. Při vytváření webového projektu nevytvoří sestavení, kontroluje případné chyby při kompilaci na stránce. Je lepší najít tyto chyby nyní, 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 odeslány při nasazování BookReviewsWAP, a pak nasaďte soubory pro BookReviewsWSP.
~/Default.aspx
~/Default.aspx.vb
~/About.aspx
~/About.aspx.vb
~/Site.master
~/Site.master.vb
~/Web.config
~/Web.sitemap
- Úplný obsah
Styles
složky - Úplný obsah
Images
složky (a její podsložkyBookCovers
) ~/App_Code/BasePage.vb
~/Fiction/Default.aspx
~/Fiction/Default.aspx.vb
~/Fiction/Blaze.aspx
~/Fiction/Blaze.aspx.vb
~/Tech/Default.aspx
~/Tech/Default.aspx.vb
~/Tech/CYOW.aspx
~/Tech/CYOW.aspx.vb
~/Tech/TYASP35.aspx
~/Tech/TYASP35.aspx.vb
Obrázek 3 ukazuje FileZilla po zkopírování potřebných souborů. Jak vidíte, soubory zdrojového kódu ASP.NET, jako About.aspx.vb
je , se nacházejí v místním počítači (vývojovém prostředí) i u poskytovatele webového hostitele (produkční prostředí), protože při použití automatické kompilace je potřeba nasadit soubory kódu.
Obrázek 3: Použití klienta FTP ke zkopírování potřebných souborů z počítače na webový server u zprostředkovatele webového hostitele (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 Pro kontrolu knih 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 mým 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é. Vytvoříte aplikaci a pak ji nasadíte. Zatímco je web aktivní a v produkčním prostředí, přidávají se nové funkce a postupně se opravují chyby, což vyžaduje opětovné nasazení aplikace. A tak dále a tak dále.
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 není na škodu).
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 změny související s kódem, budete muset projekt znovu sestavit, čímž se aktualizuje 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ý pomocí 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. Abyste se tomuto nástrahám vyhnuli StateServer
, zvažte uložení relace pomocí 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 několik sekund až několik 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 u uživatelů, kteří navštíví váš web, docházet k chybám nebo podivným chováním. Celou aplikaci můžete "vypnout" tak, že do kořenového adresáře vaší aplikace přidáte stránku s názvem App_Offline.htm
, která uživatelům vysvětlí, že web je mimo provoz kvůli údržbě (nebo cokoliv jiného) a brzy se vrátí zpět. App_Offline.htm
Pokud je soubor k dispozici, modul runtime ASP.NET přesměruje všechny příchozí požadavky na tuto 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 ftp k jejich webovým serverům. V tomto kurzu jsme viděli, jak pomocí klienta FTP nasadit potřebné soubory na webový server. Po nasazení může web navštívit kdokoli, kdo má připojení k internetu.
Všechno nejlepší na programování!
Další čtení
Další informace o tématech probíraných v tomto kurzu najdete v následujících zdrojích informací: