Menyebarkan Situs Anda Menggunakan Klien FTP (C#)
oleh Scott Mitchell
Cara paling sederhana untuk menyebarkan aplikasi ASP.NET adalah dengan menyalin file yang diperlukan secara manual dari lingkungan pengembangan ke lingkungan produksi. Tutorial ini menunjukkan cara menggunakan klien FTP untuk mendapatkan file dari desktop Anda ke penyedia host web.
Pengantar
Tutorial sebelumnya memperkenalkan Tinjauan Buku sederhana ASP.NET aplikasi web, yang terdiri dari beberapa halaman ASP.NET, halaman master, kelas dasar Page
kustom, sejumlah gambar, dan tiga lembar gaya CSS. Kami sekarang siap untuk menyebarkan aplikasi ini ke penyedia host web, di mana aplikasi akan dapat diakses oleh siapa pun yang memiliki koneksi ke Internet!
Dari diskusi kami dalam tutorial Menentukan File Apa yang Perlu Disebarkan , kami tahu file apa yang perlu disalin ke penyedia host web. (Ingat bahwa file apa yang disalin tergantung pada apakah aplikasi Anda dikompilasi secara eksplisit atau otomatis.) Tetapi bagaimana cara mendapatkan file dari lingkungan pengembangan (desktop kami) hingga lingkungan produksi (server web yang dikelola oleh penyedia host web)? F ile T ransfer P rotocol (FTP) adalah protokol yang umum digunakan untuk menyalin file dari satu komputer ke komputer lain melalui jaringan. Opsi lain adalah FrontPage Server Extensions (FPSE). Tutorial ini berfokus pada penggunaan perangkat lunak klien FTP yang berdiri sendiri untuk menyebarkan file yang diperlukan dari lingkungan pengembangan ke lingkungan produksi.
Catatan
Visual Studio menyertakan alat untuk menerbitkan situs web melalui FTP; alat-alat ini, serta melihat alat yang menggunakan FPSE, tercakup dalam tutorial berikutnya.
Untuk menyalin file menggunakan FTP, kami memerlukan klien FTP pada lingkungan pengembangan. Klien FTP adalah aplikasi yang dirancang untuk menyalin file dari komputer yang diinstal ke komputer yang menjalankan server FTP. (Jika penyedia host web Anda mendukung transfer file melalui FTP, seperti kebanyakan halnya, maka ada server FTP yang berjalan di server web mereka.) Ada sejumlah aplikasi klien FTP yang tersedia. Browser web Anda bahkan dapat berfungsi ganda sebagai klien FTP. Klien FTP favorit saya, dan yang akan saya gunakan untuk tutorial ini, adalah FileZilla, klien FTP sumber terbuka gratis yang tersedia untuk Windows, Linux, dan Mac. Klien FTP apa pun akan bekerja, jadi jangan ragu untuk menggunakan klien apa pun yang paling nyaman dengan Anda.
Jika Anda mengikuti, Anda harus membuat akun dengan penyedia host web sebelum Anda dapat menyelesaikan tutorial ini atau yang berikutnya. Seperti yang dicatat dalam tutorial sebelumnya, ada celah perusahaan penyedia host web dengan spektrum harga, fitur, dan kualitas layanan yang luas. Untuk seri tutorial ini saya akan menggunakan Diskon ASP.NET sebagai penyedia host web saya, tetapi Anda dapat mengikuti penyedia host web apa pun selama mereka mendukung versi ASP.NET tempat situs Anda dikembangkan. (Tutorial ini dibuat menggunakan ASP.NET 3.5.) Juga, karena kami akan menyalin file ke penyedia host web menggunakan FTP dalam tutorial ini dan di masa depan sangat penting bahwa penyedia host web Anda mendukung akses FTP ke server web mereka. Hampir semua penyedia host web menawarkan fitur ini, tetapi Anda harus memeriksa kembali sebelum mendaftar.
Menyebarkan Proyek Aplikasi Web Ulasan Buku
Ingat bahwa ada dua versi aplikasi web Ulasan Buku: satu diimplementasikan menggunakan model Proyek Aplikasi Web (BookReviewsWAP) dan yang lain menggunakan model Proyek Situs Web (BookReviewsWSP). Jenis proyek memengaruhi apakah situs dikompilasi secara otomatis atau eksplisit, dan model kompilasi tersebut menentukan file apa yang perlu disebarkan. Akibatnya, kami akan memeriksa penyebaran proyek BookReviewsWAP dan BookReviewsWSP secara terpisah, dimulai dengan BookReviewsWAP. Luangkan waktu sejenak untuk mengunduh kedua aplikasi ASP.NET ini jika Anda belum melakukannya.
Luncurkan proyek BookReviewsWAP dengan menavigasi ke BookReviewsWAP
folder dan mengklik BookReviewsWAP.sln
dua kali file. Sebelum menyebarkan proyek, penting untuk membangunnya untuk memastikan bahwa setiap perubahan pada kode sumber disertakan dalam perakitan yang dikompilasi. Untuk membuat proyek, buka menu Build dan pilih opsi menu Build BookReviewsWAP. Ini mengkompilasi kode sumber dalam proyek ke dalam satu assembly, BookReviewsWAP.dll
, yang ditempatkan di Bin
folder .
Kami sekarang siap untuk menyebarkan file yang diperlukan! Luncurkan klien FTP Anda dan sambungkan ke server web di penyedia host web Anda. (Ketika Anda mendaftar dengan perusahaan hosting web, mereka akan mengirimi Anda email informasi tentang cara terhubung ke server FTP; ini termasuk alamat untuk server FTP serta nama pengguna dan kata sandi.)
Salin file berikut dari desktop Anda ke folder situs web akar di penyedia host web Anda. Ketika Anda FTP ke server web di penyedia host web, Kemungkinan Anda berada di direktori situs web akar. Namun, beberapa penyedia host web memiliki subfolder bernama www
atau wwwroot
yang berfungsi sebagai folder akar untuk file situs web Anda. Terakhir, ketika FTPing file, Anda mungkin perlu membuat struktur folder yang sesuai pada lingkungan produksi - Bin
folder, Fiction
folder, Images
folder, dan sebagainya.
~/Default.aspx
~/About.aspx
~/Site.master
~/Web.config
~/Web.sitemap
- Isi
Styles
lengkap folder - Isi
Images
lengkap folder (dan subfoldernya,BookCovers
) ~/Fiction/Default.aspx
~/Fiction/Blaze.aspx
~/Tech/Default.aspx
~/Tech/CYOW.aspx
~/Tech/TYASP35.aspx
~/Bin/BookReviewsWAP.dll
Gambar 1 menunjukkan FileZilla setelah file yang diperlukan telah disalin. FileZilla menampilkan file di komputer lokal di sebelah kiri dan file di komputer jarak jauh di sebelah kanan. Seperti yang ditunjukkan Gambar 1, ASP.NET file kode sumber, seperti About.aspx.cs
, ada di komputer lokal (lingkungan pengembangan) tetapi tidak disalin ke penyedia host web (lingkungan produksi) karena file kode tidak perlu disebarkan saat menggunakan kompilasi eksplisit.
Catatan
Tidak ada salahnya memiliki file kode sumber di server produksi, karena diabaikan. ASP.NET melarang permintaan HTTP ke file kode sumber secara default sehingga bahkan jika file kode sumber ada di server produksi, mereka tidak dapat diakses oleh pengunjung ke situs web Anda. (Artinya, jika pengguna mencoba mengunjungi http://www.yoursite.com/Default.aspx.cs
, mereka akan mendapatkan halaman kesalahan yang menjelaskan bahwa jenis file ini - .cs
file - dilarang.)
Gambar 1: Gunakan Klien FTP untuk Menyalin File yang Diperlukan dari Desktop Anda ke Server Web di Penyedia Host Web (Klik untuk melihat gambar ukuran penuh)
Setelah menyebarkan situs Anda luangkan waktu sejenak untuk menguji situs. Jika Anda telah membeli nama domain dan mengonfigurasi pengaturan DNS dengan benar, Anda bisa mengunjungi situs Anda dengan memasukkan nama domain Anda. Atau, penyedia host web Anda seharusnya memberi Anda URL ke situs Anda, yang akan terlihat seperti nama akun. webhostprovider.com atau webhostprovider.com/accountname. Misalnya, URL untuk akun saya di Diskon ASP.NET adalah: http://httpruntime.web703.discountasp.net
.
Gambar 2 memperlihatkan situs Ulasan Buku yang disebarkan. Perhatikan bahwa saya melihatnya di Diskon ASP. Server NET, di http://httpruntime.web703.discountasp.net
. Pada titik ini siapa pun yang memiliki koneksi ke Internet dapat melihat situs web saya! Seperti yang kita harapkan, situs terlihat dan berakibat seperti saat mengujinya di lingkungan pengembangan.
Catatan
Jika Anda mendapatkan kesalahan saat melihat aplikasi Anda membutuhkan waktu sejenak untuk memastikan bahwa Anda menyebarkan kumpulan file yang benar. Selanjutnya, periksa pesan kesalahan untuk melihat apakah pesan tersebut mengungkapkan petunjuk apa pun terkait masalah tersebut. Setelah itu, Anda dapat beralih ke helpdesk perusahaan host web Anda atau memposting pertanyaan Anda ke forum yang sesuai di Forum ASP.NET.
Gambar 2: Situs Ulasan Buku Sekarang Dapat Diakses Oleh Siapa Saja dengan Koneksi Internet (Klik untuk melihat gambar ukuran penuh)
Menyebarkan Proyek Situs Web Tinjauan Buku
Saat menyebarkan aplikasi ASP.NET yang menggunakan kompilasi otomatis, seperti Proyek Situs Web BookReviewsWSP, tidak ada rakitan yang dikompilasi di Bin
folder. Akibatnya, file kode sumber aplikasi web harus disebarkan ke lingkungan produksi. Mari kita berjalan melalui proses ini.
Seperti halnya Proyek Aplikasi Web, lebih bijaksana untuk terlebih dahulu Membangun aplikasi sebelum menyebarkannya. Saat membuat Proyek Situs Web tidak membuat rakitan, proyek ini memeriksa kesalahan waktu kompilasi di halaman. Lebih baik menemukan kesalahan ini sekarang daripada meminta pengunjung ke situs Anda menemukannya untuk Anda!
Setelah Anda berhasil membangun proyek, gunakan klien FTP Anda untuk menyalin file berikut ke folder situs web akar di penyedia host web Anda. Anda mungkin perlu membuat struktur folder yang sesuai pada lingkungan produksi.
Catatan
Jika Anda sudah menyebarkan proyek BookReviewsWAP tetapi masih ingin mencoba menyebarkan proyek BookReviewsWSP, pertama-tama hapus semua file di server web yang diunggah saat menyebarkan BookReviewsWAP lalu sebarkan file untuk BookReviewsWSP.
~/Default.aspx
~/Default.aspx.cs
~/About.aspx
~/About.aspx.cs
~/Site.master
~/Site.master.cs
~/Web.config
~/Web.sitemap
- Isi
Styles
lengkap folder - Isi
Images
lengkap folder (dan subfoldernya,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
Gambar 3 menunjukkan FileZilla setelah menyalin file yang diperlukan. Seperti yang Anda lihat, ASP.NET file kode sumber, seperti About.aspx.cs
, ada di komputer lokal (lingkungan pengembangan) dan penyedia host web (lingkungan produksi) karena file kode perlu disebarkan saat menggunakan kompilasi otomatis.
Gambar 3: Gunakan Klien FTP untuk Menyalin File yang Diperlukan dari Desktop Anda ke Server Web di Penyedia Host Web (Klik untuk melihat gambar ukuran penuh)
Pengalaman pengguna tidak terpengaruh oleh model kompilasi aplikasi. Halaman ASP.NET yang sama dapat diakses dan terlihat dan bersifat sama apakah situs web dibuat menggunakan model Proyek Aplikasi Web atau model Proyek Situs Web.
Memperbarui Aplikasi Web pada Produksi
Pengembangan dan penyebaran aplikasi web bukanlah proses satu kali. Misalnya, saat membuat situs web Ulasan Buku, saya membangun berbagai halaman dan menulis kode yang menyertainya di komputer pribadi saya (lingkungan pengembangan). Setelah mencapai status stabil tertentu, saya menyebarkan aplikasi saya sehingga orang lain dapat mengunjungi situs dan membaca ulasan saya. Tetapi penyebaran tidak menandai akhir pengembangan saya di situs ini. Saya dapat menambahkan lebih banyak ulasan buku atau menerapkan fitur baru, seperti memungkinkan pengunjung saya menilai buku atau meninggalkan komentar mereka sendiri. Peningkatan tersebut akan dikembangkan pada lingkungan pengembangan dan, ketika selesai, perlu disebarkan. Oleh karena itu, pengembangan dan penyebaran bersifat siklus. Anda mengembangkan aplikasi lalu menyebarkannya. Saat situs ditayangkan dan dalam produksi, fitur baru ditambahkan dan bug diperbaiki dari waktu ke waktu, yang mengharuskan penyebaran ulang aplikasi. Dan sebagainya dan sebagainya.
Seperti yang mungkin Anda harapkan, saat menyebarkan ulang aplikasi web, Anda hanya perlu menyalin file baru dan yang diubah. Tidak perlu menyebarkan kembali halaman atau server atau file dukungan sisi klien yang tidak berubah (meskipun tidak ada salahnya melakukannya).
Catatan
Satu hal yang perlu diingat saat menggunakan kompilasi eksplisit adalah kapan saja Anda menambahkan halaman ASP.NET baru ke proyek atau membuat perubahan terkait kode, Anda perlu membangun kembali proyek Anda, yang memperbarui perakitan di Bin
folder. Akibatnya, Anda harus menyalin rakitan yang diperbarui ini ke produksi saat memperbarui aplikasi web pada produksi (bersama dengan konten baru dan yang diperbarui lainnya).
Pahami juga bahwa setiap perubahan pada Web.config
atau file di Bin
direktori berhenti dan memulai ulang Kumpulan Aplikasi situs web. Jika status sesi Anda disimpan menggunakan InProc
mode (default) maka pengunjung situs Anda akan kehilangan status sesi mereka setiap kali file kunci ini dimodifikasi. Untuk menghindari perangkap ini, pertimbangkan untuk menyimpan sesi menggunakan StateServer
mode atau SQLServer
. Untuk informasi selengkapnya tentang topik ini, baca Mode Keadaan Sesi.
Terakhir, perlu diingat bahwa menyebarkan ulang aplikasi dapat memakan waktu dari beberapa detik hingga beberapa menit, tergantung pada jumlah dan ukuran file yang perlu disalin ke lingkungan produksi. Selama waktu ini, pengguna yang mengunjungi situs Anda mungkin mengalami kesalahan atau perilaku ganjil. Anda dapat "menonaktifkan" seluruh aplikasi Anda dengan menambahkan halaman bernama App_Offline.htm
ke direktori akar aplikasi Anda yang menjelaskan kepada pengguna Anda bahwa situs tidak berfungsi untuk pemeliharaan (atau apa pun) dan akan segera dicadangkan. App_Offline.htm
Saat file ada, runtime ASP.NET mengalihkan semua permintaan masuk ke halaman tersebut.
Ringkasan
Menyebarkan aplikasi web memerlukan penyalinan file yang diperlukan dari lingkungan pengembangan ke lingkungan produksi. Cara paling umum di mana file ditransfer melalui jaringan adalah Protokol Transfer File (FTP), dan sebagian besar penyedia host web mendukung akses FTP ke server web mereka. Dalam tutorial ini kita melihat cara menggunakan klien FTP untuk menyebarkan file yang diperlukan ke server web. Setelah disebarkan, situs web dapat dikunjungi oleh siapa pun dengan koneksi ke Internet!
Selamat Pemrograman!
Bacaan lebih lanjut
Untuk informasi selengkapnya tentang topik yang dibahas dalam tutorial ini, lihat sumber daya berikut: