Environment Variables

Environment variables ใช้เพื่อเก็บค่าของพารามิเตอร์ที่ใช้บ่อยซึ่งจัดเตรียมให้กับโปรแกรมซอฟต์แวร์ที่ใช้เวลาในการทำงาน กานใช้ placeholder ดังกล่าวทำให้แอปพลิเคชันของคุณสะดวกและยืดหยุ่นมากขึ้น

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

อีกกรณีสำหรับตัวแปรคือการ config แอปพลิเคชันผ่านเซตของค่าที่ได้กำหนดไว้ล่วงหน้าแล้ว (เปิด/ปิด ฟีเจอร์, เปลี่ยนแปลงการทำงานและอื่นๆ) Ruk-Com Cloud PaaS ช่วยเพิ่มเติม software stacks ส่วนใหญ่ที่ผ่านการรับรองแล้วกับตัวแปรเริ่มต้นจำนวนหนึ่งโดยนักพัฒนาสามารถนำไปใช้เพื่อช่วยในการโฮสต์แอปพลิเคชัน

Default Environment Variables

รายการตัวแปรทั้งหมดที่ใช้ใน Ruk-Com Cloud PaaS

ชื่อตัวแปรการแก้ไข*สแต็กคำอธิบาย
{SOFTWARE}_VERSIONAllเวอร์ชันของซอฟต์แวร์ที่ระบุ (stack, engine, template, module) และอื่นๆ
ADMIN_USERGlassFish (Payara), WildFly, Couchbase, LiteSpeed Web Server, LiteSpeed ADC, LLSMPการเข้าสู่ระบบของ admin สำหรับคอนโซลการดูแลระบบ
ADMINPANEL_ENABLED (PHPMYADMIN_ENABLED)+Databases, LLSMP, LEMPค่า “true” และ “1” อนุญาตให้ใช้ admin panel ในขณะที่ค่าอื่นๆปิดอยู่ซึ่งจำเป็นต้องรีสตาร์ทเพื่อใช้การเปลี่ยนแปลง ค่าในวงเล็บจะถูกเลิกใช้งาน แต่ยังคงใช้ได้กับ MySQL และ MariaDB databases
APP_FILE+Node.jsไฟล์แอปพลิเคชัน Node.js หลักที่จะเริ่มต้นโปรแกรม
AUTO_OLD_HEAP+Node.jsTurns on/off (true/false) การกำหนดค่า Ruk-Com Cloud memory โดยอัตโนมัติ – ตั้งค่าขนาดสูงสุดของ heap เก่าตามจำนวน memory บนคอนเทนเนอร์เก่า
CACHE_MEM_LIMIT+PHPกำหนดส่วนของ RAM ซึ่งควรจองไว้สำหรับ Redis cache server ที่สร้างเป็นส่วนถาวร โดยค่าเริ่มต้นคือ 10% ของ RAM ทั้งหมดในคอนเทนเนอร์
CLONE_ON_SCALE+Allกำหนดว่าหาก node ใหม่จากการปรับขนาดแบบ horizontal ควรโคลนจากต้นแบบของเลเยอร์ (true) หรือสร้างใหม่ตั้งแต่เริ่มต้น (false)
CP_MEM_LIMIT+LLSMP, LEMPกำหนดส่วนของ RAM ซึ่งควรจองไว้สำหรับ application server โดยค่าเริ่มต้นคือ 50% ของ RAM ทั้งหมดในคอนเทนเนอร์
DASGlassFish (Payara)แสดงหากมี DAS node (จำเป็นในการกำหนดค่าคลัสเตอร์) สำหรับเลเยอร์ปัจจุบัน
DB_MEM_LIMIT+LLSMP, LEMPกำหนดส่วนของ RAM ซึ่งควรจองไว้สำหรับ MariaDB database server ที่สร้างเป็นส่วนถาวร โดยค่าเริ่มต้นคือ 40% ของ RAM ทั้งหมดในคอนเทนเนอร์
DEFAULT_CLUSTER+LiteSpeed ADCเลือกประเภท load balancing สำหรับการร้องขอ proxy (HTTP, AJP, FCGI, LSAPI) ตรรกะนี้สามารถปิดใช้งานได้ (0, disabled, false)
DOCKER_EXPOSED_PORTAllแสดงรายการ port จากคำสั่ง EXPOSE ของ image dockerfile ซึ่งเปิดผ่าน firewall คอนเทนเนอร์ในระหว่างการสร้าง environment
FULL_GC_AGENT_DEBUG+Javaเปิดใช้งาน (true) หรือปิดใช้งาน (false) debug mode เพื่อติดตามกระบวนการ Java GC ใน log
FULL_GC_PERIOD+Javaตั้งค่าช่วงเวลา (เป็นวินาที) ระหว่างการเรียก GC แบบเต็ม โดยค่าเริ่มต้น 900 เช่น 15 นาที
G1PERIODIC_GC_INTERVAL+
(สำหรับ openJDK 12/13 เท่านั้น)
Javaความถี่ของการรวบรวม G1 Periodic ในหน่วยมิลลิวินาที (G1PeriodicGCInterval – 15 นาทีโดยค่าเริ่มต้น) ตั้งค่าเป็น 0 เพื่อปิดการใช้งาน
G1PERIODIC_GC_SYS_LOAD_THRESHOLD+
(สำหรับ openJDK 12/13 เท่านั้น)
Javaอนุญาตให้รวบรวมการดำเนินการ G1 Periodic หากค่าเฉลี่ย load ในระบบต่ำกว่าที่ตั้งไว้ 1 นาที เงื่อนไขนี้จะถูกละเว้นหากตั้งเป็นศูนย์ เท่ากับ {CPU_cores_number} * {GC_SYS_LOAD_THRESHOLD_RATE} โดยค่าเริ่มต้น
GC_SYS_LOAD_THRESHOLD_RATE+
(สำหรับ openJDK 12/13 เท่านั้น)
Javaการคูณแบบกำหนดเองเพื่อปรับค่าเก่า G1PeriodicGCSystemLoadThreshold ได้อย่างยืดหยุ่น (โดยค่าเริ่มต้นคือ 0.3)
GEM_HOME+RubyLocations (สามารถมีได้หลายแห่ง) ที่สามารถพบ GEM (ควรประกอบด้วย GEM_PATH)
GEM_PATHRubyLocation ที่จะติดตั้งค่าเริ่มต้น GEM
GMS_LISTENER_PORTGlassFish (Payara)Port ที่ใช้โดย Group Management Service (GMS)
GO_BUILD_OPTIONS+GoOption และ flags ที่ควรใช้สำหรับการสร้างแอปพลิเคชัน Go
GO_RUN+Goตั้งชื่อของ binary file ที่ปฏิบัติการ หากไม่ระบุไว้ใน deployment script จะพยายามค้นหาตามชื่อโปรเจ็กต์หนึ่งที่ตั้งไว้
GO_RUN_OPTIONS+GoOption และ flags ที่ควรใช้สำหรับการสร้างแอปพลิเคชัน Go
GOPATHGoกำหนดโฟลเดอร์การ deploy แอปพลิเคชัน Go
HAZELCAST_CONFIG+GlassFish (Payara)ตั้งค่า path ไปยังการกำหนดค่าไฟล์ hazelcast
HOME_DIRGlassFish (Payara), WildFly, Spring Boot, Java Engine, Node.js, Shared StorageContainer home directory
HOT_DEPLOY +Tomcat, TomEEเปิดใช้งาน (true/enabled/1) หรือ ปิดใช้งาน (false/disabled/0, ค่าเริ่มต้น) การปรับใช้ด่วน (เช่นการ deploy โดยไม่ต้อง restart) สำหรับแอปพลิเคชันเซิร์ฟเวอร์
IRBRCRubyPath ไปยังการกำหนดค่าไฟล์ IRB
JAVA_ARGS+Javaอนุญาตให้ส่ง argument บางส่วนไปยัง function หลักของแอปพลิเคชันคุณ
JAVA_HOMEJava, Mavenชี้ไปที่ directory ที่ติดตั้ง Java Runtime Environment (JRE)
JAVA_OPTS_CONFFILEJava, MavenPath ไปยังไฟล์ variables.conf
JBOSS_HOMEWildFlyWildFly home directory
JELASTIC_AUTOCONFIG+PHP, LiteSpeed ADC, MySQL, MariaDB, Perconaเปิดใช้งาน (true/enabled/1) หรือ ปิดใช้งาน (false/disabled/0) smart auto-configuration ขึ้นอยู่กับ RAM ที่จัดสรรและจำนวนของ CPU core
JELASTIC_EXPOSE+Allการจัดการสถานะฟังก์ชัน auto-redirect ด้วยความสามารถในการกำหนด port ที่ต้องการด้วยตัวเอง
JELASTIC_MEMORY_AUTOCONFIG+WildFlyเปิดใช้งาน (true) หรือปิดใช้งาน (false) การกำหนดค่า memory โดยอัตโนมัติสำหรับ WildFly
JELASTIC_PORTS+
(ก่อนการสร้าง env)
Allการระบุ port เองซึ่งควรเปิดใน firewall ในระหว่างการสร้าง container
JELASTIC_PRIORITY_PORTS+GlassFish (Payara)ตั้งค่า port ตัวฟัง HTTP ของ GlassFish
LAUNCH_JBOSS_IN_BACKGROUND+WildFlyเปิดใช้งาน (true) หรือปิดใช้งาน (false) การเริ่มต้นของแอปพลิเคชันเซิร์ฟเวอร์ใน background mode
LSWS_MAX_CHILDREN+LLSMP, LiteSpeed Web Serverการกำหนดขีดสูงสุดของ childdren process สำหรับเซิร์ฟเวอร์ เนื่องจากการตั้งค่าเริ่มต้นจะเท่ากับจำนวนของ CPU core ที่พร้อมใช้งาน คุณต้องเพิ่มตัวแปรนี้ด้วยตนเองและรีสตาร์ทเซิร์ฟเวอร์เพื่อกำหนดค่าใหม่
MASTER_HOSTAllชื่อโฮสต์แบบสั้นสำหรับ node หลักภายในเลเยอร์
MASTER_IDAllตัวระบุ node เฉพาะของ node หลักภายในเลเยอร์
MASTER_IPAllที่อยู่ IP ภายในของ node หลักภายในเลเยอร์
MAVEN_DEPLOY_ARTIFACT+Mavenกำหนด artifact ที่จะ deploy (สามารถกำหนดใหม่สำหรับโปรเจ็กต์โดยเฉพาะ)
MAVEN_OPTS+Mavenตั้งค่าพารามิเตอร์ที่จะใช้เพื่อเริ่มต้น JVM เพื่อรัน Maven และสามารถใช้เพื่อจัดหาตัวเลือก global เพิ่มเติม
MAVEN_RUN_ARGS+Mavenอนุญาตให้ส่ง argument ที่กำหนดเองสำหรับการสร้างแอปพลิเคชัน (สามารถกำหนดใหม่สำหรับโปรเจ็กต์โดยเฉพาะ)
MAX_OOM_REDUCE_CYCLES+MySQL, MariaDB, Perconaการกำหนดจำนวนรอบสูงสุดสำหรับการลดขนาด innodb_buffer_pool_size หลังจากการรรีสตาร์ทที่เกิดจาก OOM (ค่าเริ่มต้น 5 ครั้ง)
MY_RUBY_HOMERubyPath ไปยัง directory ที่มี Ruby engine อยู่
NODE_ENVNode.jsระบุ environment ที่แอปพลิเคชันกำลังทำงานอยู่ (เช่น development, staging, production, testing และอื่นๆ)
NODE_OPTIONS+Node.jsตัวแปรสำหรับระบุตัวเลือก Node.js runtime v8
NVM_DIRNode.jsPath ไปที่ตำแหน่งการติดตั้ง NVM
ON_ENV_INSTALL+
(ก่อนการสร้าง env)
AllScript (หรือการเชื่อมโยง) ที่จะดำเนินการหลังจากสร้าง environment
OOM_ADJUSTMENT+MySQL, MariaDB, Perconaกำหนดค่าเป็น %, MB, GB (ค่าเริ่มต้นเท่ากับ 10%) ที่พารามิเตอร์ปัจจุบัน innodb_buffer_pool_size ควรลดลงหลังจากการรีสตาร์ทแต่ละครั้งที่เกิดจาก OOM
OOM_DETECTION_DELTA+MySQL, MariaDB, Perconaตั้งค่าช่วงเวลา (โดยมีค่าเริ่มต้นที่ 2 นาที) สำหรับการวิเคราะห์และบันทึก log หลังจากการรีสตาร์ท service แต่ละครั้งเพื่อตัดสินว่าเกิดจาก OOM killer หรือไม่
PACKAGE_MANAGER+Node.jsตัวแปรที่ประกอบด้วยชื่อของการจัดการแพ็คเกจสำหรับการติดตั้งแพ็คเกจ javascript (npm หรือ yarn)
PACKAGE_MANAGER_OPTS+Node.jsตัวเลือกเพิ่มเติมสำหรับการจัดการแพ็คเกจ (อ้างอิงจากเอกสาร npm หรือ yarn อย่างเป็นทางการ)
PATHAllค่าเริ่มต้นตัวแปร shell พร้อมกับรายการ path ไปยัง directory ด้วยฏปรแกรมปฏิบัติการ
PHPFPM_MAX_CHILDREN+NGINX PHPตั้งค่าจำนวนระบบปฏิบัติการย่อย (child) สำหรับ PHP-FPM เท่ากับจำนวนของ CPU core ที่พร้อมใช้งานสำหรับคอนเทนเนอร์โดยค่าเริ่มต้น (ไม่น้อยกว่า 2)
PORT_4848_TCP_PORTGlassFish (Payara)Port สำหรับผู้ดูแลระบบ
PROCESS_MANAGER+Node.jsตัวแปรสำหรับการเลือก node.js process manager (เช่น npm, pm2, forever, supervisor)
PROCESS_MANAGER_FILENode.jsPath ไปยังไฟล์ที่มีตัวเลือก start สำหรับ process manager
PSWD_FILEGlassFish (Payara)Path ไปยังไฟล์ด้วยรหัสผ่านของผู้ใช้/ผู้ดูแลระบบ
REDIRECT_EXCLUDE_PORTS+Node.jsไม่รวมพอร์ตดังต่อไปนี้จาก auto-redirect algorithm (เช่น 22,23,25,21,111,2049,8743,7979)
REDIS_COMMANDER+Redisกำหนดว่าคำสั่ง redis ควรเปิดใช้งานหรือปิดใช้งาน
REDIS_ENABLED+PHPเปิดใช้งาน (true) หรือปิดใช้งาน (false) การ cache ด้วย redis จำเป็นต้องเริ่มบริการเพื่อใช้การเปลี่ยนแปลง
REDIS_SENTINEL+Redisกำหนดว่าควรเปิดหรือปิดเครื่องมือที่มีความพร้อมใช้งานสูงและเครื่องมือตรวจสอบของ Redis Sentinel หรือไม่
ROOT_DIRNode.jsแสดง path ไปยัง application deployment directory
SERVER_WEBROOTLLSMP, LiteSpeed Web Serverแสดง path ไปยัง application deployment directory
STACK_NAMEAllชื่อของ stack ปัจจุบัน
STACK_PATHAllhome directory ของ stack
STACK_USERAllชื่อของ stack ที่ตั้งค่าโดยผู้ใช้งาน
STANDALONE_MODE_CONFIG+WildFlyconfiguration file เพื่อเปิดใช้เซิร์ฟเวอร์ WildFly แบบ standlone
TCP_BALANCING+HAProxyเปิดใช้งาน (true) หรือปิดใช้งาน (false) Proxy การรับส่งข้อมูลและการปรับสมดุลไปยัง TPC backend
UPDATE_PACKAGES_ON_RESTART+Node.jsเปิดใช้งาน (true) หรือปิดใช้งาน (false) การติดตั้งแพ็คเกจอัตโนมัติหลังจากเริ่มบริการ node.js หากไม่มี node_modules directory อยู่ภายใน webroot หนึ่งการอัปเดตดังกล่าวจะถูกเรียกโดยไม่คำนึงถึงตัวแปรนี้
UPSTREAM
_KEEPALIVE
+NGINX balancerตั้งค่าคำสั่ง Keepalive สำหรับการ upstream
VERT_SCALING+Javaกำหนดว่าควรเปิดใช้งาน (true) Java GC agent เริ่มต้นหรือปิดใช้งาน (false)
WAF+LLSMP, LiteSpeed Web Serverเปิดใช้งาน (true) หรือปิดใช้งาน (false) Web Application Firewall ด้วยกฎเริ่มต้นของ Comodo ที่ตั้งไว้สำหรับเว็บเซิร์ฟเวอร์ LiteSpeed
WEB_ROOTGoPath ไปยัง deployed application
WEBROOTPHP, Tomcat (TomEE), GlassFish (Payara)แสดง path ไปยัง application deployment directory
WORKER_PROCESSES+NGINX balancerตั้งค่าจำนวน worker process – สามารถตรวจจับอัตโนมัติโดย NGINX (อัตโนมัติ) หรือตั้งค่าให้เท่ากับจำนวนของ CPU core (ที่กำหนด)
WP_PROTECT+LLSMP, LiteSpeed Web Server, LiteSpeed ADCกำหนดค่าสำหรับฟีเจอร์การป้องกันการโจมตี WordPress Brute Force (off|on|drop|deny|throttle|captcha; off โดยค่าเริ่มต้น)
WP_PROTECT_LIMIT+LLSMP, LiteSpeed Web Server, LiteSpeed ADCกำหนดขีดจำกัดสำหรับฟีเจอร์การป้องกันการโจมตีของ WordPress Brute Force (0|1|2-1000; 10 โดยค่าเริ่มต้น)
หรือเลื่อนลงไปดูตัวแปรที่จัดหมวดหมู่ด้านล่าง เพื่อการค้นหาที่ง่ายขึ้น

หมายเหตุ: ตัวแปรที่มีเครื่องหมาย “+” ในคอลัมน์การแก้ไขนั้นุณสามารถปรับเปลี่ยนคอนเทนเนอร์ได้อย่างอิสระ โดยจะต้องทำการ restart เพื่อใช้การเปลี่ยนแปลง

ไม่แนะนำให้เปลี่ยนแปลงตัวแปรที่มีเครื่องหมาย “-” เนื่องจากการดำเนินการดังกล่าวจะไม่สามารถนำการเปลี่ยนแปลงที่เกิดขึ้นไปใช้จริงกับคอนเทนเนอร์ อย่างไรก็ตามการแก้ไข “-” อาจทำลาย logic บางอย่างภายในได้

ตัวเลือกที่สามารถใช้ได้กับการจัดการสแต็กทั้งหมดมีดังนี้:

ชื่อตัวแปรการแก้ไข*คำอธิบาย
{SOFTWARE}_VERSIONเวอร์ชันของซอฟต์แวร์ที่ระบุ (stack, engine, template, module) และอื่นๆ
CLONE_ON_SCALE+กำหนดว่าหาก node ใหม่จากการปรับขนาดแบบ horizontal ควรโคลนจากต้นแบบของเลเยอร์ (true) หรือสร้างใหม่ตั้งแต่เริ่มต้น (false)
DOCKER_EXPOSED_PORTแสดงรายการ port จากคำสั่ง EXPOSE ของ image dockerfile ซึ่งเปิดผ่าน firewall คอนเทนเนอร์ในระหว่างการสร้าง environment
JELASTIC_EXPOSE+การจัดการสถานะฟังก์ชัน auto-redirect ด้วยความสามารถในการกำหนด port ที่ต้องการด้วยตัวเอง
JELASTIC_PORTS+การระบุ port เองซึ่งควรเปิดใน firewall ในระหว่างการสร้าง container
MASTER_HOSTชื่อโฮสต์แบบสั้นสำหรับ node หลักภายในเลเยอร์
MASTER_IDตัวระบุ node เฉพาะของ node หลักภายในเลเยอร์
MASTER_IPที่อยู่ IP ภายในของ node หลักภายในเลเยอร์
ON_ENV_INSTALL+Script (หรือการเชื่อมโยง) ที่จะดำเนินการหลังจากสร้าง environment
PATHค่าเริ่มต้นตัวแปร shell พร้อมกับรายการ path ไปยัง directory ด้วยฏปรแกรมปฏิบัติการ
STACK_NAMEชื่อของ stack ปัจจุบัน
STACK_PATHhome directory ของ stack
STACK_USERชื่อของ stack ที่ตั้งค่าโดยผู้ใช้งาน
Java

คลิกที่นี่เพื่อดูลิสตัวแปร Java

PHP

คลิกที่นี่เพื่อดูลิสตัวแปร PHP

Ruby

คลิกที่นี่เพื่อดูลิสตัวแปร Ruby

Node.js

คลิกที่นี่เพื่อดูลิสตัวแปร Node.js

Go (Golang)

คลิกที่นี่เพื่อดูลิสตัวแปร Go (Golang)

Load Balancers

คลิกที่นี่เพื่อดูลิสตัวแปร Load Balancers

Databases

คลิกที่นี่เพื่อดูลิสตัวแปร Databases

Other Stacks

คลิกที่นี่เพื่อดูลิสตัวแปรสแต็กอื่นๆ