किसी भी निर्देशिका से एक वेब सर्वर चलाएं


9

मैं एक छोटी सी वेबसाइट लिख रहा हूं, लेकिन मैं यह नहीं जानना चाहता कि मेरी ~/homeनिर्देशिका से वेबसाइट का परीक्षण करने के लिए पूर्ण LAMP स्टैक को कैसे स्थापित और कॉन्फ़िगर किया जाए । यह पूरी तरह से विघटनकारी और अनावश्यक होगा।

मैं बस इतना चाहता हूं कि ~/home/Documents/Websiteवेबसाइट के "होम" फ़ोल्डर के रूप में उस फ़ोल्डर से एक छोटा वेब सर्वर एक निर्देशिका, जैसे और चलाना है।

मुझे पता है कि Jekyll कुछ ऐसा ही कर सकता है, लेकिन यह केवल रूबी / Jekyll- आधारित साइटों के साथ काम करता है जो इसे बनाता है और कॉन्फ़िगर करता है।

क्या कोई छोटा सा वेब सर्वर प्रोग्राम नहीं है जिसे मैं आसानी से स्थापित कर सकता हूं और फिर बस बहुत सरलता से चला सकता हूं?

उदाहरण के लिए, अगर मुझे बस simple-server serve ~/home/Documents/Websiteकमांड लाइन से उदाहरण के लिए कुछ चलाने की जरूरत है और फिर उदाहरण के लिए localhost:4000या जो भी साइट का परीक्षण करने के लिए नेविगेट करें , वह सही होगा।

यदि यह उबंटू में पहले से ही संभव है और मुझे नहीं पता कि कैसे, कृपया मुझे बताएं।


आपके पास किस प्रकार की फ़ाइल है php pythonया सादा है html?
दान

@ dan08 फिलहाल, सिर्फ सादा htmlऔर css। मैं NodeJSभविष्य में जोड़ना चाह सकता हूं , लेकिन फिर मेरे पास एक अलग सेट-अप होगा।
इत्सुमन

तो आप बस अपने वेब ब्राउज़र में उन खोल सकते हैं, कोई सर्वर की आवश्यकता नहीं है।
दान

क्या आप अपना प्रश्न स्पष्ट कर सकते हैं? / Var / www / html से दस्तावेजों की सेवा करना वास्तव में बहुत आसान है फिर यह आपके होम डायरेक्टरी से है। किसी भी तरह से आप अपाचे को mysql, php, या जो कुछ भी आपको आवश्यकता हो उसे स्थापित कर सकते हैं। / Va / www / html का उपयोग करने के लिए बस फाइलों को कॉपी करें। यह अपाचे को अपने घर निर्देशिका से फ़ाइलों को सेवा देने के लिए कॉन्फ़िगर करने के लिए अधिक काम है क्योंकि आपको या तो घर निर्देशिकाओं को सक्षम करना होगा या अपाचे कॉन्फ़िगरेशन फ़ाइलों को संपादित करना होगा। दोनों स्थानों पर आपको अभी भी www-data के लिए निर्देशिका / फाइलें उपलब्ध हैं। मुझे समझ नहीं आ रहा है कि आपको क्या मुश्किल लग रहा है।
पैंथर

@ dan08 एक file://पते के बजाय पते से सेवा करने के लिए गंभीर सीमाएँ हैं http://। कुछ लिंक और छोटे जावास्क्रिप्ट स्निपेट बस काम नहीं करते हैं।
19

जवाबों:


10

यदि आपके पास php स्थापित है, तो आप html / css और / या php फ़ाइलों को चलाने के लिए php अंतर्निहित सर्वर का उपयोग कर सकते हैं:

cd /path/to/your/app
php -S localhost:8000

आउटपुट के रूप में आपको मिलेगा:

Listening on localhost:8000
Document root is /path/to/your/app

12

सबसे सरल तरीका मुझे पता है:

cd /path/to/web-data
python3 -m http.server

कमांड का आउटपुट आपको बताएगा कि वह किस पोर्ट पर सुन रहा है (डिफ़ॉल्ट 8000 है, मुझे लगता है)। python3 -m http.server --helpदेखने के लिए चलाएं कि क्या विकल्प उपलब्ध हैं।

अधिक जानकारी के लिए:

  1. पायथन प्रलेखन पर http.server
  2. सरल HTTP सर्वर (इसमें python2सिंटैक्स का भी उल्लेख है )

प्रतिभाशाली! धन्यवाद, @ मुरु! किसी कारण से, मेरा पोर्ट 8000 उपयोग में है (मैं इसका पता नहीं लगा सकता) लेकिन मैं अभी भाग गया python3 -m http.server 4000और फिर localhost:4000फ़ायरफ़ॉक्स, और बीएएम में नेविगेट किया गया! - मेरी वेबसाइट परीक्षण के लिए तैयार है! धन्यवाद!
२०:१४ बजे

2

आप जो चाहते हैं उसे स्टेटिक वेब सर्वर कहा जाता है । इसे प्राप्त करने के कई तरीके हैं।

यह स्थिर वेब सर्वर सूचीबद्ध है

एक सरल तरीका: स्क्रिप्ट के रूप में नीचे सहेजें static_server.js

   var http = require("http"),
     url = require("url"),
     path = require("path"),
     fs = require("fs")
     port = process.argv[2] || 8888;

 http.createServer(function(request, response) {

   var uri = url.parse(request.url).pathname
     , filename = path.join(process.cwd(), uri);

   path.exists(filename, function(exists) {
     if(!exists) {
       response.writeHead(404, {"Content-Type": "text/plain"});
       response.write("404 Not Found\n");
       response.end();
       return;
     }

     if (fs.statSync(filename).isDirectory()) filename += '/index.html';

     fs.readFile(filename, "binary", function(err, file) {
       if(err) {        
         response.writeHead(500, {"Content-Type": "text/plain"});
         response.write(err + "\n");
         response.end();
         return;
       }

       response.writeHead(200);
       response.write(file, "binary");
       response.end();
     });
   });
 }).listen(parseInt(port, 10));

 console.log("Static file server running at\n  => http://localhost:" + port + "/\nCTRL + C to shutdown");

अपनी index.htmlएक ही डायरेक्टरी में रखें और चलाएं

 node static_server.js

स्थैतिक सर्वर की सूची के लिए +1। मुझे कहना होगा, उस कोड का इंडेंटेशन बहुत अजीब लगता है ।
मूरू

0

स्थापित स्थानीय वेब सर्वर , यह स्थापित करता है wsआदेश जो आप एक स्थिर साइट के रूप में किसी भी निर्देशिका सेवा करने के लिए चला सकते हैं।

यह क्लिप स्थिर होस्टिंग और लॉग आउटपुट प्रारूपों के एक जोड़े को प्रदर्शित करता है - devऔर stats

स्थिर स्थैतिक लॉग आउटपुट

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.