কিভাবে ইউনিক্স ডোমেন সকেট সরাসরি টিসিপির মাধ্যমে প্রকাশ করা যায়


14

আমি একটি ইউনিক্স ডোমেন সকেট রাখতে চাই, উদাহরণস্বরূপ /var/program/program.cmd টিসিপির মাধ্যমে উন্মুক্ত করে 12345 পোর্টে বলি I'd আমি ব্যাকগ্রাউন্ডে পুরো সময়টি চালানোও চাই।

এটি করার সর্বোত্তম উপায় কী? যদি এটি সম্পর্কিত হয় তবে উবুন্টু 12.04.2 চলছে।

এছাড়াও প্রস্তাবিত সমাধানের সাহায্যে এটি ডোমেন সকেট সরানো ও পুনঃনির্মাণে টিকে থাকবে?

সম্পাদনা

এটি একটি init স্ক্রিপ্ট আকারে গৃহীত উত্তরের ফলাফল: https://github.com/Wirehive/haproxy-remote

উত্তর:


18

আপনি socatআপনার ইউনিক্স সকেট টিসিপি সকেট হিসাবে রফতানি করতে ব্যবহার করতে পারেন । এখানে করার আদেশটি এখানে:

socat TCP-LISTEN:12345 UNIX-CONNECT:/var/program/program.cmd

এটি 12345 পোর্টে টিসিপি সকেট তৈরি করবে যা আপনার প্রোগ্রামের উল্লিখিত ইউনিক্স সকেটে সংযুক্ত হবে।

মুছে ফেলার সমস্যাটির জন্য, আমি নিজে এটি পরীক্ষা করিনি। আপনি এটি যাচাই করতে পারেন এবং আমাদের এটি সম্পর্কে বলতে পারেন :)

দ্রষ্টব্য: আপনি সকেট ইনস্টলড দেখতে পাবেন না, এটি ইনস্টল করতে আপনার কেবল টাইপ apt-get install socatকরতে হবে :


1
ধন্যবাদ যে বেশ কাজ করেছে, যদিও এটি প্রতিটি যোগাযোগের পরে উপস্থিত হয়েছিল। খেলার পর প্রায় আমি ভাল সাফল্য হচ্ছে: socat TCP-LISTEN:12345,reuseaddr,fork,su=haproxy UNIX-CLIENT:/var/program/program.cmd। কেবলমাত্র প্রশ্নটি কীভাবে আমি পটভূমিতে এটি চালাচ্ছি?
সাইমনজেগ্রিন

@ সিমোনজেগ্রিন: যেহেতু এটি একটি ইন্টারেক্টিভ কমান্ড নয় যার জন্য ইনপুট প্রয়োজন, আপনি কেবলমাত্র &কমান্ডের শেষে যুক্ত করার চেষ্টা করতে পারেন ।
খালেদ

ঠিক আছে আমি এই পরামর্শটি নিয়ে দৌড়েছি এবং এটি পরিচালনা করার জন্য একটি এনআর স্ক্রিপ্ট লিখেছিলাম। আগ্রহীদের জন্য এখানে ফলাফল! github.com/Wirehive/haproxy-remote
সাইমনজেগ্রিন

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