command line पायथन के http.server(या SimpleHTTPServer) के लिए एक तेज़ विकल्प क्या है?




command-line command-line-tool (8)

polpetta एक कोशिश करो ...

npm install -g polpetta

तब आप कर सकते हो

polpetta ~ / फ़ोल्डर

और आप जाने के लिए तैयार हैं :-)

पाइथन का http.server (या पायथन 2 के लिए SimpleHTTPServer) कमांड लाइन से वर्तमान निर्देशिका की सामग्री को प्रस्तुत करने का एक शानदार तरीका है:

python -m http.server

हालांकि, जहां तक ​​वेब सर्वर जाते हैं, यह बहुत slooooow है ...

यह व्यवहार करता है जैसे कि यह सिंगल थ्रेडेड है, और कभी-कभी RequJS का उपयोग करते हुए जावास्क्रिप्ट एएमडी मॉड्यूल लोड करते समय टाइमआउट त्रुटियों का कारण बनता है। बिना किसी छवि वाले एक साधारण पृष्ठ को लोड करने में पांच से दस सेकंड लग सकते हैं।

एक तेज़ विकल्प क्या है जो सुविधाजनक है?


यहाँ एक और है। यह क्रोम एक्सटेंशन है

एक बार इंस्टॉल हो जाने पर आप क्रोम में एक नया टैब बनाकर और ऊपर बाईं ओर स्थित ऐप्स बटन पर क्लिक करके इसे चला सकते हैं

यह एक साधारण गुई है। फ़ोल्डर का चयन करें क्लिक करें, फिर http://127.0.0.1:8887 लिंक पर क्लिक करें

https://www.youtube.com/watch?v=AK6swHiPtew


webfs आज़माएं, यह छोटा है और यह node.js या पायथन स्थापित प्लेटफॉर्म पर निर्भर नहीं है।


मैं अनुशंसा करता हूं: मुड़ ( http://twistedmatrix.com )

पाइथन में लिखित एक इवेंट-संचालित नेटवर्किंग इंजन और ओपन सोर्स एमआईटी लाइसेंस के तहत लाइसेंस प्राप्त है।

यह क्रॉस प्लेटफ़ॉर्म है और 10.5 के बाद से ओएस एक्स पर प्रीइंस्टॉल किया जाता है। अन्य चीजों के अलावा आप वर्तमान निर्देशिका में एक सरल वेब सर्वर शुरू कर सकते हैं:

twistd -no web --path=.

विवरण

विकल्पों की व्याख्या (अधिक के लिए twistd --help देखें):

-n, --nodaemon       don't daemonize, don't use default umask of 0077
-o, --no_save        do not save state on shutdown

"वेब" एक कमांड है जो ट्विस्ट एसिंक इंजन के शीर्ष पर एक साधारण वेब सर्वर चलाता है। यह कमांड लाइन विकल्प भी स्वीकार करता है ("वेब" कमांड के बाद - अधिक के लिए twistd web --help देखें):

  --path=             <path> is either a specific file or a directory to be
                      set as the root of the web server. Use this if you
                      have a directory full of HTML, cgi, php3, epy, or rpy
                      files or any other files that you want to be served up
                      raw.

अन्य आदेशों का भी एक समूह है जैसे कि:

conch            A Conch SSH service.
dns              A domain name server.
ftp              An FTP server.
inetd            An inetd(8) replacement.
mail             An email service
... etc

स्थापना

उबंटू

sudo apt-get install python-twisted-web (or python-twisted for the full engine)

मैक ओएस-एक्स (10.5 के बाद से पूर्वस्थापित है, या मैकपोर्ट्स में उपलब्ध है)

sudo port install py-twisted

विंडोज

installer available for download at http://twistedmatrix.com/

HTTPS

ट्विस्ट कनेक्शन को एन्क्रिप्ट करने के लिए सुरक्षा प्रमाणपत्र का भी उपयोग कर सकते हैं। इसे अपने मौजूदा --path और --port (सादा HTTP के लिए) विकल्पों के साथ प्रयोग करें।

twistd -no web -c cert.pem -k privkey.pem --https=4433

मुझे python -m http.server अविश्वसनीय मिला - कुछ प्रतिक्रियाओं में सेकंड लगेंगे।

अब मैं Ran https://github.com/m3ng9i/ran नामक सर्वर का उपयोग करता हूं

रण: गो में लिखा एक साधारण स्थिर वेब सर्वर


node.js के लिए http-server बहुत सुविधाजनक है, और पायथन के SimpleHTTPServer से बहुत तेज़ है। यह मुख्य रूप से है क्योंकि यह क्रमिक अनुरोधों के बजाय, अनुरोधों के समवर्ती हैंडलिंग के लिए एसिंक्रोनस आईओ का उपयोग करता है।

स्थापना

यदि आप पहले से नहीं हैं तो node.js इंस्टॉल करें। फिर विश्व स्तर पर स्थापित करने के लिए -g विकल्प का उपयोग करके, पैकेज को स्थापित करने के लिए नोड पैकेज प्रबंधक ( npm ) का उपयोग करें। यदि आप विंडोज़ पर हैं तो आपको व्यवस्थापक अनुमतियों के साथ एक प्रॉम्प्ट की आवश्यकता होगी, और लिनक्स / ओएसएक्स पर आप कमांड को sudo करना चाहेंगे:

npm install http-server -g

यह किसी भी आवश्यक निर्भरता डाउनलोड करेगा और http-server स्थापित करेगा।

उपयोग

अब, किसी भी निर्देशिका से, आप टाइप कर सकते हैं:

http-server [path] [options]

पथ वैकल्पिक है, यदि यह मौजूद है, तो ./public को डिफॉल्ट करना अन्यथा ./

विकल्प [डिफ़ॉल्ट] हैं:

  • -p पोर्ट नंबर को सुनने के लिए [8080]
  • -a मेजबान पता [localhost] से बांधने के लिए
  • -i प्रदर्शन निर्देशिका सूचकांक पेज [सच]
  • -s या --silent मूक मोड कंसोल पर लॉग इन नहीं करेगा
  • -h या --help मदद संदेश प्रदर्शित करता है और बाहर निकलता है

तो पोर्ट 8000 पर वर्तमान निर्देशिका की सेवा के लिए, टाइप करें:

http-server -p 8000

go 1.0 में एक http सर्वर और कोड की कुछ पंक्तियों के साथ फाइलों की सेवा के लिए उपयोग शामिल है

package main

import (
    "fmt"; "log"; "net/http"
)

func main() {
    fmt.Println("Serving files in the current directory on port 8080")
    http.Handle("/", http.FileServer(http.Dir(".")))
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

go run myserver.go या निष्पादन योग्य go build myserver.go का उपयोग करके इस स्रोत को चलाएं


यदि आप Mercurial का उपयोग करते हैं, तो आप अंतर्निहित HTTP सर्वर का उपयोग कर सकते हैं। उस फ़ोल्डर में जिसे आप सेवा करना चाहते हैं:

hg serve

दस्तावेज़ों से :

export the repository via HTTP

    Start a local HTTP repository browser and pull server.

    By default, the server logs accesses to stdout and errors to
    stderr. Use the "-A" and "-E" options to log to files.

options:

 -A --accesslog       name of access log file to write to
 -d --daemon          run server in background
    --daemon-pipefds  used internally by daemon mode
 -E --errorlog        name of error log file to write to
 -p --port            port to listen on (default: 8000)
 -a --address         address to listen on (default: all interfaces)
    --prefix          prefix path to serve from (default: server root)
 -n --name            name to show in web pages (default: working dir)
    --webdir-conf     name of the webdir config file (serve more than one repo)
    --pid-file        name of file to write process ID to
    --stdio           for remote clients
 -t --templates       web templates to use
    --style           template style to use
 -6 --ipv6            use IPv6 in addition to IPv4
    --certificate     SSL certificate file

use "hg -v help serve" to show global options




simplehttpserver