nginx ইউনিক্স ডোমেন সকেট ত্রুটি


18

আমি ফেডোরা 17 ব্যবহার করি এবং আমি যখন ইউনিক্স ডোমেন সকেট ব্যবহার করে উউসগির সাথে এনগিনেক্স সেটআপ করি, যখন আমি সকেটটিকে যথাযথ অনুমতি নিয়ে ডিরেক্টরিতে রাখি ঠিক আছে তবে আমি যখন সকেটটি /tmpএটিতে রাখি তখন এনজিনেক্স ত্রুটি ঘটবে:

connect() to unix:/tmp/MySite.sock failed (2: No such file or directory) while connecting to upstream

ফাইলটি বিদ্যমান নেই এবং এনজিএনএক্স ব্যবহারকারীর জন্য পড়ার / লেখার অনুমতি পেয়েছে। তবে কী কারণে এই ত্রুটি ঘটেছে, এটি সত্যই আমাকে পাগল করে তোলে, কেউ এটি বুঝতে পারে।

উত্তর:


33

আপনি আন্তঃসম্পর্কিত যোগাযোগের উদ্দেশ্যে সকেট স্থাপন করতে পারবেন না /tmp

সুরক্ষার কারণে, ফেডোরার সাম্প্রতিক সংস্করণগুলি নাম স্পিড অস্থায়ী ডিরেক্টরিগুলি ব্যবহার করে যার অর্থ প্রতিটি পরিষেবা সম্পূর্ণ আলাদা দেখায় /tmpএবং কেবল সেই ডিরেক্টরিতে নিজস্ব ফাইলগুলি দেখতে পারে।

সমস্যাটি সমাধান করার জন্য, সকেটটিকে আলাদা ডিরেক্টরিতে রাখুন, যেমন /run(পূর্বে হিসাবে পরিচিত /var/run)।


1
/ রান যদিও নিয়মিত ব্যবহারকারীর জন্য লিখিত হয় না
হোস্টমাস্টার

1
/runসরাসরি লিখনযোগ্য নয়, তবে আপনি সিস্টেমডকে এটির অধীনে একটি ডিরেক্টরি তৈরি করতে নির্দেশ দিতে পারেন যা উভয় প্রক্রিয়া দ্বারা লিখনযোগ্য।
মাইকেল হ্যাম্পটন

এই সন্ধানগুলিতে সহায়তা করতে, এটি সেন্টোস 7-এও প্রযোজ্য এবং সকেট-ফোল্ডারটিকে / চালানো অবস্থায় চালিত করতে হবে। এই সমস্যাটি খুঁজে পাওয়া সহজ নয়, কারণ প্রতিটি অ্যাকাউন্ট টিএমপি-তে ফোল্ডার এবং ফাইল দেখতে পারে (পরীক্ষার জন্য 777 সেট করুন), সুতরাং আপনি কখনই অনুমান করতে পারবেন না যে প্রক্রিয়াগুলি পারে না।
জোসেফকে

0

হ্যাঁ! এই সাহায্য!

উউসগি থেকে চেক-স্টার্টআপ-লগ বার্তা দেখছিল, কিন্তু স্টার্টআপ লগগুলিতে কোনও ডেটা ছিল না, কী ঘটছে তা সন্ধান করতে সক্ষম হয় নি। পরিণত হয়েছে, আমার সোক ফাইলটি একটি নন / টিএমপি লোকেশনে পরিবর্তন করতে হবে এবং যুক্ত করতে হবে:

ধরা-ব্যাতিক্রম = সত্য

ডাব্লুএসগির আইএনআই ফাইলটিতে। দেখা গেছে, আমি অস্তিত্বহীন ডিরেক্টরিতে লগিং ফাইল হ্যান্ডেলারের অবস্থান নির্দিষ্ট করেছি, তাই এটি প্রথম স্থানে ত্রুটিগুলি লগ করতে পারে না।

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