Nasazení webové aplikace ASP.NET s SQL Server Compact pomocí sady Visual Studio nebo Visual Web Developer: Nasazení do produkčního prostředí – 7 z 12
V této sérii kurzů se dozvíte, jak nasadit (publikovat) projekt ASP.NET webové aplikace, který obsahuje databázi SQL Server Compact pomocí sady Visual Studio 2012 RC nebo Visual Studio Express 2012 RC pro web. Visual Studio 2010 můžete použít také při instalaci aktualizace publikování na webu. Úvod do série najdete v prvním kurzu v této sérii.
Kurz, který ukazuje funkce nasazení zavedené po verzi RC sady Visual Studio 2012, ukazuje, jak nasadit SQL Server edice jiné než SQL Server Compact, a ukazuje, jak nasadit do Azure App Service Web Apps, najdete v tématu nasazení webu ASP.NET pomocí sady Visual Studio.
Přehled
V tomto kurzu nastavíte účet u poskytovatele hostingu a nasadíte ASP.NET webovou aplikaci do produkčního prostředí pomocí funkce publikování jedním kliknutím sady Visual Studio.
Připomenutí: Pokud se vám při procházení kurzu zobrazí chybová zpráva nebo něco nefunguje, nezapomeňte se podívat na stránku pro řešení potíží.
Výběr poskytovatele hostingu
Pro aplikaci Contoso University a tuto řadu kurzů potřebujete poskytovatele, který podporuje ASP.NET 4 a Nasazení webu. Byla vybrána konkrétní hostingová společnost, aby kurzy mohly ilustrovat kompletní prostředí nasazení na živý web. Každá hostitelská společnost poskytuje různé funkce a prostředí nasazení na jejich servery se poněkud liší. Proces popsaný v tomto kurzu je však typický pro celý proces. Poskytovatel hostingu použitý pro tento kurz, Cytanium.com, je jedním z mnoha dostupných a jeho použití v tomto kurzu nepředstavuje doporučení ani doporučení.
Až budete připraveni vybrat si vlastního poskytovatele hostingu, můžete porovnat funkce a ceny v galerii poskytovatelů na Microsoft.com/web webu.
Vytvoření účtu
Vytvořte účet u vybraného poskytovatele. Pokud je podpora úplného SQL Server databáze přidaná navíc, nemusíte ji pro tento kurz vybírat, ale budete ji potřebovat pro kurz Migrace na SQL Server dále v této sérii.
Pro účely těchto kurzů nemusíte registrovat nový název domény. Úspěšné nasazení můžete otestovat pomocí dočasné adresy URL přiřazené k webu poskytovatelem.
Po vytvoření účtu obvykle obdržíte uvítací e-mail s veškerými informacemi, které potřebujete k nasazení a správě webu. Informace, které vám pošle poskytovatel hostingu, budou podobné jako tady. Uvítací e-mail společnosti Cytanium, který je odeslán novým vlastníkům účtu, obsahuje následující informace:
Adresa URL webu ovládacího panelu poskytovatele, kde můžete spravovat nastavení svého webu. Id a heslo, které jste zadali, jsou součástí této části uvítacího e-mailu pro snadnou referenci. (Obě byly změněny na ukázkovou hodnotu pro tento obrázek.)
Výchozí verze rozhraní .NET Framework a informace o tom, jak ji změnit. Mnoho hostitelských webů má výchozí hodnotu 2.0, která funguje s ASP.NET aplikacemi, které cílí na rozhraní .NET Framework 2.0, 3.0 nebo 3.5. Contoso University je ale aplikace .NET Framework 4, takže toto nastavení musíte změnit. (Pro aplikaci ASP.NET 4.5 byste použili nastavení .NET 4.0.)
Dočasná adresa URL, kterou můžete použít pro přístup k webu. Při vytvoření tohoto účtu se jako název existující domény zadalo "contosouniversity.com". Proto je
http://contosouniversity.com.vserver01.cytanium.com
dočasná adresa URL .Informace o tom, jak nastavit databáze a připojovací řetězce, které potřebujete pro přístup k databázím:
Informace o nástrojích a nastaveních pro nasazení webu (E-mail od Cytanium také uvádí WebMatrix, který je zde vynechán.)
Nastavení verze rozhraní .NET Framework
Uvítací e-mail Cytanium obsahuje odkaz na pokyny ke změně verze rozhraní .NET Framework. Tyto pokyny vysvětlují, že to lze provést prostřednictvím ovládacího panelu Cytanium. Jiní poskytovatelé mají weby ovládacích panelů, které vypadají jinak, nebo vás můžou instruovat, abyste to udělali jiným způsobem.
Přejděte na adresu URL ovládacího panelu. Po přihlášení pomocí uživatelského jména a hesla se zobrazí ovládací panely.
V poli Hostující prostory podržte ukazatel myši na ikonu Web a v nabídce vyberte Weby .
V poli Weby klikněte na contosouniversity.com (název webu, který jste použili při vytváření účtu).
V poli Vlastnosti webu vyberte kartu Rozšíření .
Změňte ASP.NET z integrovaného kanálu 2.0 na 4.0 (integrovaný kanál) a potom klikněte na Aktualizovat.
Publikování u poskytovatele hostingu
Uvítací e-mail od poskytovatele hostingu obsahuje všechna nastavení, která potřebujete k publikování projektu, a tyto informace můžete zadat ručně do profilu publikování. Ke konfiguraci nasazení do poskytovatele ale použijete jednodušší metodu, která je méně náchylná k chybám: stáhnete soubor .publishsettings a naimportujete ho do profilu publikování.
V prohlížeči přejděte na ovládací panel Cytanium, vyberte Web a pak vyberte Weby.
Vyberte web contosouniversity.com .
Vyberte kartu Publikování na webu .
Vytvořte přihlašovací údaje pro publikování na webu zadáním uživatelského jména a hesla. Můžete zadat stejné přihlašovací údaje, které používáte pro přihlášení k ovládacím panelům. Pak klikněte na Povolit.
Klikněte na Stáhnout profil publikování pro tento web.
Když se zobrazí výzva k otevření nebo uložení souboru, uložte ho.
V Průzkumník řešení v sadě Visual Studio klikněte pravým tlačítkem na projekt ContosoUniversity a vyberte Publikovat. Na kartě Náhled se otevře dialogové okno Publikovat web s vybraným testovacím profilem, protože se jedná o poslední profil, který jste použili.
Vyberte kartu Profil a potom klikněte na Importovat.
V dialogovém okně Importovat nastavení publikování vyberte stažený soubor .publishsettings a klikněte na Otevřít. Průvodce přejde na kartu Připojení se všemi vyplněnými poli.
Soubor .publishsettings vloží plánovanou trvalou adresu URL webu do pole Cílová adresa URL, ale pokud jste si tuto doménu ještě nekoupili, nahraďte hodnotu dočasnou adresou URL. V tomto příkladu je http://contosouniversity.com.vserver01.cytanium.com
adresa URL. Jediným účelem tohoto pole je určit, na jakou adresu URL se bude prohlížeč automaticky otevírat po úspěšném nasazení. Pokud ho necháte prázdný, jediným důsledkem je, že se prohlížeč po nasazení nespustí automaticky.
Kliknutím na Ověřit připojení ověřte správnost nastavení a můžete se připojit k serveru. Jak jste viděli dříve, zelená značka zaškrtnutí ověří, že připojení proběhlo úspěšně.
Když kliknete na Ověřit připojení, může se zobrazit dialogové okno Chyba certifikátu . Pokud to uděláte, ověřte, že název serveru odpovídá očekávání. Pokud ano, vyberte Uložit tento certifikát pro budoucí relace sady Visual Studio a klikněte na Přijmout. (Tato chyba znamená, že se poskytovatel hostingu rozhodl vyhnout se nákladům na nákup certifikátu SSL pro adresu URL, na kterou nasazujete. Pokud dáváte přednost vytvoření zabezpečeného připojení pomocí platného certifikátu, obraťte se na svého poskytovatele hostingu.)
Klikněte na Next (Další).
V části Databáze na kartě Nastavení zadejte stejné hodnoty, které jste zadali pro profil testovacího publikování. Potřebné připojovací řetězce najdete v rozevíracích seznamech.
- V poli připojovacího řetězce pro SchoolContext vyberte
Data Source=|DataDirectory|School-Prod.sdf
- V části SchoolContext vyberte Použít Migrace Code First.
- V poli připojovacího řetězce pro DefaultConnection vyberte
Data Source=|DataDirectory|aspnet-Prod.sdf
- V části Výchozípřipojení ponechte neza zaškrtnutou možnost Aktualizovat databázi .
Klikněte na Next (Další).
Na kartě Náhled klikněte na Spustit náhled a zobrazte seznam souborů, které se budou zkopírovat. Zobrazí se stejný seznam, který jste viděli dříve při nasazení do služby IIS na místním počítači.
Před publikováním změňte název profilu tak, aby se použil Web.Production.config transformační soubor. Vyberte kartu Profil a klikněte na Spravovat profily.
V dialogovém okně Upravit profily publikování webu vyberte profil produkce, klikněte na Přejmenovat a změňte název profilu na Produkční. Potom klikněte na Zavřít.
Klikněte na Publikovat.
Aplikace se publikuje pro poskytovatele hostingu. Výsledek se zobrazí v okně Výstup .
Prohlížeč se automaticky otevře na adrese URL, kterou jste zadali do pole Cílová adresa URL na kartě Připojení v průvodci Publikováním webu . Zobrazí se stejná domovská stránka jako při spuštění webu v sadě Visual Studio s tím rozdílem, že v záhlaví není žádný indikátor prostředí (Test) nebo (Dev). To znamená, že indikátor prostředí Web.config transformace fungoval správně.
Poznámka
Pokud se v záhlaví stále zobrazuje "(Test)", odstraňte složku obj z projektu ContosoUniversity a znovu ji nasaďte. V předběžných verzích softwaru se dříve použitý soubor transformace (Web.Test.config) může znovu použít, i když používáte profil Production.
Než spustíte stránku, která způsobí přístup k databázi, ujistěte se, že Elmah bude moct protokolovat všechny chyby, ke kterým dojde.
Nastavení oprávnění ke složce pro Elmah
Jak si pamatujete z předchozího kurzu v této sérii, musíte se ujistit, že aplikace má oprávnění k zápisu pro složku ve vaší aplikaci, kde Elmah ukládá soubory protokolu chyb. Když jste nasadili službu IIS místně na svém počítači, nastavili jste tato oprávnění ručně. V této části se dozvíte, jak nastavit oprávnění na Cytanium. (Někteří poskytovatelé hostingu vám to nemusí povolit. Můžou nabídnout jednu nebo více předdefinovaných složek s oprávněním k zápisu. V takovém případě byste museli aplikaci upravit tak, aby používala zadané složky.)
Oprávnění ke složce můžete nastavit v ovládacím panelu Cytanium. Přejděte na adresu URL ovládacího panelu a vyberte Správce souborů.
V poli Správce souborů vyberte contosouniversity.com a potom wwwroot , aby se zobrazila kořenová složka aplikace. Klikněte na ikonu visacího zámku vedle Položky Elmah.
V okněOprávnění složkysouborů/ zaškrtněte políčka Číst a Zapisovat pro contosouniversity.com a klikněte na Nastavit oprávnění.
Ujistěte se, že elmah má oprávnění k zápisu do složky Elmah tím, že způsobí chybu a zobrazí zprávu o chybě Elmah. Vyžádejte si neplatnou adresu URL, například Studentsxxx.aspx. Stejně jako předtím se zobrazí stránka GenericErrorPage.aspx . Klikněte na odkaz Odhlásit se a spusťte elmah.axd. Nejprve se zobrazí přihlašovací stránka, která ověří, že Web.config transformaci úspěšně přidal autorizaci Elmah. Po přihlášení se zobrazí sestava s chybou, kterou jste právě způsobili.
Testování v produkčním prostředí
Spusťte stránku Studenti . Aplikace se poprvé pokusí o přístup ke školní databázi, což aktivuje Migrace Code First k vytvoření databáze. Když se stránka zobrazí po chvilce zpoždění, zobrazí se, že žádní studenti nejsou.
Spuštěním stránky Instruktoři ověřte, že data z počátečních dat úspěšně vložili data instruktora do databáze.
Stejně jako v testovacím prostředí chcete ověřit, že aktualizace databáze fungují v produkčním prostředí, ale obvykle nechcete zadávat testovací data do produkční databáze. Pro účely tohoto kurzu použijete stejnou metodu jako v testu. Ve skutečné aplikaci ale můžete chtít najít metodu, která ověří, jestli jsou aktualizace databáze úspěšné, aniž by se do produkční databáze vnášela testovací data. V některých aplikacích může být praktické něco přidat a pak to odstranit.
Přidejte studenta a pak zobrazte data, která jste zadali na stránce Studenti , abyste ověřili, že můžete aktualizovat data v databázi.
Výběrem možnosti Aktualizovat kredity v nabídce Kurzy ověřte, že autorizační pravidla fungují správně. Zobrazí se přihlašovací stránka. Zadejte přihlašovací údaje účtu správce, klikněte na Přihlásit se a zobrazí se stránka Aktualizovat kredity .
Pokud je přihlášení úspěšné, zobrazí se stránka Aktualizovat kredity . To znamená, že databáze členství ASP.NET (s jedním účtem správce) byla úspěšně nasazena.
Web jste teď úspěšně nasadili a otestovali a je veřejně dostupný přes internet.
Vytvoření spolehlivějšího testovacího prostředí
Jak je vysvětleno v kurzu Nasazení do testovacího prostředí , nejspolehlivějším testovacím prostředím by byl druhý účet u poskytovatele hostingu, který se podobá produkčnímu účtu. To by bylo dražší než použití místní služby IIS jako testovacího prostředí, protože byste si museli zaregistrovat druhý hostitelský účet. Pokud ale zabrání chybám nebo výpadkům produkčního webu, můžete se rozhodnout, že to stojí za to.
Většina procesu vytvoření a nasazení do testovacího účtu se podobá tomu, co jste už provedli při nasazení do produkčního prostředí:
- Vytvořte soubor transformaceWeb.config .
- Vytvořte účet u poskytovatele hostingu.
- Vytvořte nový profil publikování a nasaďte ho do testovacího účtu.
Zabránění veřejnému přístupu k testovacímu webu
Důležitým aspektem testovacího účtu je, že bude aktivní na internetu, ale nechcete, aby ho používala veřejnost. Chcete-li zachovat soukromou lokalitu, můžete použít jednu nebo více následujících metod:
- Obraťte se na poskytovatele hostingu a nastavte pravidla brány firewall, která povolují přístup k testovací lokalitě pouze z IP adres, které používáte k testování.
- Zamaskujte adresu URL tak, aby nebyla podobná adrese URL veřejného webu.
- Pomocí souborurobots.txt zajistíte, že vyhledávací weby nebudou procházet testovací web a hlásit na něj odkazy ve výsledcích hledání.
První z těchto metod je samozřejmě nejbezpečnější, ale postup pro to je specifický pro každého poskytovatele hostingu a nebude v tomto kurzu popsán. Pokud se se svým poskytovatelem hostingu dohodnete, že procházení adresy URL testovacího účtu povolíte pouze vaší IP adrese, nemusíte se teoreticky starat o procházení vyhledávacích webů. Ale i v takovém případě je nasazení robots.txt souboru vhodné jako záloha pro případ, že pravidlo brány firewall omylem vypnete.
Soubor robots.txt se uloží do složky projektu a měl by obsahovat následující text:
User-agent: *
Disallow: /
Řádek User-agent
sděluje vyhledávacím webům, že pravidla v souboru platí pro všechny prohledávací moduly (roboty) vyhledávacího webu, a Disallow
řádek určuje, že by se neměly procházet žádné stránky na webu.
Pravděpodobně chcete, aby vyhledávací weby katalogily produkční web, takže musíte tento soubor vyloučit z produkčního nasazení. Pokud to chcete udělat, přečtěte si článek Můžu z nasazení vyloučit konkrétní soubory nebo složky? v tématu nejčastější dotazy k nasazení projektu webové aplikace ASP.NET. Ujistěte se, že jste zadali vyloučení pouze pro profil publikování Production.
Vytvoření druhého hostitelského účtu je přístup k práci s testovacím prostředím, který sice není nutný, ale může být nákladný. V následujících kurzech budete dál používat službu IIS jako testovací prostředí.
V dalším kurzu aktualizujete kód aplikace a nasadíte změnu do testovacího a produkčního prostředí.