Làm thế nào để dễ dàng khởi động một máy chủ web trong bất kỳ thư mục nào?


115

Tôi đang tìm kiếm một cách tương đối không đau để khởi chạy một máy chủ web với tài liệu gốc trong bất kỳ thư mục nào tôi chỉ định (hoặc tốt hơn, nơi tôi đang khởi chạy).

Tôi thường thử những thứ mới như các khung công tác JS hoặc một thư mục mới ở đâu đó tại đây:

/home/alexander/code/angularjs/

Sau đó, sẽ thuận tiện khi chỉ cần vào thư mục này và gõ một cái gì đó như:

start-webserver-here 

để một máy chủ web bắt đầu nghe trên cổng 80 và phục vụ thư mục này và tôi có thể thử bất cứ điều gì tôi đang làm việc.

Tôi đã cài đặt XAMPP nhưng có vẻ như đó là apache cơ bản với gốc tài liệu mà tôi phải thay đổi, với các đặc quyền gốc, cùng với việc cấp quyền cho mọi thư mục, v.v.

Có cách nào dễ hơn không?


Ai đó đã biên soạn một danh sách lớn về một lớp lót để đạt được điều này: gist.github.com/willurd/5720255
Abhinav Bhatia

Câu trả lời:


174

Sử dụng

python2 -m SimpleHTTPServer 80

hoặc là

python3 -m http.server 80

để bắt đầu một máy chủ HTTP đơn giản.

Thay thế 80bằng một số khác nếu bạn muốn nó nghe trên một cổng khác. Đối với các cổng <1024, nó cần chạy với quyền root.


1
Đây chính xác là những gì tôi đang tìm kiếm! Danke!
Alexander Rechsteiner

1
Bạn có thể chạy nó song song với Apache không? Trên một cổng khác tất nhiên (Mặc dù tôi sẽ chào đón bạn để thổi bay tâm trí của tôi bằng cách nói với tôi rằng họ có thể sử dụng cùng một cổng).
dibs

3
@dibs Có cả hai có thể chạy song song. Nhưng không, không phải trên cùng một cổng.
Dan

11
Con trăn tương đương với con trăn này làpython3 -m http.server
Stefano Palazzo

1
đó là lý do tại sao tôi yêu stackoverflow rất nhiều. Đến đây để tìm vấn đề chính xác tôi muốn tìm một linh hồn cho ... chạy angularjs từ một máy chủ web. Cảm ơn rất nhiều Florian Deisch
SK176H

24

Tôi cũng thích sử dụng PHP cho mục đích này, vì nó cho phép tôi chạy các công cụ như WordPress một cách nhanh chóng và phát triển các chủ đề dễ dàng hơn (mặc dù bạn vẫn cần MySQL):

php -S 0.0.0.0:8000

Trong cùng một kịch bản bắt đầu điều này, tôi cũng bắt đầu bảo vệ , tự động làm mới trình duyệt khi thay đổi tệp.


2
Lưu ý rằng tính năng máy chủ tích hợp đã được thêm vào trong 5.4.0
sierrasdetandil

Có, bạn cần một trong những phiên bản mới hơn. Phiên bản trong repos 13.10 nếu bạn làm sudo apt-get install php5là 5.5.3, vì vậy bạn sẽ ổn.
metakermit

Hoàn hảo ! Chỉ cần những gì tôi đang tìm kiếm !
Prakash Raman

17

Nếu bạn có đầu óc ruby ​​hơn, đá quý phục vụ là tuyệt vời

serve

hoặc cho tôi cổng khác:

serve 9000

cài đặt với gem install serve


Điều này hoạt động tốt, nhưng nó đòi hỏi ruby> = 1.9.3
Valerio Schiavoni

Đúng, nhưng 1.9.3 cũng là eol . Các bản vá bảo mật không còn được backport. Muốn giới thiệu rvm để quản lý hồng ngọc kế thừa. Chúng không nên là mặc định của hệ thống của bạn
will-ob

13

Điều này cũng có thể có trong Ruby mà không cần cài đặt đá quý.

ruby -run -e httpd . -p5000


Không làm việc cho tôi. Phiên bản nào của ruby ​​bạn đã thử?
Valerio Schiavoni

Hoạt động như quảng cáo với Ruby 2.5.1.
Raphael

6

Chỉ cần sử dụng http-server, đó là một máy chủ dòng lệnh cấu hình không.

Cách dễ nhất để cài đặt nó là thông qua npm:

sudo npm install http-server -g

Sử dụng:

http-server [path] [options]

[path]mặc định ./publicnếu thư mục tồn tại, và ./nếu không.

Để xem máy chủ của bạn hoạt động, hãy truy cập http: // localhost: 8080 . Sử dụng -ptùy chọn để đặt một cổng khác.

Để biết thêm tùy chọn, hãy truy cập: https://www.npmjs.com/package/http-server .


Lý do duy nhất để không sử dụng điều này là nó yêu cầu vòng / phút không được cài đặt. Các giải pháp khác đề cập đến ruby ​​và python được cài đặt sẵn trên hầu hết mọi hệ điều hành, do đó không có điều kiện tiên quyết liên quan đến việc cài đặt lệnh để chạy máy chủ.
jamescampbell

3

Vì có angularjs trong tên thư mục của bạn, có vẻ như đó là một ứng dụng js góc cạnh. Trong trường hợp như vậy, hãy chắc chắn kiểm tra yeoman .

Để trích dẫn trang web của nó

Yeoman 1.0 không chỉ là một công cụ. Đó là một quy trình làm việc; một bộ sưu tập các công cụ và thực tiễn tốt nhất làm việc hài hòa để làm cho việc phát triển cho web trở nên tốt hơn nữa.

Một trong nhiều thứ khác là gruntmáy chủ đi kèm .


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.