สารบัญ:

Raspberry Pi 3 "Bramble": 5 ขั้นตอน
Raspberry Pi 3 "Bramble": 5 ขั้นตอน

วีดีโอ: Raspberry Pi 3 "Bramble": 5 ขั้นตอน

วีดีโอ: Raspberry Pi 3
วีดีโอ: Raspberry Pi Lynx Mining Farm 2024, พฤศจิกายน
Anonim
Raspberry Pi 3
Raspberry Pi 3

การปรับใช้เว็บเซิร์ฟเวอร์ Apache2 ใน Raspberry Pi3 Model B "bramble" ที่ปรับขนาดได้ผ่านตัวโหลดบาลานซ์ HAProxy!

ฉันทำการพัฒนาเว็บเป็นจำนวนมากและได้อ่านเกี่ยวกับการตั้งค่าความซ้ำซ้อนทางภูมิศาสตร์และโหลดบาลานเซอร์เป็นจำนวนมาก ดังนั้นฉันจึงคิดว่าถึงเวลาแล้วที่ฉันจะต้องตัดสินใจตั้งค่าทั้งหมดด้วยตัวเอง ฉันไม่พอใจที่เซิร์ฟเวอร์ล่มและต้องการป้องกันไม่ให้เกิดขึ้นอีกในอนาคต!

นอกจากนี้ยังดูเท่

ขั้นตอนที่ 1: เริ่มต้น

** อัปเดต **

**************************************************************************************************************************

ฉันทำให้คำแนะนำนี้ง่ายขึ้นเล็กน้อย ฉันปรับโครงสร้าง repo บน Github เพื่อติดตั้ง กำหนดค่า และปรับใช้โหลดบาลานเซอร์ HAProxy บน Pi ที่คุณเลือกโดยอัตโนมัติ! โค้ดน้อยลง แก้ไขน้อยลง มีโอกาสผิดพลาดน้อยลง และมีโอกาสสนุกมากขึ้น!

**************************************************************************************************************************

ตรงไปที่ https://www.raspberrypi.org/downloads/raspbian/ และดาวน์โหลดสำเนาใหม่ของ Raspbian Stretch Lite

แตกไฟล์. ZIP และเขียนไฟล์.img ลงในการ์ด MicroSD สำหรับแต่ละ Pi ในคลัสเตอร์ของคุณ ผู้ใช้ OSX เครื่องมือที่ยอดเยี่ยมสำหรับสิ่งนี้คือ

หลังจากที่คุณสลัก.img ลงในการ์ด MicroSD แล้ว ให้ไปที่การ์ดในหน้าต่าง Finder หรือ File Explorer ใหม่ ซึ่งควรตั้งชื่อว่า boot โดยค่าเริ่มต้น จากนั้นสร้างไฟล์ใหม่ชื่อ SSH ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใส่อะไรสำหรับนามสกุลไฟล์ สิ่งนี้จะเปิดใช้งาน SSH บน Rpi3 ของคุณ นำการ์ดออกแล้ววางลงใน Pi ของคุณ ทำซ้ำขั้นตอนนี้สำหรับ 2 Pi ที่เหลือ (หรือหลายอันที่คุณใช้)

ขั้นตอนที่ 2: การตั้งค่าฮาร์ดแวร์ของคุณ

การตั้งค่าฮาร์ดแวร์ของคุณ
การตั้งค่าฮาร์ดแวร์ของคุณ
การตั้งค่าฮาร์ดแวร์ของคุณ
การตั้งค่าฮาร์ดแวร์ของคุณ

ตัวอย่างนี้ถือว่าคลัสเตอร์ Rpi 3 โหนด และรายการอุปกรณ์อยู่ด้านล่าง:

  1. สวิตช์อีเทอร์เน็ต 5 พอร์ต x 1

      https://www.amazon.ca/gp/product/B00QR6XFHQ/ref=oh…

  2. 5 พอร์ต USB Power Adapter x 1 **

      https://www.amazon.ca/gp/product/B017R9IJTU/ref=oh…

  3. สายเคเบิลอีเธอร์เน็ต x 4

      https://www.amazon.ca/gp/product/B01J8KFTB2/ref=oh…

  4. สายไฟ USB 2. เป็น Micro USB B x 3

      https://www.amazon.ca/gp/product/B019U0V75W/ref=oh…

  5. Raspberry Pi3 รุ่น B x 3

      https://www.amazon.ca/gp/product/B01CD5VC92/ref=od…

  6. ฮีทซิงค์ x 6

      https://www.amazon.ca/gp/product/B010ER7UN8/ref=od_aui_detailpages00?ie=UTF8&psc=1

* สิ่งสำคัญคือคุณต้องใช้อะแดปเตอร์แปลงไฟ USB ที่สามารถจ่ายแรงดันไฟฟ้าขั้นต่ำสำหรับ Raspberry Pi ให้กับ Raspberry Pi ได้

  • เชื่อมต่อสายเคเบิลอีเทอร์เน็ต x1 จากเราเตอร์ของคุณกับสวิตช์อีเทอร์เน็ต
  • เชื่อมต่อสายเคเบิลอีเทอร์เน็ต x1 จากสวิตช์อีเทอร์เน็ตกับ Pi's. แต่ละตัวของคุณ
  • เชื่อมต่อ x1 USB-to-MicroUSB จาก Pi แต่ละตัวของคุณเข้ากับอะแดปเตอร์แปลงไฟ USB
  • เสียบปลั๊กแล้วดูไฟกระพริบ

แม้ว่าจะไม่จำเป็น แต่ฉันต้องการให้พุ่มไม้ดูเท่ที่สุดเท่าที่จะเป็นไปได้และทำให้ทุกอย่างเรียบร้อยขึ้นเล็กน้อย ฉันตัดสินใจเลือกเคสที่วางซ้อนกันได้ 3 ชิ้นจาก Amazon ฉันไม่ได้รวมไว้ในคำแนะนำนี้เนื่องจากไม่จำเป็นต้องใช้ _technically_ แต่สำหรับประเด็นด้านสุนทรียศาสตร์ฉันขอแนะนำให้เลือกบางอย่าง

www.amazon.ca/gp/product/B07BNDFXN9/ref=oh…

** คะแนนโบนัส **

ฉันเลือกที่จะมองหาจุดเนิร์ดเพิ่มเติมและต้องการการบ่งชี้ภาพที่ดีกว่าว่าฉันกำลังโต้ตอบกับเซิร์ฟเวอร์ใด ฉันมีโปรโตบอร์ดสำรองวางอยู่รอบๆ และมี LED และตัวต้านทานจำนวนหนึ่ง ดังนั้นฉันจึงแฮ็กบอร์ดบางอันเข้าด้วยกันอย่างรวดเร็วเพื่อวางทับพิน GPIO ของ pi ตามหลักการแล้วฉันจะใช้ส่วนหัวของตัวเมีย แต่ฉันมีตัวผู้เท่านั้นดังนั้นฉันจึงจำเป็นต้องตัดสายจัมเปอร์บางส่วน

หากคุณต้องการไปเส้นทางนั้นด้วย (เพราะ LED นั้นยอดเยี่ยม) คุณจะต้องทำตามบทช่วยสอนนี้ที่:

thepihut.com/blogs/raspberry-pi-tutorials/…

ขั้นตอนที่ 3: กำหนดค่า Pi ของคุณ

คุณจะต้องทราบที่อยู่ IP ของแต่ละ Pi ในเครือข่ายท้องถิ่นของคุณ หากคุณเป็นนินจา CLI สิ่งนี้น่าจะเป็นเรื่องง่าย สำหรับคนอื่นๆ คุณสามารถใช้ IP Scanner ได้ฟรี เช่น SuperScan (OSX) เขียนที่อยู่ IP ลง

ถัดไป คัดลอกคีย์สาธารณะ SSH ของคุณไปยัง Pi แต่ละอันโดยใช้คำสั่งต่อไปนี้จากเทอร์มินัลของคุณ:

ssh-คัดลอกรหัส

ตัวอย่าง::

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

ไม่มีคีย์ SSH? ไม่มีปัญหา! เพียงแค่เรียกใช้:

ssh-keygen

ในเทอร์มินัลของคุณและปฏิบัติตามคำแนะนำ เราเกือบจะอยู่ที่นั่นแล้ว!

ขั้นตอนที่ 4: ติดตั้ง Ansible

ถ้าคุณมาได้ไกลถึงขนาดนี้ ยินดีด้วย! คุณใช้เวลาเพียงไม่กี่นาทีในการเรียกใช้เครือข่ายคอมพิวเตอร์แบบกระจายของคุณเอง

ในคอมพิวเตอร์ / แล็ปท็อปในพื้นที่ คุณจะต้องติดตั้ง Ansible จากบรรทัดคำสั่ง สำหรับผู้ใช้ Mac คือ:

sudo pip ติดตั้ง ansible

สำหรับคนอื่น ๆ โปรดดูที่ https://docs.ansible.com/ansible/latest/installat… สำหรับระบบปฏิบัติการของคุณ

ตอนนี้ คุณจะต้องโคลน repo นี้ลงในโฟลเดอร์หรือดาวน์โหลดไฟล์. ZIP และแตกไฟล์ลงในโฟลเดอร์ในเครื่องของคุณ

github.com/Jtilley84/ansible-apache2-webse…

ใน repo นั้น คุณจะเห็นไฟล์ hosts.ini เปิดขึ้นในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ (หรือ nano หรือ vim):

[ตัวโหลดบาลานซ์]

pi-headnode ansible_host=192.168.0.228 # <--- เปลี่ยนเป็นที่อยู่ IP ของ Pi ที่คุณต้องการเปิดใช้ HAProxy

[โหนด]

node2 ansible_host=192.168.0.16 # <--- เปลี่ยนเป็นที่อยู่ IP ของ Pi ที่สองของคุณ

node3 ansible_host=192.168.0.58 # <--- เปลี่ยนเป็นที่อยู่ IP ของ Pi ตัวที่สามของคุณ

แค่นั้นแหละ! ในการเรียกใช้ playbook ให้ไปที่โฟลเดอร์ repo ฐานและพิมพ์ข้อมูลต่อไปนี้ในเทอร์มินัลของคุณ:

ansible-playbook playbook.yml

ขั้นตอนที่ 5: ขอแสดงความยินดี !

Image
Image
ยินดีด้วย!!
ยินดีด้วย!!

คุณเพิ่งทำให้คอมพิวเตอร์มหัศจรรย์เกิดขึ้น ยินดีด้วย!

นี่เป็นเพียงการพิสูจน์แนวคิด ใน repo นี้ playbook จะพุชไฟล์ index.html ที่ไม่ซ้ำกันไปยังแต่ละโหนด เพื่อให้คุณสามารถตรวจแก้จุดบกพร่องด้วยสายตาได้ไม่ว่าจะทำงานหรือไม่ก็ตาม สำหรับเซิร์ฟเวอร์ที่ใช้งานจริง คุณต้องการแก้ไข playbook เพื่อปรับใช้ไซต์ของคุณอย่างชัดเจน

หากคุณมีคำถามหรือความคิดเห็นใด ๆ ฉันชอบที่จะได้ยินพวกเขา! กรุณาชำระเงิน repo Github และแยกออกไป! ฉันชอบที่จะเห็นสิ่งที่คุณคิด

แนะนำ: