MUDA HACK: Bagaimana untuk mendapatkan penyediaan laman web hosting secara percuma PERCUMA

Artikel ini akan membimbing anda melalui semua yang anda perlu lakukan untuk mendapatkan laman web statik yang dihoskan dan pengeluaran siap.

Ia akan menyokong jumlah lalu lintas yang tidak berperikemanusiaan, dan tidak membebankan anda!

Bersama-sama kita akan bermain-main dengan rekod DNS, dan beberapa perkara lain yang rendah, tetapi lebih mudah daripada bunyi - dan benar-benar berbaloi.

Saya tidak dapat mencari cara untuk mendapatkan nama domain percuma, jadi dengan semangat ketelusan yang benar saya harus mengatakan bahawa anda perlu membayar untuk itu.

Pengenalan

Kami akan mendapatkan Google dan CloudFlare untuk melakukan pengangkat berat untuk kami, jadi kami hanya perlu membina laman web dan menetapkan semuanya.

Dalam artikel ini, kami akan:

  • Persiapkan projek Google App Engine
  • Pasang laman web ke awan
  • Dapatkan nama domain kami sendiri
  • Persiapkan nama domain kita sendiri dengan CloudFlare
  • Biarkan dengan tetapan DNS untuk menunjukkan domain ke laman web kami
  • Konfigurasikan caching dan HTTPS pada domain untuk menyokong skala besar-besaran

Kedengarannya amat sukar, terutamanya jika anda tidak digunakan dengan istilah ini, tetapi kami akan berjalan setiap langkah bersama.

Tolong pertimbangkan untuk berkongsi ini di media sosial untuk orang lain yang mungkin berguna, atau hantarkan pautan kepada sesiapa sahaja yang anda tahu yang membayar untuk hosting laman statik.

Apakah Enjin App Google?

Google App Engine adalah perkhidmatan dari Google yang membolehkan anda membina dan mengendalikan aplikasi web rumit yang berjalan pada skala yang sangat tinggi. Anda boleh berinteraksi dengan beratus-ratus API untuk menyelesaikan semua jenis cabaran teknikal seperti menyimpan data, menjalankan pertanyaan, beratur kerja, menyediakan keupayaan pembelajaran mesin, menghantar e-mel ... oh ya, dan berkhidmat HTML dan CSS.

Kuota percuma di Google App Engine bermaksud bahawa laman web anda dapat menerima sejumlah lalu lintas sebelum Anda harus mulai membayarnya; tetapi sebenarnya, kami tidak akan pergi ke mana-mana berhampiran terima kasih kepada CloudFlare.

Apa itu CloudFlare?

CloudFlare agak sukar untuk diterangkan, tetapi untuk tujuan kami, anda boleh memikirkannya sebagai kemampuan caching kandungan hebat (dan bebas) di mana pelayan CloudFlare akan memegang salinan laman web anda, dan menyampaikannya terus kepada pelawat anda. Perlu diingat bahawa CloudFlare menyimpan banyak salinan kandungan di lokasi utama di seluruh dunia, supaya pelayar web pelawat tidak perlu sampai jauh ke internet untuk mendapatkannya.

Untuk laman web yang tidak berubah sering, anda boleh menetapkan dasar cache menjadi agak agresif - jadi projek Google App Engine anda akan hampir tidak menerima banyak permintaan sama sekali. Sekiranya anda memperbaharui laman web anda, anda perlu menunggu cache untuk tamat tempoh, atau secara manual membersihkannya (saya akan menerangkan bagaimana kemudian).

LANGKAH 1: Bina tapak web anda

Perkara pertama yang perlu dilakukan ialah membina laman web anda. Lakukan ini dengan menggunakan apa sahaja alat yang digunakan untuk anda, matlamatnya adalah untuk mempunyai folder yang mengandungi keseluruhan laman web anda. Ia tidak boleh mengandungi apa-apa kandungan yang dinamik, jadi skrip CGI, halaman .aspx, kod Ruby on Rails, dan sebagainya adalah semua dari jadual. Laman web statik biasanya hanya HTML, CSS, fail JavaScript, imej, dll.

Pastikan ia mempunyai halaman index.html

Apabila pelawat memukul nama domain anda tanpa laluan, halaman index.html akan disampaikan, jadi pastikan ini wujud.

Letakkan semuanya di dalam folder www

Kami akan menambah folder untuk mengandungi laman web statik kami supaya struktur projek kami kelihatan seperti ini:

Letakkan keseluruhan laman web di dalam folder `www`

Jangan risau tentang fail app.yaml kemudian; kami akan menambahnya tidak lama lagi.

Anda boleh memikirkan folder www sebagai apa yang akan disampaikan apabila pelawat anda pergi ke mywebsite.com.

LANGKAH 2: Digunakan ke Google App Engine

Sekarang anda mempunyai laman web anda, sudah tiba masanya untuk menggunakannya ke Google App Engine.

Masuk ke konsol Platform Awan Google

Teruskan ke https://console.cloud.google.com dan log masuk menggunakan akaun Google anda.

Buat projek

Pilih Buat Projek dari menu, dan pilih nama projek yang sesuai yang mencerminkan nama domain anda. Jadi jika domain anda adalah matswebsite.com, mungkin hubungi laman web Mats ini. Ia akan menjana ID projek secara automatik untuk anda, tetapi anda boleh mengklik pautan Edit sedikit untuk mengubahnya dan memilih sendiri. Kami akan menggunakan ID projek ini kemudian, jadi menjadikannya bagus dan mudah diingat. ID projek perlu unik di seluruh dunia, itulah sebabnya mengapa menggunakan domain anda bukan idea yang buruk, contohnya. matswebsitecom.

Klik CREATE.

Membuat projek di Platform Awan Google

Selepas beberapa saat, projek itu akan diwujudkan dan kami boleh mendayakan Enjin App Google.

Akses menu (klik tiga baris di sudut kiri atas) dan pilih App Engine untuk mengakses konsol App Engine.

Pasang SDK Google Cloud

Teruskan ke https://cloud.google.com/sdk/ dan muat turun SDK Google Cloud untuk komputer anda. SDK mengandungi alat baris arahan yang membolehkan kami gunakan untuk menggunakan laman web anda.

Tambah fail app.yaml

Untuk memberitahu Google App Engine bagaimana kami ingin laman web kami digunakan, kami perlu membuat fail konfigurasi kecil dalam folder akar laman web kami.

Masukkan yang berikut ke dalam fail baru:

runtime: pergi
api_version: go1
pengendali:
- url: /
  static_files: www / index.html
  muat naik: www / index.html
- url: /(.*)
  static_files: www / \ 1
  muat naik: www / (.*)

Dalam fail YAML, perkara ruang kosong, jadi pastikan terdapat dua ruang sebelum static_files dan muat naik baris.

Anda boleh mengetahui lebih lanjut mengenai file app.yaml dengan membaca dokumentasi, untuk sekarang, sudah cukup untuk mengetahui bahawa kami secara statistik menyampaikan kandungan dari folder www.

Tambah fail main.go

Untuk projek kami menjadi projek Go yang sah, kami perlu menambah kod Go. Jangan bimbang, saya akan memberikan jumlah minimum mutlak kod yang diperlukan.

Buat fail dalam folder anda (bersebelahan file app.yaml) dipanggil main.go dan masukkan kod berikut:

aplikasi pakej
func main () {}
Jika anda belum pernah mendengar Go sebelum ini, saya sangat mengesyorkan melihatnya - ia adalah bahasa yang menyeronokkan dan sangat berguna: Mengapa tidak mengambil lawatan?

Menyebarkan

Dalam shell terminal, mula-mula gunakan arahan gcloud (dari Google Cloud SDK) untuk log masuk:

log masuk gcloud
Sekiranya anda terperangkap di sini, beralih ke panduan Quickstart untuk mendapatkan bantuan.

Ini akan membuka penyemak imbas web dan meminta anda untuk melog masuk ke akaun Google anda. Sebaik sahaja ia selesai, terminal akan menunjukkan bahawa log masuk berjaya.

Kini cd ke folder laman web anda supaya melakukan ls atau dir akan menunjukkan folder www dalam senarai.

Sekarang tetapkan nama projek:

projek set konfigurasi gcloud PROJECT_ID

Gantikan PROJECT_ID dengan ID projek yang anda sediakan semasa anda membuat projek anda di Konsol Awan Google.

Sekarang kita akan memulakan penggunaan:

memasang aplikasi gcloud

Jika SDK Google Cloud memerlukan sebarang komponen tambahan (bagi saya, ia memerlukan aplikasi enjin-pergi) maka anda akan diminta untuk memasangnya. Jawab Y (untuk ya) untuk setiap soalan.

Akhirnya ia akan meminta anda jika anda ingin menggunakan aplikasi itu - tekan Y dan masukkan lagi.

Selepas beberapa ketika, permohonan itu akan digunakan dan boleh diakses melalui domain appspot.com:

https://PROJECT_ID.appspot.com
Ingat untuk menggantikan PROJECT_ID dengan ID projek anda.

LANGKAH 3: Persiapkan nama domain anda

Pilih dan beli domain

Agar pelawat dapat melihat tapak web anda, mereka perlu melawat nama domain - dan semasa anda boleh menggunakan appspot.com yang Google App Engine memberikan anda secara percuma, itu lebih baik untuk memiliki anda sendiri.

Teruskan ke namecheap.com, atau cari syarikat yang menjual nama domain dan membeli domain anda. Anda perlu menukar nama pelayan, jadi pastikan syarikat menyokong ini (Namecheap tidak).

Persediaan CloudFlare

Pergi ke CloudFlare.com dan buat akaun. Kemudian pilih Tambah tapak dari bar menu di bahagian atas. Masukkan domain anda dan klik Memulakan Imbas. Sebaik sahaja selesai melakukannya ia tahu tuhan sihir, klik Continue Setup dan ikuti langkah-langkah yang lain, klik Lanjutkan di mana anda boleh sampai mencapai halaman Pelan Pilih CloudFlare.

Pilih pelan PERCUMA, dan klik Teruskan.

Pelan Laman web Percuma mempunyai segala yang kami perlukan - CloudFlare cukup murah hati.

Anda kemudian akan diminta untuk mengemas kini pelayan nama anda, jadi kembali ke tempat anda membeli nama domain anda dan masukkan nilai yang diberikan kepada anda oleh CloudFlare.

Untuk laluan lalu lintas melalui CloudFlare, kami perlu mengemas kini pelayan nama. CloudFlare memberitahu anda nilai yang hendak digunakan.

Di Namecheap, anda pergi ke Papan Pemuka dan klik MANAGE di sebelah domain anda. Kemudian cari NAMESERVERS dan pilih Custom DNS. Salin dan tampal pelayan nama ke dalam dua kotak yang disediakan:

Namecheap membolehkan anda menentukan pelayan nama anda sendiri. Ingat untuk mengklik tanda semak hijau kecil untuk mengesahkan perubahan anda.

Apabila anda telah melakukan ini, klik Teruskan di CloudFlare, dan tunggu. Ia mengambil sedikit masa untuk perubahan berlaku, jadi pergi dan ambil secawan teh atau minuman lain yang sesuai (atau tidak sesuai).

Akhirnya, ia akan menjadi hijau (anda boleh menyegarkan sebanyak yang anda suka):

Apabila pelayan nama dikemas kini, tapak anda akan tinggal di CloudFlare.

Beritahu App Engine tentang domain anda

Kembali ke dalam Konsol Awan Google, akses semula konsol App Engine sekali lagi dan pilih Tetapan.

Dalam tab Domain khusus, pilih Tambah domain tersuai.

Anda perlu mengesahkan bahawa anda memiliki domain sebelum anda boleh meminta Google App Engine untuk menyampaikan kandungan kepadanya - lakukan ini dengan memilih Sahkan domain baharu dari senarai, dan masukkannya ke dalam kotak yang disediakan.

Mengklik Mengesahkan akan mencetuskan proses baru di mana kita boleh membuktikan bahawa kita memiliki dan mengawal nama domain itu. Di tetingkap baru, pilih nama pembekal anda (semoga Namecheap - semudah itu) dan perhatikan bahawa anda diminta untuk menambah rekod DNS TXT:

Untuk membuktikan kepada Google bahawa kami mengawal nama domain, kami perlu menambah kod DNS khas yang mereka sediakan.

Jangan bimbang - ini tidak menakutkan kerana ia kelihatan. Pilih teks pelik di dalam kotak, salin dan kembali ke CloudFlare, dan kami akan menambah nilai.

Pastikan domain anda dipilih di CloudFlare, dan pilih tab DNS.

Di bahagian atas meja, terdapat satu bentuk di mana kita boleh menambah rekod Google mahu:

Dalam medan Nama, masukkan @ karakter, dan untuk Kandungan, tampal nilai yang diberikan Google kepada kami. Klik Tambah Rekod.

Ia akan dimasukkan ke dalam senarai rekod DNS.

Sekarang, kembali ke Platform Google Awan dan klik Sahkan.

Ini mungkin mengambil sedikit masa - jadi jangan kecewa jika tidak berfungsi dengan segera. Selagi anda menyisipkan nilai yang betul ke dalam CloudFlare, ia akan dikemas kini. Anda sebenarnya sedang menunggu pelayan DNS untuk menyebar, yang kedengarannya lebih ajaib daripada itu - tetapi sama ada cara, jika anda tidak mahu menunggu, pertimbangkan untuk menggunakan pelayan DNS Awam Google, mereka sangat cepat.

Akhirnya, anda akan mendapat halaman kejayaan di atas.

Kembali ke Konsol Awan Google> Enjin App> Tetapan> Domain tersuai, klik Refresh domain dan perhatikan bahawa domain anda kini pilihan dalam senarai juntai bawah. Pilih dan klik Teruskan, kemudian klik Simpan pemetaan.

Selepas beberapa saat, klik Teruskan sekali lagi dan perhatikan bahawa Google App Engine kini memberi kami tetapan DNS baharu. Kita perlu memastikan halaman DNS CloudFlare kami mempunyai nilai yang sama.

Google mahu kami meletakkan setiap nilai ini ke dalam konsol CloudFlare - sedikit salinan dan paste tidak menyakiti sesiapa pun, bukan?

Kembali ke CloudFlare, tekan X bersebelahan semua rekod DNS kecuali TXT yang kami tambahkan (kami akan meninggalkannya di sana sehingga Google tahu kita selalu mengawal domain itu).

Sekarang, untuk setiap item di halaman Google, buat rekod di CloudFlare. Ini adalah perkara paling sukar yang perlu kita lakukan supaya membaca petua ini dahulu:

  • Dropdown TXT ialah tempat anda menentukan jenis (Anda perlu A, AAAA dan CNAME)
  • Di Google App Engine, bidang Alias ​​adalah Nama di Cloudflare. Di mana tiada alias, gunakan @ aksara lagi. (Anda juga boleh membiarkannya kosong dan CloudFlare akan tahu apa yang anda maksudkan - atau ia akan meminta anda untuk menetapkannya kepada @)
  • Biarkan TTL sebagai TTL Automatik
  • CloudFlare tahu apa yang dilakukannya, dan sukar untuk membuat kesilapan - jadi salin dan tampal setiap nilai dan percayai CloudFlare untuk memberitahu anda jika anda mengacaukan
  • Berhati-hati untuk ruang kosong tambahan apabila menyalin dan menampal, ia boleh menyebabkan ralat pengesahan tetapi sukar untuk dilihat

Ia akan kelihatan seperti ini:

Kembali ke Google App Engine, klik Selesai.

Berikan waktu internet untuk mengejar

Agar domain anda berfungsi, internet perlu menangkap dengan perubahan ini. Mereka mengatakan ini boleh mengambil masa 24 jam, tetapi jika anda menggunakan pelayan DNS Google, ia biasanya cukup segera.

Semasa anda sedang menunggu, anda boleh mengaktifkan cache dan HTTPS yang agresif di CloudFlare.

LANGKAH 4: Caching Persediaan dan HTTPS

Caranya untuk mengekalkan hosting statik percuma, tanpa mengira berapa banyak lalu lintas yang anda dapat, membolehkan caching di CloudFlare.

Klik pada tab Peraturan Laman dan klik Buat Peraturan Halaman.

Dalam kotak padanan URL, masukkan domain anda dalam bentuk: *. Mywebsite.com / * - yang menunjukkan bahawa peraturan itu harus terpakai tanpa mengira subdomain, dan tanpa mengira jalannya.

Dalam tetapan, pilih Edge Cache TTL dan atur nilai kepada sebulan. Klik Simpan dan Pasang.

Menetapkan Edge TTL Cache untuk sebulan akan (dalam teori) menyebabkan laman web Google Engine Engine kami hanya akan dilanda sebulan sekali. Selebihnya, CDN kelebihan CloudFlare akan berfungsi. Jelas, ini agresif - anda boleh bermain dengan tetapan untuk mencari nilai yang sesuai untuk anda.

Untuk menjadikan laman web kami dapat diakses melalui HTTPS, kami akan menambah aturan halaman lain:

Kali ini, masukkan nilai padanan URL sebagai: http: //*.mywebsite.com/*

Menggunakan Peraturan Halaman di CloudFlare, kami boleh memberitahunya untuk sentiasa menggunakan HTTPS untuk laman web kami.

Pilih Sentiasa Gunakan HTTPS dari senarai dan klik Simpan dan Pasang.

Anda secara pilihan boleh menambah URL Pemajuan untuk memastikan semua lalu lintas diarahkan ke www.mywebsite.com atau mywebsite.com.

Ini adalah Kaedah Page akhir untuk honorablecode.com

Membersihkan cache bila-bila masa yang anda suka

Apabila anda membuat perubahan pada tapak web anda, masukkan ke dalam konsol CloudFlare, akses tab Caching, dan pilih Purge Everything dari dropdown:

Permintaan baharu untuk tapak web anda kini akan pergi ke Google App Engine dan versi terkini akan dihidangkan (dan di-cache oleh CloudFlare untuk permintaan masa depan).

Laman web anda hidup!

Sebaik sahaja pelayan DNS telah terperangkap, laman web statik yang selamat anda akan berada dalam talian.

Kesimpulannya

Hanya dengan menggunakan pilihan PERCUMA Google App Engine dan CloudFlare, dan sedikit sihir DNS, kami boleh menjadi tuan rumah laman web pembuatan siap sedia tanpa kos.

Kami dapat:

  • Persiapkan projek Google App Engine
  • Pasang laman web ke awan
  • Dapatkan nama domain kami sendiri
  • Persiapkan nama domain kita sendiri dengan CloudFlare
  • Biarkan dengan tetapan DNS untuk menunjukkan domain ke laman web kami
  • Konfigurasikan caching dan HTTPS pada domain untuk menyokong skala besar-besaran

Kerja yang bagus.

Beli buku saya

Secara teori, saya baru sahaja menyelamatkan banyak wang, jadi mengapa tidak mengucapkan terima kasih dengan membeli buku saya. :)

Jika anda suka mendapatkan barangan seperti dalam artikel ini, maka anda akan menyukai apa yang boleh anda lakukan dengan Go. Dalam buku saya, Go Pemrograman Blueprints, kami membina barangan yang sebenar. Flex otot dev anda.

Dapatkan salinan anda dari https://www.packtpub.com/application-development/go-programming-blueprints-second-edition

Juga, tweets saya @matryer jika anda terjebak, dan saya akan melihat jika saya boleh membantu.