এনগিনএক্স লগ রোটেশন


9

আমি একই সার্ভারে এনগিনএক্সের মাধ্যমে কয়েকটি পৃথক ডোমেন সরবরাহ করছি এবং তারা প্রত্যেকে নিজের ফাইলে লগইন করছে। ঘোরানোর জন্য আমার এই স্ক্রিপ্ট সেট আপ করতে হবে এবং এই ফাইলগুলি সংকুচিত করে ক্রোনটিতে যুক্ত করতে হবে।

আমি জানি আমি পুরনোটি সরানোর পরে একটি নতুন লগ ফাইল খোলার জন্য এনগিনএক্সকে পেতে আমার কিছু করতে হবে। কেউ আমাকে এনগিনেক্স লগ ফাইলগুলি নিরাপদে ঘোরানোর পদ্ধতিটি দিতে পারেন? আমি অনুমান করছি আমার লোগ্রোটেট ব্যবহার করা দরকার, আমি কীভাবে এটি কনফিগার করব?

পদ্ধতি:

  • উবুন্টু 9.04 সার্ভার এড।
  • nginx / 0.7.61

উত্তর:


18

এটি ইউনিক্স ডেমনগুলির মধ্যে এক ধরণের অনানুষ্ঠানিক আধা-মান হয়ে দাঁড়িয়েছে যে আপনি যখন তাদের একটি হ্যাঙ্গআপ সিগন্যাল ( SIGHUP) প্রেরণ করেন তখন তারা লগ এবং / অথবা তাদের লগ ফাইলগুলি ঘোরান । Nginx চিঠির এই সম্মেলনটি অনুসরণ করে না, তবে এটি USR1একইভাবে সংকেতকে প্রতিক্রিয়া জানায় , যেমন লগ রোটেশন শিরোনামে এনজিনেক্স ওয়েবসাইটে নথিভুক্ত করা হয়েছে ।

সুতরাং, আপনি কিছু চেষ্টা করতে পারে

kill -s USR1 `pidof nginx`

1
অন্য উপায়, "pkill -USR1 -n -x nginx"
Palani

11

লগরোটিং বিজনেস লগসমূহ:

# nginx SIGUSR1: Re-opens the log files.
/opt/nginx/logs/access.log {
  missingok
  notifempty
  delaycompress
  sharedscripts
  postrotate
    test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
 endscript 
}

/opt/nginx/logs/error.log {
  missingok
  notifempty
  delaycompress
  sharedscripts
  postrotate  
    test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
  endscript
}

লোগ্রোটেটিং রেল উত্পাদন লগ:

/home/app_user/apps/railsapp/log/production.log {
  missingok
  notifempty
  delaycompress
  sharedscripts
  postrotate
    test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
  endscript
}

আমি কোন ফাইল এ রাখা উচিত?
এমিল স্টেনস্ট্রোম

যদি উবুন্টু ব্যবহার করে, আপনি এই ফাইলে কোডের এই লাইন করা উচিত: /etc/logrotate.d/nginx। এবং এটি কার্যকর হবে।
সিউই শেন 申思维

3

যদি আপনি লোগ্রোটেট ব্যবহার করেন তবে নিম্নলিখিতগুলি (সঠিক অবস্থানের সাথে) লগ্রোটেটকন্টের এনজিনেক্সের বিভাগে যুক্ত করুন:

postrotate
  kill -s USR1 `cat /location/of/nginx.pid`
endscript

লোগ্রোটেট অনুসারে (8) ম্যান পৃষ্ঠা

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