วิธีการเริ่มเว็บเซิร์ฟเวอร์ในโฟลเดอร์ใด ๆ ได้อย่างง่ายดาย


115

ฉันกำลังมองหาวิธีที่ไม่เจ็บปวดในการเปิดเว็บเซิร์ฟเวอร์ที่มีรูทเอกสารในโฟลเดอร์ใด ๆ ที่ฉันระบุ (หรือดีกว่ายังที่ที่ฉันเปิดตัว)

ฉันมักจะลองสิ่งใหม่ ๆ เช่นเฟรมเวิร์ก JS หรือในโฟลเดอร์ใหม่ที่ใดที่หนึ่งที่นี่:

/home/alexander/code/angularjs/

จากนั้นจะสะดวกเพียงเข้าไปในไดเรกทอรีนี้แล้วพิมพ์ดังนี้:

start-webserver-here 

เพื่อให้เว็บเซิร์ฟเวอร์เริ่มฟังพอร์ต 80 และให้บริการไดเรกทอรีนี้และฉันสามารถลองทำสิ่งที่ฉันกำลังทำอยู่

ฉันได้ติดตั้ง XAMPP แล้ว แต่ดูเหมือนว่ามันเป็น Apache พื้นฐานที่มีรูทเอกสารที่ฉันจะต้องเปลี่ยนโดยมีสิทธิ์ใช้งานรูทแม้รวมถึงการให้สิทธิ์สำหรับทุกโฟลเดอร์เป็นต้น

มีวิธีที่ง่ายกว่านี้ไหม?


มีคนรวบรวมรายการใหญ่ของหนึ่ง liners เพื่อให้บรรลุนี้gist.github.com/willurd/5720255
Abhinav Bhatia

คำตอบ:


174

ใช้

python2 -m SimpleHTTPServer 80

หรือ

python3 -m http.server 80

เพื่อเริ่มต้นเซิร์ฟเวอร์ HTTP อย่างง่าย

แทนที่80ด้วยหมายเลขอื่นหากคุณต้องการให้ฟังบนพอร์ตอื่น สำหรับพอร์ต <1024 จำเป็นต้องเรียกใช้ด้วยสิทธิ์พิเศษของรูท


1
นี่คือสิ่งที่ฉันกำลังมองหา! Danke!
Alexander Rechsteiner

1
คุณสามารถรันสิ่งนี้ควบคู่กับ Apache ได้หรือไม่? ในพอร์ตอื่นที่แน่นอน (แม้ว่าฉันจะยินดีต้อนรับคุณที่จะระเบิดความคิดของฉันโดยบอกฉันว่าพวกเขาสามารถใช้พอร์ตเดียวกัน)
dibs

3
@dibs ใช่พวกเขาทั้งสองสามารถทำงานแบบขนาน แต่ไม่ไม่ได้อยู่ในพอร์ตเดียวกัน
ด่าน

11
หลามขนาดเท่า 3.x คือpython3 -m http.server
Stefano Palazzo

1
นั่นเป็นเหตุผลที่ฉันรัก stackoverflow มาก. มาที่นี่เพื่อหาปัญหาที่แน่นอนฉันต้องการหา soultion สำหรับ ... เรียกใช้ angularjs จากเว็บเซิร์ฟเวอร์ ขอบคุณ Florian Deisch
SK176H

24

ฉันชอบที่จะใช้ PHP เพื่อจุดประสงค์นี้เพราะมันทำให้ฉันสามารถเรียกใช้สิ่งต่างๆเช่น WordPress ได้ทันทีและพัฒนาธีมได้ง่ายขึ้น (คุณยังต้องการ MySQL อยู่):

php -S 0.0.0.0:8000

ในสคริปต์เดียวกับที่เริ่มสิ่งนี้ฉันก็เริ่มป้องกันซึ่งรีเฟรชเบราว์เซอร์อัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์


2
โปรดทราบว่าคุณลักษณะเซิร์ฟเวอร์ในตัวถูกเพิ่มใน 5.4.0
sierrasdetandil

ใช่คุณต้องการหนึ่งในเวอร์ชันที่ใหม่กว่า รุ่นใน 13.10 repos ถ้าคุณทำsudo apt-get install php5คือ 5.5.3 ดังนั้นคุณควรจะตกลง
metakermit

สมบูรณ์แบบ! สิ่งที่ฉันกำลังมองหา!
Prakash Raman

17

หากคุณเป็นคนใจกว้างมากขึ้นพลอยบริการที่ยอดเยี่ยม

serve

หรือสำหรับฉันพอร์ตที่แตกต่าง:

serve 9000

ติดตั้งด้วย gem install serve


ใช้งานได้ดี แต่ต้องใช้ทับทิม> = 1.9.3
Valerio Schiavoni

อ้อ แต่ยัง1.9.3 เป็น EOL แพตช์รักษาความปลอดภัยจะไม่ถูกย้อนกลับอีกต่อไป อยากจะแนะนำrvmสำหรับการจัดการทับทิมโบราณ สิ่งเหล่านี้ไม่ควรเป็นค่าเริ่มต้นของระบบของคุณ
will-ob

13

นี่เป็นไปได้ในทับทิมโดยไม่ต้องติดตั้งอัญมณี

ruby -run -e httpd . -p5000


ไม่ได้ผลสำหรับฉัน คุณลองทับทิมรุ่นไหน?
Valerio Schiavoni

ทำงานตามที่โฆษณาไว้กับ Ruby 2.5.1
Raphael

6

เพียงแค่ใช้http-serverมันเป็นเซิร์ฟเวอร์บรรทัดคำสั่งกำหนดค่าเป็นศูนย์

วิธีที่ง่ายที่สุดในการติดตั้งคือถึง npm:

sudo npm install http-server -g

การใช้งาน:

http-server [path] [options]

[path]เริ่มต้นที่./publicหากโฟลเดอร์ที่มีอยู่และ./อื่น ๆ

หากต้องการดูเซิร์ฟเวอร์ของคุณในการดำเนินการเยี่ยมชมhttp: // localhost: 8080 ใช้-pตัวเลือกเพื่อตั้งค่าพอร์ตอื่น

สำหรับตัวเลือกเพิ่มเติมเยี่ยมชม: https://www.npmjs.com/package/http-server


เหตุผลเดียวที่จะไม่ใช้สิ่งนี้คือต้องมีรอบต่อนาทีที่ไม่ได้ติดตั้งไว้ในตัว โซลูชันอื่น ๆ ที่กล่าวถึง ruby ​​และ python นั้นได้รับการติดตั้งล่วงหน้าในเกือบทุกระบบปฏิบัติการดังนั้นจึงไม่มีสิ่งที่ต้องมีก่อนที่เกี่ยวข้องกับการติดตั้งคำสั่งเพื่อเรียกใช้เซิร์ฟเวอร์
jamescampbell

3

เนื่องจากมีชื่อเชิงมุมอยู่ในชื่อโฟลเดอร์ของคุณดูเหมือนว่าเป็นแอพเชิงมุม js ในกรณีเช่นนี้ให้แน่ใจว่าได้ตรวจสอบองค์รักษ์ออก

เพื่ออ้างอิงเว็บไซต์

Yeoman 1.0 เป็นมากกว่าเครื่องมือ มันเป็นกระบวนการทำงาน; ชุดเครื่องมือและวิธีปฏิบัติที่ดีที่สุดที่ทำงานร่วมกันอย่างกลมกลืนเพื่อพัฒนาเว็บไซต์ให้ดียิ่งขึ้น

หนึ่งในสิ่งอื่น ๆ คือgruntเซิร์ฟเวอร์ที่ให้มา


2

คุณสามารถใช้ Nginx เพื่อ: https://gist.github.com/asterite3/89236d1753a669e173531aca4b87afdc

นี่ไม่ใช่แบบเธรดเดียว (เซิร์ฟเวอร์จะไม่แฮงค์สำหรับไคลเอนต์อื่น ๆ หากเข้าถึงจากพูด google-chrome) และสามารถกำหนดค่าได้อย่างมีประสิทธิภาพ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.