โหลดยอดคงเหลือด้วยนักเทียบท่า

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

ขั้นตอนที่ 1: สร้างแอปพลิเคชันอย่างง่าย

เราจะใช้สนิมเพื่อสร้างแอปพลิเคชันที่เรียบง่ายนี้ cargo new webapp –binสมมติว่าคุณได้ติดตั้งสนิมวิ่ง webappเมื่อประสบความสำเร็จคุณจะเห็นไดเรกทอรีที่เรียกว่า ภายในของคุณจะเห็นไฟล์ที่เรียกว่าwebapp Cargo.tomlต่อท้ายบรรทัดต่อไปนี้:

[dependencies.iron]
version = "*"

ถัดไปข้างในsrc/main.rsไฟล์ลบทุกอย่างแล้วเติมด้วยต่อไปนี้:

extern crate iron;

use iron::prelude::*;
use iron::status;

fn main() {
    Iron::new(|_: &mut Request| {
        Ok(Response::with((status::Ok, "Hello Vultr :)")))
    }).http("0.0.0.0:3000").unwrap();
}

หมายเหตุ: อย่าเปลี่ยน IP ภายในแอปพลิเคชัน นี่คือการกำหนดค่าเพื่อให้นักเทียบท่าสามารถฟังใบสมัครของคุณ

cargo build –releaseเมื่อคุณได้เสร็จสิ้นการรวบรวมโปรแกรมประยุกต์โดยการดำเนินการ อาจใช้เวลาสักครู่ขึ้นอยู่กับเซิร์ฟเวอร์ของคุณ หากไม่มีข้อผิดพลาดให้ทดสอบแอปพลิเคชันโดยทำตามขั้นตอนเหล่านี้:

  • target/release/webappวิ่ง
  • นำทางไปยังhttp://0.0.0.0:3000/ในเบราว์เซอร์ของคุณ แทนที่0.0.0.0ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ

หากทุกอย่างทำงานอย่างถูกต้องคุณจะเห็น "Hello Vultr :)" บนหน้า

ขั้นตอนที่ 2: สร้างคอนเทนเนอร์ Docker

สร้างDockerfileและเติมด้วยต่อไปนี้:

FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp

บันทึกไฟล์ จากนั้นสร้างไฟล์ชื่อdeploy.shและเติมด้วยต่อไปนี้:

DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example . 

for ((i=0; i<DEPLOY; i++)); do
        docker kill $NAME$i ; docker rm $NAME$i
        docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done

เมื่อคุณเรียกใช้สคริปต์นี้มันจะสร้างภาพและปรับใช้ภาชนะตามจำนวนเงินที่คุณตั้งไว้ (ค่าเริ่มต้นคือ 5) หากคอนเทนเนอร์มีอยู่ระบบจะฆ่าและลบออกจากรีจิสทรีก่อนที่จะถูกนำไปใช้งานอีกครั้ง

ขั้นตอนที่ 3: กำหนดค่า Nginx

ตอนนี้สร้างไฟล์การกำหนดค่า Nginx และเติมด้วยต่อไปนี้:

upstream application {
    server localhost:45710;
    server localhost:46710;
    server localhost:47710;
    server localhost:48710;
    server localhost:49710;
}

server {
    listen 0.0.0.0:80;    
    location / {
    expires 1w;
        proxy_pass http://application;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

แทนที่0.0.0.0ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ

systemctl restart nginxเริ่มต้นใหม่ด้วยการทำ Nginx แก้ไขข้อผิดพลาดจากนั้นทำตามขั้นตอนต่อไป

ขั้นตอนที่ 4: ปรับใช้แอปพลิเคชัน

bash ./deploy.shปรับใช้โปรแกรมประยุกต์โดยการทำงาน

คุณสามารถตรวจสอบสถานะของใบสมัครของคุณที่มีdocker ps- จะมี 5 webappภาพที่สร้างขึ้นเริ่มต้นด้วย ตอนนี้ไปที่http://0.0.0.0:3000/เบราว์เซอร์ของคุณคุณจะเห็นข้อความ "Hello, Vultr :)" อีกครั้ง

แล้วสิ่งนี้แตกต่างกันอย่างไร

หากคุณรันการทดสอบเกณฑ์มาตรฐานเทียบกับการกำหนดค่าโหลดบาลานเซอร์คุณจะสังเกตเห็นว่ามีการใช้ทรัพยากรเซิร์ฟเวอร์ของคุณมากขึ้นซึ่งเป็นสิ่งที่คุณต้องการโดยเฉพาะอย่างยิ่งหากแอปพลิเคชันของคุณถูกสร้างขึ้นในภาษาเช่นโหนด หากคุณต้องการอัปเกรดแอปพลิเคชันของคุณคุณสามารถทำได้และรันใหม่deploy.shเพื่อสร้างภาพและปรับใช้คอนเทนเนอร์



Leave a Comment

ติดตั้ง Rancher OS ผ่าน iPXE

ติดตั้ง Rancher OS ผ่าน iPXE

Rancher OS คือการกระจาย Linux ที่เบามากซึ่งสร้างขึ้นรอบ ๆ Docker ระบบปฏิบัติการมีน้ำหนักประมาณ 20MB บทช่วยสอนนี้จะทำให้คุณพร้อมใช้งาน

ติดตั้ง Docker CE บน Ubuntu 18.04

ติดตั้ง Docker CE บน Ubuntu 18.04

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

ปรับใช้แอปพลิเคชัน PHP โดยใช้ Docker-compose

ปรับใช้แอปพลิเคชัน PHP โดยใช้ Docker-compose

แอปพลิเคชัน PHP มักประกอบด้วยเว็บเซิร์ฟเวอร์ระบบฐานข้อมูลเชิงสัมพันธ์และล่ามภาษาเอง ในบทช่วยสอนนี้เราจะเป็นผู้ใช้ประโยชน์

วิธีการติดตั้งฮาร์เบอร์บน CentOS 7

วิธีการติดตั้งฮาร์เบอร์บน CentOS 7

Harbour เป็นเซิร์ฟเวอร์รีจิสตรีระดับองค์กรโอเพนซอร์ซที่จัดเก็บและกระจายอิมเมจ Docker ฮาร์เบอร์ขยายโอเพนซอร์ซ

ติดตั้ง Rancher บน CentOS 7

ติดตั้ง Rancher บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน

การติดตั้ง Docker บน CentOS 7

การติดตั้ง Docker บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร นักเทียบท่าเป็นแอปพลิเคชั่นที่อนุญาตให้มีการปรับใช้ซอฟต์แวร์ภายในคอนเทนเนอร์เสมือน มันถูกเขียนในโปรแกรม Go

ติดตั้ง Rancher บน Ubuntu 16.04

ติดตั้ง Rancher บน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน

ปรับใช้และจัดการคอนเทนเนอร์ LXC อย่างปลอดภัยบน Ubuntu 14.04

ปรับใช้และจัดการคอนเทนเนอร์ LXC อย่างปลอดภัยบน Ubuntu 14.04

คอนเทนเนอร์ LXC (คอนเทนเนอร์ Linux) เป็นคุณลักษณะของระบบปฏิบัติการใน Linux ที่สามารถใช้เพื่อเรียกใช้ระบบ Linux ที่แยกได้หลายตัวในโฮสต์เดียว thes

Sticky Session พร��อม Docker Swarm (CE) บน Debian 9

Sticky Session พร��อม Docker Swarm (CE) บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ อำนวยความสะดวกในการปรับขนาดความพร้อมใช้งานสูง

เครื่องมือจัดการกราฟิกสองตัวของ Docker: DockerUI และอู่ต่อเรือ

เครื่องมือจัดการกราฟิกสองตัวของ Docker: DockerUI และอู่ต่อเรือ

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

การติดตั้ง docker-compose บน CoreOS

การติดตั้ง docker-compose บน CoreOS

บทความนี้จะอธิบายวิธีการติดตั้งนักเทียบท่าบน CoreOS ใน CoreOS นั้นโฟลเดอร์ / usr / จะไม่เปลี่ยนรูปดังนั้นเส้นทาง / usr / local / bin ไม่พร้อมใช้งานสำหรับ

บน CoreOS ให้ตั้งค่า Registry Docker ของคุณเอง

บน CoreOS ให้ตั้งค่า Registry Docker ของคุณเอง

เราทุกคนต่างก็รู้จักและชื่นชอบนักเทียบท่าซึ่งเป็นแพลตฟอร์มในการสร้างจัดการและแจกจ่ายคอนเทนเนอร์ของแอปพลิเคชันในหลาย ๆ เครื่อง Docker Inc. เป็นผู้ให้บริการ

ตั้งค่า Sentry ผ่าน Docker บน Ubuntu 16.04

ตั้งค่า Sentry ผ่าน Docker บน Ubuntu 16.04

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

ปรับใช้ Kubernetes ด้วย Kubeadm บน CentOS 7

ปรับใช้ Kubernetes ด้วย Kubeadm บน CentOS 7

ภาพรวมบทความนี้มีไว้เพื่อช่วยให้คุณได้รับคลัสเตอร์ Kubernetes และทำงานกับ kubeadm ในเวลาไม่นาน คู่มือนี้จะปรับใช้เซิร์ฟเวอร์สองเครื่องในวันที่

ติดตั้ง Rancher Server บน RancherOS

ติดตั้ง Rancher Server บน RancherOS

ภาพรวม RancherOS เป็นระบบปฏิบัติการที่มีน้ำหนักเบาอย่างไม่น่าเชื่อ (เพียงประมาณ 60 MB) ที่เรียกใช้ระบบ Docker daemon เป็น PID 0 สำหรับการเรียกใช้บริการระบบ

Sticky Session กับ Docker Swarm (CE) บน CentOS 7

Sticky Session กับ Docker Swarm (CE) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ช่วยอำนวยความสะดวกในการปรับขนาด

วิธีใช้นักเทียบท่า: การสร้างตัวเทียบท่าแรกของคุณ

วิธีใช้นักเทียบท่า: การสร้างตัวเทียบท่าแรกของคุณ

บทช่วยสอนนี้อธิบายพื้นฐานของการเริ่มต้นใช้งาน Docker ฉันคิดว่าคุณได้ติดตั้ง Docker แล้ว ขั้นตอนในบทช่วยสอนนี้จะใช้กับ

สร้าง Docker Swarm บน Alpine Linux 3.9.0

สร้าง Docker Swarm บน Alpine Linux 3.9.0

บทนำคู่มือนี้จะแสดงวิธีสร้างและกำหนดค่า Docker Swarm โดยใช้เซิร์ฟเวอร์ Alpine Linux 3.9.0 และ Portainer หลายตัว โปรดระวังด้วย

เริ่มต้นกับ SQL Server 2017 (MS-SQL) บน CentOS 7 พร้อม Docker

เริ่มต้นกับ SQL Server 2017 (MS-SQL) บน CentOS 7 พร้อม Docker

ข้อกำหนดเบื้องต้นเอ็นจิ้น Docker 1.8+ พื้นที่ดิสก์ขั้นต่ำ 4GB RAM ขั้นต่ำ 4GB ขั้นตอนที่ 1 ติดตั้ง Docker เพื่อติดตั้ง SQL-Server, Docker mus

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน