Sdílet prostřednictvím


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

Tom Dykstra

Stažení úvodního projektu

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.)

    Welcome_Email_Control_Panel_URL

  • 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.)

    Welcome_Email_Framework_Version

  • 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.comdočasná adresa URL .

    Welcome_Email_Temporary_URL

  • Informace o tom, jak nastavit databáze a připojovací řetězce, které potřebujete pro přístup k databázím:

    Welcome_Email_Database_Info

  • Informace o nástrojích a nastaveních pro nasazení webu (E-mail od Cytanium také uvádí WebMatrix, který je zde vynechán.)

    Welcome_Email_Deploy_info

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.

Cytanium_Control_Panel

V poli Hostující prostory podržte ukazatel myši na ikonu Web a v nabídce vyberte Weby .

Cytanium_Control_Panel_selecting_Web_Sites

V poli Weby klikněte na contosouniversity.com (název webu, který jste použili při vytváření účtu).

Cytanium_Control_Panel_selecting_contosouniversity

V poli Vlastnosti webu vyberte kartu Rozšíření .

Cytanium_Control_Panel_Extensions_tab

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.

Ovládací panely výběru webů

Vyberte web contosouniversity.com .

Ovládací panely výběru contosouniversity.com

Vyberte kartu Publikování na webu .

Ovládací panely karta 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.

Ovládací panely vytvoření přihlašovacích údajů pro publikování

Klikněte na Stáhnout profil publikování pro tento web.

Ovládací panely stáhnout profil publikování

Když se zobrazí výzva k otevření nebo uložení souboru, uložte ho.

Uložení souboru profilu publikování

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.

Tlačítko Import průvodce publikováním webu

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.

Karta Připojení průvodce publikováním webu

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.)

Chyba certifikátu

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 vyberteData 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 .

Karta Nastavení průvodce publikováním webu

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.

Průvodce publikováním webu – Správa profilů

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.

Dialogové okno Upravit profily publikování webu

Klikněte na Publikovat.

Aplikace se publikuje pro poskytovatele hostingu. Výsledek se zobrazí v okně Výstup .

Okno výstupu po nasazení

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.

Home_page_Prod

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ů.

Cytanium_Control_Panel_with_File_Manager_selected

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.

Cytanium_Control_Panel_File_Manager_at_root_folder

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í.

Cytanium_Control_Panel_File_Folder_Permissions_Elmah

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.

Elmah.axd_Prod

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.

Students_page_Prod

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.

Instructors_page_Prod

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.

Add_Students_page_Prod

Students_page_with_new_student_Prod

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 .

Log_In_page_Prod

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.

Update_Credits_page_Prod

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í.