วิธีการติดตั้ง Node.js แอพพลิเคชั่นถาวรบน Ubuntu 16.04

แอปพลิเคชัน Node.js เป็นที่นิยมสำหรับความสามารถในการขยาย การรันหลายกระบวนการพร้อมกันบนเซิร์ฟเวอร์หลายเครื่องจะทำให้เวลาในการตอบสนองและเวลาในการตอบสนองลดลง เมื่อจัดการเซิร์ฟเวอร์หลายเครื่องวิธีที่ง่ายที่สุดคือให้แอปพลิเคชัน Node.js รีสตาร์ทโดยอัตโนมัติหากเกิดข้อผิดพลาด บทช่วยสอนนี้จะแสดงวิธีตั้งค่าการคงอยู่ของแอปพลิเคชันอย่างรวดเร็วจากอินสแตนซ์ Ubuntu 16.04 ที่ว่างเปล่า

ข้อกำหนดเบื้องต้น

  • สร้างอินสแตนซ์ Vultr ทุกขนาดด้วย Ubuntu 16.04 LTS x64
  • หากคุณไม่ใช่ผู้ใช้รูทให้รันsudo -sและพิมพ์รหัสผ่านของคุณ จำเป็นต้องมีการเข้าถึงรูทเพื่อแก้ไขไฟล์เริ่มต้นเพื่อให้ตัวจัดการกระบวนการเริ่มทำงานเมื่อบูต
  • ตรวจสอบให้แน่ใจว่ามีการติดตั้ง Node.js บนอินสแตนซ์และเวอร์ชันของ Node.js คือ 8.9.3 LTS หรือใหม่กว่าซึ่งจำเป็นสำหรับผู้จัดการการคงอยู่เพื่อให้ทำงานได้อย่างราบรื่น ใช้node -vเพื่อตรวจสอบเวอร์ชันที่ติดตั้ง หาก Node.js ไม่ได้อยู่ในรุ่นที่ถูกต้องคำสั่งต่อไปนี้จะติดตั้ง

ติดตั้ง Node.js.

$ sudo apt-get update
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs

สร้างพาร์ติชันสลับ

ขั้นตอนนี้เป็นทางเลือก แต่แนะนำสำหรับการติดตั้ง พาร์ติชัน Swap เป็นส่วนหนึ่งของฮาร์ดดิสก์ซึ่งมีไว้เพื่อช่วยเสริม RAM บนอินสแตนซ์ Vultr ขนาดเล็กเช่นอินสแตนซ์ RAM 512MB การสร้างพาร์ติชัน swapจะเป็นประโยชน์ต่อประสิทธิภาพ สำหรับบทแนะนำการแลกเปลี่ยนรุ่นโดยอัตโนมัติให้ใช้คำสั่งด้านล่าง

$ git clone https://github.com/teamtofu/server-tools.git tools
$ bash ./tools/swap.sh

โดยทั่วไปแล้วการใช้ swap จะไม่จำเป็นสำหรับอินสแตนซ์ที่มี RAM ขนาด 4 GB ขึ้นไปเมื่อตั้งค่าแอพพลิเคชั่นแบบถาวรแม้ว่ามันจะช่วยเพิ่มประสิทธิภาพของแอพพลิเคชั่นได้ก็ตาม RAM ตอบสนองได้ดีกว่าการสลับดังนั้นอินสแตนซ์ที่มี RAM มากกว่าจะให้ผลลัพธ์ที่ดีกว่าโดยไม่คำนึงถึงการสลับ

ติดตั้งไหมพรม

Yarn เป็นโปรแกรมจัดการแพ็คเกจที่ใช้งานง่ายจาก Facebook สำหรับแพ็คเกจ Node.js มันเร็วกว่า NPM และยังกำหนดไว้ซึ่งมีประโยชน์อย่างยิ่งเมื่อปรับใช้เซิร์ฟเวอร์หลายเครื่อง

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

อย่างไรก็ตาม NPM สามารถใช้แทน Yarn และมีคำสั่งเปรียบเทียบกับคำสั่งทั้งหมดในบทช่วยสอนนี้

ติดตั้งแอปพลิเคชั่น Node.js ของคุณ

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

ติดตั้งผู้จัดการกระบวนการ 2

Process Manager 2 เป็นแพ็คเกจที่จะรีสตาร์ทแอปพลิเคชันโดยอัตโนมัติ Process Manager 2 เป็นที่นิยมมากและถูกใช้โดย Microsoft, PayPal และ Intuit ดังนั้นจึงปลอดภัยและเชื่อถือได้

$ yarn global add pm2

เพิ่มแอปพลิเคชันของคุณเป็นกระบวนการ

แอ็พพลิเคชันจะถูก daemonized (รันในพื้นหลัง) และรีสตาร์ทอัตโนมัติด้วยคำสั่ง start

$ pm2 start [path to your entry.js] -i max

หากคุณต้องการเปิดใช้งานจำนวนสูงสุดของกระบวนการโดยอัตโนมัติผ่านการ-i maxโต้แย้ง หากการใช้อินสแตนซ์ Vultr เพียงอย่างเดียวนี้เป็นการให้บริการแอปพลิเคชันแนะนำให้ทำเช่นนี้ สำหรับอินสแตนซ์ Vultr ที่มี CPU มากกว่าหนึ่งกระบวนการจะเปิดตัวหลายกระบวนการและ Process Manager 2 จะทำหน้าที่เป็นตัวปรับสมดุลโหลดสำหรับทุกกระบวนการเหล่านี้

เริ่มแอปพลิเคชันของคุณโดยอัตโนมัติเมื่อบูต

หลังจากเริ่มแอพแล้วให้บันทึกการกำหนดค่าของแอปพลิเคชัน จากนั้นรันคำสั่งเริ่มต้นเพื่อเรียกใช้ Process Manager 2 โดยอัตโนมัติในพื้นหลังเมื่อบู๊ตเครื���อง Ubuntu สำหรับ Ubuntu 16.04, Process Manager ที่ 2 systemdจะผูกกับ

$ pm2 save
$ pm2 startup

ตอนนี้หากแอปพลิเคชัน Node.js ของคุณขัดข้องเนื่องจากข้อผิดพลาดมันจะรีสตาร์ทและหาก Ubuntu ขัดข้องด้วยเหตุผลใดก็ตามกระบวนการจะรีสตาร์ทโดยอัตโนมัติด้วย Ubuntu กระบวนการที่สามารถเริ่มต้นใหม่กับpm2 gracefulReload allและจัดการกระบวนการ 2 pm2 updateสามารถเริ่มต้นใหม่กับ ในการหยุดการจัดการกระบวนการ 2 pm2 unstartupจากการเริ่มต้นในการบูตวิ่ง

การทดสอบ

ลองพิมพ์rebootและตรวจสอบเพื่อดูว่าแอปพลิเคชันของคุณทำงานหลังจากบูท Ubuntu หรือไม่ ถ้าโปรแกรมประยุกต์สำหรับเว็บและทำหน้าที่มากกว่าพอร์ต80แล้วcurl http://localhost/จะแสดง HTML สำหรับหน้าเริ่มต้น ในกรณีที่มันไม่ทำงานคำสั่งpm2 statusจะแสดงกระบวนการทำงานและคำสั่งเริ่มต้นสามารถออกใหม่

การปรับใช้แอปพลิเคชันเวอร์ชันใหม่

หากแอปพลิเคชันได้รับการอัปเดตเช่นโดยการดึงที่เก็บ git ดังนั้นคำสั่งจะต้องออกให้เพื่ออัปเดตกระบวนการแอปพลิเคชันที่ทำงานอยู่

$ pm2 update

ตัวอย่างการใช้งาน

Parse Serverแพลตฟอร์มโอเพ่นซอร์สที่ได้รับความนิยมในฐานะบริการทำหน้าที่เป็นแบ็กเอนด์สำหรับแอปพลิเคชัน แบ็คเอนด์อาจมีปัญหาเนื่องจากข้อผิดพลาดในรหัสหรือปริมาณการร้องขอ แต่แอปพลิเคชันจะไม่หยุดทำงานเนื่องจากเซิร์ฟเวอร์อื่น (และ / หรือกระบวนการ) ยังคงทำงานต่อไปและกระบวนการ Parse Server จะเริ่มต้นใหม่อย่างรวดเร็ว



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true