สร้าง Instant Web Server ผ่าน Terminal Command Line และ Python

สารบัญ:

Anonim

ต้องการแชร์ไฟล์อย่างรวดเร็ว ทดสอบโค้ดบางส่วน หรือออกอากาศบางอย่างหรือไม่ คุณสามารถสร้างเว็บเซิร์ฟเวอร์ได้ทันทีจากไดเร็กทอรีปัจจุบันโดยไม่ต้องใช้อะไรนอกจาก python, yup, no apache, no nginx, no litespeed, python ทั้งหมด ซึ่งมาพร้อมกับรูปแบบยูนิกซ์เกือบทุกรูปแบบในทุกวันนี้ คำสั่งนี้เรียบง่ายอย่างน่าทึ่งเมื่อพิจารณาว่ามีประโยชน์เพียงใด และทดสอบด้วยตัวคุณเองโดยเปิดหน้าต่าง Terminal และเว็บเบราว์เซอร์ใดๆ

เคล็ดลับนี้เริ่มต้นเว็บเซิร์ฟเวอร์อย่างง่ายทันทีโดยไม่มีอะไรนอกจาก python ใช้งานได้ใน Mac OS X, Linux, FreeBSD และอื่น ๆ แพลตฟอร์มยูนิกซ์อื่นที่มี python

วิธีเริ่ม Instant Web Server ด้วย Python

ในการสร้างเว็บเซิร์ฟเวอร์ทันทีจากบรรทัดคำสั่ง พิมพ์ต่อไปนี้ในไดเร็กทอรีใดก็ตามที่คุณต้องการให้เข้าถึงได้ผ่านเบราว์เซอร์และ HTTP:

เริ่มเว็บเซิร์ฟเวอร์อย่างง่ายใน Python 2

python -m SimpleHTTPServer

เริ่มเว็บเซิร์ฟเวอร์อย่างง่ายใน Python 3

python -m http.server

การดำเนินการนี้จะเผยแพร่ไดเร็กทอรีปัจจุบันเป็นเว็บเซิร์ฟเวอร์ทันที ดังนั้นหากคุณมีไฟล์ index.html ที่จะแสดงทันที มิฉะนั้นจะแสดงรายการเนื้อหาไดเร็กทอรีที่ IP ในพื้นที่ของคุณหรือ “ 0.0.0.0” โปรดทราบว่าพอร์ต 8000 เป็นการตั้งค่าพอร์ตเริ่มต้นสำหรับฟีเจอร์นี้ หมายความว่าในการเข้าถึงเว็บเซิร์ฟเวอร์จากเบราว์เซอร์ จะต้องป้อนที่อยู่ต่อไปนี้: http://0.0.0.0:8000

โปรดจำไว้ว่า หากไม่มีไฟล์ index.htm หรือ index.html ในไดเร็กทอรี เบราว์เซอร์จะแสดงรายการไดเร็กทอรีอย่างง่ายของ CWD/PWD แทน

เมื่อทำงานแล้ว เทอร์มินัลจะอัปเดตเมื่อเพจและข้อมูลถูกโหลดจากเว็บเซิร์ฟเวอร์ python แสดงข้อมูลการบันทึก http มาตรฐาน เช่น คำขอ GET และ PUSH ไฟล์ที่กำลังถูกเข้าถึงและโดยใคร ข้อผิดพลาด 404 ที่อยู่ IP วันที่ เวลา และทั้งหมดที่คุณคาดหวังจากบันทึก http มาตรฐาน ราวกับว่าคุณกำลังปรับแต่งไฟล์บันทึกการเข้าถึง apache

คุณสามารถคลั่งไคล้มากขึ้นถ้าคุณต้องการและระบุพอร์ต ทำให้เว็บเซิร์ฟเวอร์มีความคลุมเครือในระดับหนึ่งหากคุณหวังที่จะออกอากาศเฉพาะบางรายการหรือหากคุณเพียงแค่ไม่ ไม่ต้องการให้แสดงบนพอร์ตสแกนมาตรฐาน 8000สิ่งที่คุณต้องทำคือระบุหมายเลขพอร์ตที่ส่วนท้ายของคำสั่งดังกล่าว เช่น:

python -m SimpleHTTPServer 4104

ซึ่งจะทำให้เว็บเซิร์ฟเวอร์เปิดใช้งานในไดเร็กทอรีปัจจุบันที่ IP ที่มีพอร์ต 4104 ตัวอย่างเช่น สมมติว่า localhost IP: http://127.0.0.1:4104 หรือ http:// 0.0.0.0:4104 ขึ้นอยู่กับการตั้งค่าของคุณ

นี่เป็นเคล็ดลับที่มีประโยชน์มาก หากคุณกำลังพัฒนาเว็บอย่างรวดเร็ว และต้องการตรวจสอบทันทีในเบราว์เซอร์หรือแสดงให้คนอื่นเห็น และคุณไม่ต้องการใช้เวลา SFTP หรือส่งไปยังที่เก็บ สิ่งนี้ควรใช้งานได้กับระบบปฏิบัติการยูนิกซ์ รวมถึง FreeBSD, Linux, Ubuntu, Redhat และแน่นอนว่ารวมถึง Mac OS X ด้วย

วิดีโอด้านล่างสาธิตการเปิดใช้เซิร์ฟเวอร์ไพธอนในไดเร็กทอรีด้วยไฟล์ index.html แบบธรรมดา นอกจากนี้ยังแสดงให้เห็นว่าคำสั่งไพธอนที่รันอยู่สะท้อนถึงสิ่งที่เกิดขึ้นกับการเชื่อมต่อ http เหมือนเซิร์ฟเวอร์ http ทั่วไปอย่างไร บันทึกจะ:

โปรดแจ้งให้เราทราบหากคุณพบการใช้งานที่คุ้มค่าเป็นพิเศษหรือเคล็ดลับเพิ่มเติมสำหรับเคล็ดลับเล็กๆ น้อยๆ นี้

สร้าง Instant Web Server ผ่าน Terminal Command Line และ Python