คู่มือภาษาและกรอบงาน
ปรับใช้งาน Elixir Phoenix บน Containers
11 นาที
back4app containers เป็นแพลตฟอร์มที่ทรงพลังสำหรับการโฮสต์แอปพลิเคชัน elixir phoenix ด้วยความสามารถในการปรับใช้แอป dockerized โดยอัตโนมัติ คุณสามารถเริ่มต้นโปรเจกต์ของคุณในสภาพแวดล้อมที่สามารถปรับขนาดและยืดหยุ่นได้อย่างง่ายดาย ในคู่มือนี้ เราจะพาคุณไปผ่านกระบวนการเตรียมและปรับใช้แอปพลิเคชัน elixir phoenix ของคุณบน back4app containers โดยครอบคลุมทุกอย่างตั้งแต่โปรเจกต์ง่ายๆ ไปจนถึงการตั้งค่าที่ซับซ้อนมากขึ้น เราจะเริ่มต้นด้วยการเตรียมความพร้อมที่จำเป็น จากนั้นจะไปที่การทำให้แอปพลิเคชันเป็น docker ทดสอบในเครื่อง ผลักดันโปรเจกต์ไปยัง github ตั้งค่าโปรเจกต์บน back4app containers ตรวจสอบการปรับใช้ และแก้ไขปัญหาทั่วไป หากคุณมีคำถามหรือความคิดเห็นใดๆ สามารถเข้าร่วมการสนทนาในช่อง #containers บน back4app community ใน slack ได้ตลอดเวลา คุณยังสามารถติดต่อเราที่ community\@back4app com ได้อีกด้วย หากคุณต้องการตรวจสอบตัวอย่างโปรเจกต์ elixir phoenix ที่ทำงานได้บน back4app containers สามารถไปที่ https //github com/templates back4app/containers python flask sample 1\ เตรียมแอปพลิเคชัน elixir phoenix ของคุณ ในการเตรียมแอปพลิเคชัน elixir phoenix ของคุณสำหรับการปรับใช้บน back4app containers คุณจะต้องทำตามขั้นตอนต่อไปนี้ ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณสร้างขึ้นโดยใช้เวอร์ชัน elixir และ phoenix ล่าสุด คุณสามารถอัปเดตเวอร์ชัน elixir และ phoenix ของคุณโดยการอัปเดต mix exs ไฟล์ด้วยเวอร์ชันการพึ่งพาล่าสุด ลบการกำหนดค่าที่ตั้งค่าไว้ล่วงหน้า เช่น url ของฐานข้อมูลหรือกุญแจลับ แทนที่ใช้ตัวแปรสภาพแวดล้อมในการจัดเก็บค่าต่างๆ เหล่านี้ ซึ่งคุณสามารถตั้งค่าได้ภายใน back4app containers สิ่งนี้จะช่วยให้แอปพลิเคชันของคุณมีความปลอดภัยมากขึ้นและง่ายต่อการกำหนดค่าเมื่อปรับใช้ในสภาพแวดล้อมที่แตกต่างกัน ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณใช้การตั้งค่าสภาพแวดล้อมที่ถูกต้อง เช่น สภาพแวดล้อมการผลิต การพัฒนา หรือการทดสอบ อัปเดต config/ exs ไฟล์เพื่อใช้ตัวแปรสภาพแวดล้อมสำหรับการตั้งค่าเหล่านี้ คอมไพล์แอปพลิเคชันของคุณโดยใช้คำสั่ง mix env=prod mix compile สิ่งนี้จะสร้างอาร์ติแฟกต์การสร้างที่จำเป็นสำหรับการปรับใช้ สร้าง dockerignore ไฟล์ในไดเรกทอรีหลักของแอปพลิเคชันของคุณเพื่อละเว้นไฟล์และไดเรกทอรีที่ไม่จำเป็นจากบริบทการสร้าง docker สิ่งนี้จะช่วยลดขนาดของภาพ docker ของคุณและปรับปรุงเวลาในการสร้าง ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณทำงานได้อย่างถูกต้องในเครื่องโดยการทดสอบด้วย mix env=prod mix phx server หากทุกอย่างทำงานได้อย่างถูกต้อง คุณก็พร้อมที่จะไปยังขั้นตอนถัดไป การสร้าง docker 2\ การสร้าง docker ในการสร้าง dockerfile สำหรับแอปพลิเคชัน elixir phoenix ของคุณ ให้ทำตามขั้นตอนเหล่านี้ สร้างไฟล์ใหม่ชื่อ dockerfile ในไดเรกทอรีหลักของแอปพลิเคชันของคุณ เพิ่มเนื้อหาต่อไปนี้ลงใน dockerfile \# use an official elixir runtime as a parent image from elixir 1 12 3 alpine \# set the working directory in the container to /app workdir /app \# copy the current directory contents into the container at /app copy /app \# install hex package manager run mix local hex force \# install rebar (erlang build tool) run mix local rebar force \# set environment variables env mix env=prod env secret key base=yoursecretkeyhere env port=4000 \# install dependencies run mix deps get \# compile the project run mix do compile \# digest the static assets run mix phx digest \# make port 4000 available to the world outside this container expose 4000 \# run the application cmd \["mix", "phx server"]# use the official elixir image as the base from elixir\ latest \# set the working directory workdir /app \# copy the application files copy \# install hex and rebar run mix local hex force && \\ mix local rebar force \# install dependencies run mix deps get \# compile the application run mix env=prod mix compile \# expose the application port expose 4000 \# start the application cmd \["mix", "phx server"] dockerfile นี้ตั้งค่าแอปพลิเคชัน elixir phoenix เบื้องต้นโดยใช้ภาพ elixir อย่างเป็นทางการ มันติดตั้งความต้องการที่จำเป็นและคอมไพล์แอปพลิเคชัน จากนั้นเปิดพอร์ต 4000 และเริ่มแอปพลิเคชันโดยใช้ mix phx server 3\ ทดสอบโปรเจกต์ของคุณในเครื่อง ก่อนที่จะผลักดันโปรเจกต์ของคุณไปยัง github และนำไปใช้งานใน back4app containers คุณควรทดสอบแอปพลิเคชัน dockerized ของคุณในเครื่อง เพื่อทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้ สร้างภาพ docker ของคุณด้วยคำสั่งต่อไปนี้ docker build t your image name รันคอนเทนเนอร์ docker ของคุณด้วยคำสั่งต่อไปนี้ docker run p 4000 4000 env file env your image name เข้าถึงแอปพลิเคชันของคุณในเว็บเบราว์เซอร์ที่ http //localhost 4000 หากทุกอย่างทำงานได้อย่างถูกต้อง คุณก็พร้อมที่จะไปยังขั้นตอนถัดไป การผลักดันโปรเจกต์ของคุณไปยัง github 4\ ผลักดันโปรเจกต์ของคุณไปยัง github เพื่อผลักดันแอปพลิเคชัน elixir phoenix ของคุณไปยังที่เก็บ github ให้ทำตามขั้นตอนเหล่านี้ หากคุณยังไม่ได้ทำ ให้สร้างที่เก็บ github ใหม่สำหรับโครงการของคุณ เริ่มต้นที่เก็บ git ในไดเรกทอรีรากของโครงการของคุณโดยใช้คำสั่ง git init เพิ่มไฟล์โครงการทั้งหมดของคุณลงในที่เก็บ git โดยใช้คำสั่ง git add บันทึกการเปลี่ยนแปลงของคุณด้วยข้อความที่มีความหมายโดยใช้คำสั่ง git commit m "your commit message" เพิ่มที่เก็บ github ระยะไกลลงในที่เก็บ git ท้องถิ่นของคุณโดยใช้คำสั่ง git remote add origin https //github com/your username/your repository git ผลักดันการเปลี่ยนแปลงของคุณไปยังที่เก็บ github ระยะไกลโดยใช้คำสั่ง git push u origin master เมื่อโครงการของคุณอยู่บน github แล้ว คุณสามารถดำเนินการติดตั้งแอปพลิเคชันของคุณบน back4app containers 5\ ติดตั้งแอปพลิเคชันของคุณบน back4app containers ในการติดตั้งแอป rails ของคุณบน back4app containers ให้เริ่มต้นโดยการเข้าสู่ระบบบัญชี back4app ของคุณและเชื่อมต่อที่เก็บ github ของคุณกับแพลตฟอร์ม เมื่อเชื่อมต่อแล้ว ให้ไปที่ส่วน containers และสร้างแอปคอนเทนเนอร์ใหม่ ในระหว่างกระบวนการนี้ คุณสามารถปรับแต่งเส้นทาง dockerfile ของคุณ และสร้างตัวแปรสภาพแวดล้อมที่จำเป็นสำหรับแอปพลิเคชันของคุณ คุณสามารถติดตามเอกสารเหล่านี้เพื่อให้คำแนะนำที่ดีกว่า 1 เชื่อมต่อที่เก็บ github ของคุณกับ back4app https //www back4app com/docs containers/integrate with github 2 เตรียมโครงการของคุณสำหรับการติดตั้ง https //www back4app com/docs containers/prepare your deployment โดยสรุป คอนเทนเนอร์จะปฏิบัติตามคำแนะนำที่ระบุใน dockerfile ของคุณและเริ่มสร้างแอปของคุณ หลังจากกำหนดค่าคอนเทนเนอร์แอปของคุณ back4app จะสร้างภาพคอนเทนเนอร์โดยอัตโนมัติโดยใช้ dockerfile และติดตั้งแอป rails ของคุณบนแพลตฟอร์ม กระบวนการติดตั้งอาจใช้เวลาสักครู่ ขึ้นอยู่กับขนาดและความซับซ้อนของแอปพลิเคชันของคุณ เมื่อการติดตั้งเสร็จสิ้น back4app containers จะให้ url ที่ไม่ซ้ำกันแก่คุณซึ่งคุณสามารถเข้าถึงแอปที่ติดตั้งแล้วของคุณ 6\ ตรวจสอบการติดตั้งและแก้ไขข้อผิดพลาดที่อาจเกิดขึ้น ในขณะที่แอปพลิเคชันของคุณกำลังถูกติดตั้งบน back4app containers คุณสามารถติดตามความก้าวหน้าและตรวจสอบข้อผิดพลาดหรือคำเตือนใด ๆ ได้ เพื่อทำเช่นนี้ให้ทำตามขั้นตอนเหล่านี้ ในแดชบอร์ด back4app containers ของคุณ คลิกที่ชื่อแอปพลิเคชันของคุณเพื่อดูรายละเอียดของมัน คลิกที่แท็บ "logs" เพื่อดูบันทึกแบบเรียลไทม์ของกระบวนการติดตั้ง ให้ความสนใจกับข้อความข้อผิดพลาดหรือคำเตือนใด ๆ ที่อาจปรากฏขึ้น เนื่องจากอาจบ่งชี้ถึงปัญหาที่อาจเกิดขึ้นกับแอปพลิเคชันของคุณหรือการตั้งค่าของมัน หากจำเป็น ให้ทำการเปลี่ยนแปลงที่จำเป็นต่อแอปพลิเคชันของคุณหรือการตั้งค่าของมันและติดตั้งแอปพลิเคชันของคุณใหม่ 7\ การแก้ไขปัญหาทั่วไป นี่คือรายการปัญหาทั่วไปที่คุณอาจพบเมื่อทำการติดตั้งและรันแอปพลิเคชัน elixir phoenix บน back4app containers พร้อมกับแนวทางแก้ไขบางประการ การสร้าง docker ล้มเหลว หากการสร้าง docker ของคุณล้มเหลว ให้ตรวจสอบข้อความแสดงข้อผิดพลาดในบันทึกอย่างละเอียด ปัญหาทั่วไป ได้แก่ การขาดการพึ่งพา เส้นทางไฟล์ที่ไม่ถูกต้อง หรือข้อผิดพลาดในไวยากรณ์ใน dockerfile ของคุณ ตรวจสอบให้แน่ใจว่าได้แก้ไขปัญหาเหล่านี้และลองสร้างแอปพลิเคชันของคุณใหม่อีกครั้ง แอปพลิเคชันไม่สามารถเริ่มต้นได้ หากแอปพลิเคชันของคุณไม่สามารถเริ่มต้นได้หลังจากการติดตั้ง ให้ตรวจสอบบันทึกเพื่อดูข้อความแสดงข้อผิดพลาดใดๆ ซึ่งอาจบ่งชี้ถึงปัญหากับการกำหนดค่าของแอปพลิเคชันของคุณ เช่น ตัวแปรสภาพแวดล้อมที่ขาดหายไปหรือการตั้งค่าที่ไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณได้รับการกำหนดค่าอย่างถูกต้องและติดตั้งใหม่หากจำเป็น แอปพลิเคชันทำงานแต่ไม่สามารถเข้าถึงได้ หากแอปพลิเคชันของคุณกำลังทำงานแต่ไม่สามารถเข้าถึงได้ผ่าน url ที่กำหนด ให้ตรวจสอบไฟล์ config/ exs ของแอปพลิเคชันของคุณอีกครั้งเพื่อให้แน่ใจว่าการตั้งค่าพอร์ตและโฮสต์ถูกต้อง นอกจากนี้ ให้ตรวจสอบว่า dockerfile ของคุณเปิดเผยพอร์ตที่ถูกต้องโดยการรวมคำสั่ง expose ปัญหาด้านประสิทธิภาพของแอปพลิเคชัน หากแอปพลิเคชันของคุณประสบปัญหาด้านประสิทธิภาพหรือทำงานช้า ให้พิจารณาเพิ่มประสิทธิภาพโค้ดหรือการกำหนดค่าของแอปพลิเคชัน ซึ่งอาจเกี่ยวข้องกับการปรับแต่งการตั้งค่าฐานข้อมูล การลดจำนวนการเชื่อมต่อพร้อมกัน หรือการใช้แคช นอกจากนี้ คุณสามารถพิจารณาขยายแอปพลิเคชันของคุณบน back4app containers โดยการเพิ่มจำนวนคอนเทนเนอร์หรืออัปเกรดไปยังแผนคอนเทนเนอร์ที่มีประสิทธิภาพมากขึ้น แอปพลิเคชันล้มเหลวหรือประสบปัญหาชั่วคราว หากแอปพลิเคชันของคุณล้มเหลวหรือประสบปัญหาชั่วคราว ให้ตรวจสอบบันทึกเพื่อระบุรูปแบบหรือข้อความแสดงข้อผิดพลาดใดๆ ที่อาจบ่งชี้ถึงสาเหตุที่แท้จริง ปัญหาทั่วไป ได้แก่ การรั่วไหลของหน่วยความจำ ข้อยกเว้นที่ไม่ได้จัดการ หรือการเชื่อมต่อที่ปิดไม่ถูกต้อง เมื่อคุณระบุปัญหาได้แล้ว ให้ปรับปรุงโค้ดหรือการกำหนดค่าของแอปพลิเคชันตามความจำเป็นและติดตั้งใหม่ 8\ ขยายแอปพลิเคชันของคุณ (50 คำ) หากแอปพลิเคชัน phoenix ของคุณต้องการทรัพยากรมากขึ้นเพื่อทำงานได้อย่างมีประสิทธิภาพ คุณสามารถขยาย back4app containers ของคุณได้อย่างง่ายดายโดยการซื้อคอนเทนเนอร์ที่มีประสิทธิภาพมากขึ้นซึ่งมีการจัดสรร cpu และหน่วยความจำที่สูงขึ้น สิ่งนี้จะช่วยให้แอปพลิเคชันของคุณสามารถจัดการกับการเข้าชมที่เพิ่มขึ้นและมอบประสบการณ์ผู้ใช้ที่ดียิ่งขึ้น 9\ แอปพลิเคชันตัวอย่าง สำหรับการใช้งานอ้างอิง คุณสามารถเข้าถึงแอป phoenix แบบเทมเพลตที่ปรับใช้บน back4app containers ได้ที่ลิงก์ต่อไปนี้ https //github com/templates back4app/containers elixir phoenix https //github com/templates back4app/containers elixir phoenix โดยการทำตามคู่มือนี้ คุณควรมีความเข้าใจที่ดีขึ้นเกี่ยวกับวิธีการปรับใช้และจัดการแอปพลิเคชัน elixir phoenix ของคุณบน back4app containers ด้วยฟีเจอร์ที่ทรงพลังและอินเทอร์เฟซที่ใช้งานง่าย back4app containers เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับการโฮสต์แอปพลิเคชันของคุณในขณะที่ปล่อยให้ความซับซ้อนของ devops เป็นหน้าที่ของผู้เชี่ยวชาญ