অ্যাক্সেসের জন্য উইন্ডোজগুলিতে nginx স্টপ / পুনরায় লোড ব্যর্থ হয়েছে


13

আমি উইন্ডোজ পরিষেবা হিসাবে উইন্ডোজ সার্ভার ২০০৮ আর 2 (x64) এ এনজিঙ্কস চালাচ্ছি। আমি তার জন্য উইন্ডোজ পরিষেবা র‍্যাপার ব্যবহার করছি। (আসলে, আমি এই টিউটোরিয়ালটি অনুসরণ করেছি: http://mercurial.selenic.com/wiki/HgServeNginxWindows ।)

পরিষেবাটি ঠিক চলছে। তবে সার্ভার সিগন্যালগুলি প্রক্রিয়া করে না (যেমন বন্ধ / পুনরায় লোড)।

এর অর্থ যদি আমি পরিষেবাটি বন্ধ করি তবে এনজিন্স বন্ধ হয় না। (আমি এটি হত্যা করতে হবে।)

এবং যখন আমি কমান্ড লাইন থেকে কনফিগারেশনটি পুনরায় লোড করতে চাই:

C:\Users\Administrator>E:\apath\nginx\nginx.exe -p E:\apath\nginx -c E:\apath\nginx.conf -s reload

এটি ফলাফল:

nginx: [error] OpenEvent("Global\ngx_reload_4268") failed (5: Access is denied)

আমি প্রশাসক হিসাবে কমান্ডটি চালাচ্ছি এবং পরিষেবাটি সার্ভিস ব্যবহারকারীর অধীনে পরিষেবাটি চলছে।

কোনও ইঙ্গিত বা অনুরূপ সমস্যা?


একটি প্রোকমন ট্রেসকে সমস্যাটি সনাক্ত করতে সহায়তা করতে সক্ষম হওয়া উচিত। আপনি যদি প্রসেস মনিটরের অ্যাপ্লিকেশনটি ডাউনলোড করতে পারেন , এটি চালাতে পারেন, ট্রেসিং শুরু করতে পারেন, এর আগে আপনি যে পদক্ষেপগুলি করেছিলেন তার পুনরাবৃত্তি করতে পারেন (যাতে আপনি অ্যাক্সেস অস্বীকৃত ত্রুটির পুনরুত্পাদন করতে পারেন ), ট্রেসটি থামিয়ে দিতে পারেন, এটি পিএমএল ফাইল ( সমস্ত ইভেন্টস ) হিসাবে সংরক্ষণ করুন এবং ফাইলটি ভাগ করতে পারেন আমাদের সাথে, আমরা সমাধান সরবরাহ করতে সক্ষম হতে পারে।
টমাস ডাবাসিনস্কাস

উত্তর:


2

আপনাকে reloadপরিষেবা চালানোর মতোই অ্যাকাউন্ট থেকে চালাতে হবে। উদাহরণস্বরূপ, যদি আপনি আপনার এনজিঙ্ক্সকে সিস্টেম হিসাবে চালনা করেন তবে আপনি psexecসরঞ্জামটি ব্যবহার করতে পারেন :

PSEXEC -s c:\nginx\nginx.exe -p c:\nginx -s reload


1

আমি স্থানীয় সিস্টেমের অধীনে আমার nginx- পরিষেবা পরিচালনা করি এবং আমি নিম্নলিখিত xML কনফিগারেশন ব্যবহার করি:

<service>
      <id>nginx-service</id>
      <name>nginx-service</name>
      <description>nginx-service</description>
      <executable>c:\nginx\nginx.exe</executable>
      <logpath>c:\nginx\</logpath>
      <logmode>roll</logmode>
      <depend></depend>
      <startargument>-pc:\nginx</startargument>
      <stopexecutable>c:\nginx\nginx.exe</stopexecutable>
      <stopargument>-s</stopargument>
      <stopargument>stop</stopargument>
  </service>

আমি উইন্ডোজ পরিষেবা র‍্যাপার ১.১ 1. ব্যবহার করছি এবং এই কনফিগারেশনটি আমার পক্ষে কাজ করে। Nginx প্রক্রিয়াগুলি এখন গ্রেপ্তারভাবে বন্ধ করা উচিত। শুভকামনা।


এই এক্সএমএল কোথায় পাবেন? প্রসঙ্গটি গুরুত্বপূর্ণ!
রোল

0

কয়েকটি চেষ্টা করার চেষ্টা করুন:

  1. নেটওয়র্ক সার্ভিস অ্যাকাউন্টে চালাবেন কেন? সমস্ত পরিষেবা, লোকালসিস্টেমের জন্য ডিফল্ট দিয়ে চেষ্টা করুন।

  2. এইবার টিউটোরিয়ালটি অনুসরণ করে অন্য র‍্যাপার, সর্বদাআপনি চেষ্টা করুন । যদি এটি কাজ করে তবে আপনি উইন্ডোজ পরিষেবা র‍্যাপারে সমস্যার মুখোমুখি হতে পারেন।

আপনি যা খুশি তা রিপোর্ট করুন।


0

উইন্ডোজ 10 এ এনজিঙ্ক্স 1.9.15 সহ এটি আমার জন্য কাজ করার জন্য আমাকে যুক্ত করতে হয়েছিল

-p c:\nginx 

স্টপ আর্গুমেন্টে

<service>
  <id>nginx</id>
  <name>nginx</name>
  <description>nginx</description>
  <executable>c:\nginx\nginx.exe</executable>
  <logpath>c:\nginx\</logpath>
  <logmode>roll</logmode>
  <depend></depend>
  <startargument>-p</startargument>
  <startargument>c:\nginx</startargument>

  <stopexecutable>c:\nginx\nginx.exe</stopexecutable>
  <stopargument>-p</stopargument>
  <stopargument>c:\nginx</stopargument>
  <stopargument>-s</stopargument>
  <stopargument>stop</stopargument>
</service>

0
  1. প্রশাসকcmd হিসাবে খুলুন ।
  2. তারপরে cdnginx অবস্থিত ফোল্ডারে যান এবং তারপরে কমান্ডগুলি চালান:

সেন্টিমিটার (প্রশাসক হিসাবে)

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