นี่เป็นเว็บเซิร์ฟเวอร์ที่เรียบง่ายที่เขียนด้วย Erlang ธรรมดา
จำเป็นต้องใช้ Erlang/OTP 23 เพื่อเรียกใช้เซิร์ฟเวอร์นี้ Erlang/OTP 24 ได้รับการแนะนำใหม่
วิธีที่ดีที่สุดในการดีบักโปรแกรมคือการทำดังต่อไปนี้:
$ cd src/
$ erlc *.erl && erl; rm -rf ./*.beam # This will rebuild everything from scratch, so there would be no problems with cached files
...
Eshell V11.2 (abort with ^G)
1> server:start().
ก่อนใช้วิธีนี้อย่าลืมสร้างไฟล์การกำหนดค่า:
$ cp -r configs/ /etc/MeowMeow/ # Porbably you will need root(i.e. sudo)
รวบรวมโดยใช้ Rebar3:
$ rebar3 as prod release
จากนั้นคุณต้องสร้างการกำหนดค่าใน /etc/MeowMeow/ หลังจากนี้คุณสามารถเรียกใช้เซิร์ฟเวอร์:
$ ./_build/prod/rel/MeowMeow/bin/MeowMeow <desired mode of running>
หากคุณต้องการความช่วยเหลือเกี่ยวกับโหมดการรันเพียงแค่เรียกใช้สคริปต์โดยไม่มีอาร์กิวเมนต์เพื่อรับความช่วยเหลือ
ใส่ไฟล์ของคุณใน /var/www/ ไดเรกทอรีพวกเขาจะได้รับการเสิร์ฟแบบคงที่ ปัจจุบันการสนับสนุน FastCGI ที่มีอยู่สำหรับการให้บริการไฟล์ซึ่งไม่คงที่
ข้อสังเกตที่สำคัญ: ในข้อผิดพลาดทางไวยากรณ์ของเวอร์ชันปัจจุบันในการกำหนดค่า ไม่ได้ รับการตรวจสอบดังนั้นการกำหนดค่าผิดพลาดอาจนำไปสู่ข้อผิดพลาดร้ายแรง
การกำหนดค่าเซิร์ฟเวอร์จะถูกเก็บไว้ใน /etc/MeowMeow/meow.conf ไวยากรณ์มีดังนี้:
Directive1 Args
Directive2 Args
การสนับสนุนเวอร์ชันปัจจุบันตามคำสั่งตามคำสั่ง:
LogLevel <<LEVEL>> ตั้งค่าระดับการบันทึกจาก 0 เป็น 4 (0 - ไม่มีอะไรบันทึก 4 - บันทึกทุกอย่าง)KeepAlive <<MS>> การเชื่อมต่อเริ่มต้นเวลาเก็บรักษาในมิลลิวินาทีListenPort <<PORT>> พอร์ตที่จะฟังการเชื่อมต่อListenHost <<HOSTNAME/IP>> ชื่อโฮสต์ที่จะฟังDocDir <<DIRECTORY>> ไดเรกทอรีพร้อมไฟล์เพื่อให้บริการ ในการกำหนดค่าเส้นทางคุณต้องแก้ไข /etc/MeowMeow/routes.conf ไวยากรณ์มีดังนี้:
Route <wildcard pattern>
Directive1 Args
Directive2 Args
Host <wildcard pattern>
Directive3 Args
End
End
Route กำหนดรูปแบบของเส้นทางการร้องขอที่จะใช้คำสั่ง คำสั่งนอกจากนี้สามารถนำไปใช้โดยส่วนหัว Host (เช่นในตัวอย่างด้านบน) คำสั่งจะถูกนำไปใช้ตามลำดับตามที่เพิ่มในไฟล์กำหนดค่า คำสั่งที่รองรับในปัจจุบันโดยเซิร์ฟเวอร์:
Abort <<CODE>> - หยุดคำขอการประมวลผลและส่งรหัสสถานะ HTTP/1.1 <<CODE>> ไปยังไคลเอนต์No-Content - ส่ง HTTP/1.1 204 No Content ไปยังไคลเอนต์Disallow - ส่ง HTTP/1.1 403 Forbidden ไปที่ไคลเอนต์Set-Header <<HEADER>> <<VALUE>> - ตั้งค่าส่วนหัวตอบกลับ <<HEADER>> ถึง <<VALUE>>ExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> - ถาม fastcgi ทำงานบน <<FCGI_HOST>>:<<FCGI_PORT>> เพื่อดำเนินการ <<FILE>> <<FCGI_TIMEOUT>>Set-Code <<CODE>> ตั้งรหัสสถานะสำหรับการตอบกลับSend-File <<PATH>> ส่งไฟล์เป็นการตอบกลับคุณสามารถดูตัวอย่างของการกำหนดค่ากฎการกำหนดเส้นทางได้ที่นี่
src/erl_fastcgi.erl ): รหัสลิขสิทธิ์ที่กำหนดไว้ในไฟล์บางไฟล์ใน src/ Directory ไม่ใช่คำแนะนำทางกฎหมายและมีจุดประสงค์สำหรับการใช้งานภายในเท่านั้น รหัสทั้งหมดยกเว้นในส่วน เครดิต ได้รับอนุญาตภายใต้ใบอนุญาต MIT (ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม)