যে কোনও ডিরেক্টরি থেকে একটি ওয়েব সার্ভার চালান


9

আমি একটি ছোট ওয়েবসাইট লিখছি, তবে আমি কীভাবে আমার ~/homeডিরেক্টরি থেকে ওয়েবসাইটটি পরীক্ষা করতে সম্পূর্ণ এলএএমপি স্ট্যাকটি ইনস্টল এবং কনফিগার করব তা নির্ধারণ করতে চাই না । এটি সম্পূর্ণ বিঘ্নজনক এবং অপ্রয়োজনীয় হবে।

আমি কেবল একটি ডিরেক্টরি থাকতে চাই, যেমন ~/home/Documents/Websiteএবং ওয়েবসাইটটির "হোম" ফোল্ডার হিসাবে সেই ফোল্ডারটি থেকে একটি ছোট ওয়েব সার্ভার চালানো web

আমি জানি জেকিল অনুরূপ কিছু করতে পারে তবে এটি কেবল রুবি / জেকিল-ভিত্তিক সাইটগুলির সাথে কাজ করে যা এটি তৈরি করে এবং কনফিগার করে।

এমন কোনও ছোট্ট ওয়েব সার্ভার প্রোগ্রাম নেই যা আমি সহজেই ইনস্টল করতে পারি এবং তারপরে খুব সহজভাবে চালাতে পারি?

উদাহরণস্বরূপ, যদি আমাকে কেবল simple-server serve ~/home/Documents/Websiteএকটি কমান্ড লাইন থেকে উদাহরণস্বরূপ কিছু চালানোর প্রয়োজন হয় এবং তারপরে উদাহরণস্বরূপ localhost:4000বা সাইটটি যা যা পরীক্ষা করতে হয় তা নেভিগেট করতে পারি তবে এটি সঠিক।

যদি উবুন্টুতে এটি ইতিমধ্যে সম্ভব এবং আমি কীভাবে এটি জানি না তবে দয়া করে আমাকে জানান।


আপনার কোন ধরণের ফাইল php pythonবা প্লেইন রয়েছে html?
ড্যান

@ dan08 এই মুহূর্তে, কেবল সরল htmlএবং css। আমি NodeJSভবিষ্যতে যুক্ত করতে চাই , তবে তারপরে আমার একটি আলাদা সেট আপ হবে।
etsnyman

সুতরাং আপনি কেবল আপনার ওয়েব ব্রাউজারে এগুলি খুলতে পারেন, কোনও সার্ভারের প্রয়োজন নেই।
ড্যান

আপনি আপনার প্রশ্ন পরিষ্কার করতে পারেন? / Var / www / html থেকে দস্তাবেজগুলি সরবরাহ করা সত্যিই অনেক সহজ তবে এটি আপনার হোম ডিরেক্টরি থেকে। যেভাবেই আপনি মাইএসকিএল, পিএইচপি, বা আপনার প্রয়োজন হতে পারে যা কিছু অন্যথায় অ্যাপাচি ইনস্টল করুন। / ভিএ / www / এইচটিএমএল ব্যবহার করতে কেবল ফাইলগুলি অনুলিপি করুন। আপনার নিজের ডিরেক্টরি ডিরেক্টরি থেকে হোম ডিরেক্টরি সক্ষম করতে হবে বা অ্যাপাচি কনফিগারেশন ফাইলগুলি সম্পাদনা করতে হবে তাই আপনার হোম ডিরেক্টরি থেকে ফাইল পরিবেশন করার জন্য অ্যাপাচি কনফিগার করা আরও কাজ is উভয় স্থানে আপনার এখনও ডাব্লু-ডেটাতে ডিরেক্টরি / ফাইলগুলি থাকতে হবে। আপনি কি এত কঠিন মনে হয় আমি বুঝতে পারছি না।
প্যান্থার

@ dan08 file://ঠিকানার চেয়ে ঠিকানা থেকে পরিবেশন করার পঙ্গু সীমাবদ্ধতা রয়েছে http://। কিছু লিঙ্ক এবং ছোট জাভাস্ক্রিপ্ট স্নিপেটগুলি কেবল কার্যকর হয় না।
etsnyman

উত্তর:


10

আপনি যদি পিএইচপি ইনস্টল করে থাকেন তবে আপনি এইচটিএমএল / সিএসএস এবং / অথবা পিএইচপি ফাইল চালাতে পিএইচপি বিল্ট ইন সার্ভার ব্যবহার করতে পারেন:

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, এবং বিএএম! - আমার ওয়েবসাইটটি পরীক্ষার জন্য প্রস্তুত! ধন্যবাদ!
etsnyman

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

স্ট্যাটিক স্ট্যাটিক লগ আউটপুট

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.