Memasang HAProxy 1.7 pada Debian 9.1 (Stretch)

HAProxy adalah aplikasi perisian rangkaian yang menawarkan ketersediaan tinggi, pengimbangan beban, dan proksi untuk aplikasi rangkaian TCP dan HTTP. Ini sesuai untuk laman web dengan lalu lintas tinggi, dan memberi kuasa kepada banyak laman web popular di seluruh web. Artikel ini akan menunjukkan kepada anda cara memasang dan mengkonfigurasi HAProxy pada Debian 9.1.

Walaupun HAProxy mempunyai beberapa ciri yang menonjol, artikel ini memfokuskan pada cara menyediakan HAProxy untuk "proksi" aplikasi web anda.

Keperluan

  • Sekurang-kurangnya dua pelayan Vultr (untuk fungsi pengimbangan beban) dengan laman web atau aplikasi web anda digunakan untuk kedua-dua mereka.

Memasang HAProxy

Debian 9 sudah dihantar dengan HAProxy 1.7 (pelepasan stabil terkini semasa penulisan), dan kami boleh memasangnya dengan menggunakan apt-get:

# apt-get update
# apt-get install haproxy

Sekiranya arahan sebelumnya berjaya, maka anda telah memasang HAProxy dan anda boleh meneruskan ke langkah seterusnya.

Mengkonfigurasi HAProxy

Fail konfigurasi HAProxy dibahagikan kepada dua bahagian - "global" dan "proksi". Yang satu berkaitan dengan konfigurasi seluruh proses, sementara yang kedua terdiri dari bahagian konfigurasi lalai, frontend, dan backend.

Bahagian Global

Dengan menggunakan editor teks kegemaran anda, buka /etc/haproxy/haproxy.cfgdan perhatikan bahagian yang telah ditentukan: "global" dan "default". Perkara pertama yang mungkin anda mahu lakukan adalah meningkatkan maxconnke ukuran yang berpatutan, kerana ini mempengaruhi sambungan yang dibenarkan oleh HAProxy. Terlalu banyak sambungan boleh menyebabkan perkhidmatan web anda hancur kerana banyak permintaan. Anda perlu menyesuaikan ukuran untuk melihat apa yang sesuai untuk anda. Di bahagian global, kami telah memilih maxconnnilai 3072.

global
    daemon
    maxconn 3072

Di bahagian lalai, tambahkan baris berikut dalam mod http:

option forwardfor

Ini akan menambahkan X-Forwarded-Fortajuk pada setiap permintaan, yang membolehkan pelayan backend anda mempelajari alamat IP pengguna yang asal.

Juga, tambahkan baris ini untuk mengaktifkan mod penutupan sambungan HTTP di sisi pelayan sambil mengekalkan keupayaan untuk menyokong HTTP tetap hidup di sisi pelanggan. Ini mengurangkan kependaman di pihak pelanggan dan membantu menjimatkan sumber pelayan:

option http-server-close

Sekiranya anda ingin menggunakan terus-hidup di kedua-dua pelanggan dan pelayan, maka anda boleh menggunakannya option http-keep-alive. Pilihan ini sangat berguna apabila kos untuk membuat sambungan baru ke pelayan adalah signifikan berbanding dengan kos mendapatkan sumber yang diminta.

Akhirnya, fail konfigurasi yang dihasilkan akan kelihatan seperti ini:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Bahagian Proksi

Untuk menyediakan proksi anda, anda perlu menambahkan dua bahagian pada fail konfigurasi untuk menentukan dua bahagian proksi: frontend dan backend.

Konfigurasi Frontend

Bahagian depan akan mengendalikan sambungan HTTP anda. Tambahkan yang berikut ke hujung haproxy.cfgfail anda :

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Pastikan untuk mengganti public_ipdengan alamat IP awam atau nama domain pelayan anda.

Konfigurasi Backend

Sediakan backend anda dengan menambahkan baris berikut di akhir fail konfigurasi anda:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

Konfigurasi backend yang digunakan di sini membuat 3 sambungan bernama X-www. ( Xadalah 1, 2 atau 3.) Masing-masing dari mereka sesuai dengan serverX_ip:80 alamat. (Ganti serverX_ipdengan alamat IP instance Vultr anda.) Ini akan membolehkan anda memuatkan keseimbangan antara setiap pelayan dalam set pelayan yang ditentukan (dengan anggapan setiap alamat IP sesuai dengan pelayan yang berbeza). The checkpilihan menjadikan beban balancer melakukan pemeriksaan kesihatan pada pelayan.

Simpan fail konfigurasi, dan kemudian mulakan semula HAProxy:

service haproxy restart

Sekiranya semuanya berfungsi, anda akan dapat menyambung ke http://public_ip/(menggantinya dengan IP awam atau nama domain anda seperti yang dikonfigurasi pada langkah depan) dan melihat laman web anda.

Kesalahan Menyahpepijat

Sekiranya contoh HAProxy anda enggan memulakan setelah pengubahsuaian anda, kemungkinan anda mempunyai ralat di suatu fail konfigurasi. Untuk mendapatkan mesej yang jelas mengenai masalah dalam fail konfigurasi, anda boleh memulakan HAProxy secara manual menggunakan arahan ini:

# haproxy -f /etc/haproxy/haproxy.cfg

Contohnya, jika anda melihat output seperti ini:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Kemudian, anda lupa untuk menentukan nombor port untuk pelayan 1-www.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut