nginx त्रुटि लॉग बहुत बड़ा था, इसलिए मैंने हटा दिया और एक नया बनाया, अब nginx शुरू नहीं होगा


11

मैंने /var/log/nginx/error.log फ़ाइल को हटा दिया , और फिर एक नया प्रयोग करके बनाया:

sudo nano error.log

ऐसा करने से ls -laपता चलता है कि error.log और access.log समान अनुमतियां।

जब मैं कोशिश करता हूं और nginx शुरू करता हूं तो मुझे त्रुटि मिलती है:

चेतावनी: त्रुटि लॉग फ़ाइल नहीं खोल सका: खुला () "/var/log/nginx/error.log" अस्वीकृत अनुमति अस्वीकृत।

अपडेट करें

जब nginx शुरू करने की कोशिश कर रहा हूँ, मैं भी देख रहा हूँ:

इमर्ज: /var/run/nginx.pid विफल 13: अनुमति अस्वीकृत।

जवाबों:


25

यह आपकी समस्या को हल नहीं करता है, लेकिन भविष्य में, यदि आप करते हैं

cat / dev / null> / file / you / want / to / मिटा देना

आप कुछ भी नहीं के साथ फ़ाइल की सामग्री पर कॉपी करेंगे, और सभी अनुमतियों को चातुर्य में रखेंगे।

Nginx-speicific नहीं है, लेकिन इसके अलावा, सुनिश्चित करें कि आप एप्लिकेशन को उस उपयोगकर्ता के रूप में चला रहे हैं जिसे वह चलाना चाहता है। यदि आपने कभी इसे रूट के रूप में चलाया, तो सभी अनुमतियां रूट के स्वामित्व में होने वाली हैं, इसलिए अन्य उपयोगकर्ता इसे चलाने में सक्षम नहीं होंगे।


यह कैसे उपयोग करने से अलग है echo "" > /file/to/empty? क्या वे दोनों एक ही हैं?
गौतम गोपालकृष्णन

वही होना चाहिए। साथ ही, आप बाहर सब सामान शुरुआत में छोड़ सकते हैं और बस करो> /file/to/empty
एलेक्स

5

NginX के साथ लॉग को घुमाने का सामान्य तरीका फ़ाइल का नाम बदलना है, और फिर /etc/init.d/nginx reload। सर्वर एक नई फ़ाइल शुरू करता है, और आप वही कर सकते हैं जो आप पुराने के साथ चाहते हैं।

आप कॉन्फ़िगरेशन को संपादित करने के लिए भी उपयोगी हो सकते हैं जितना लॉग इन न करें ...।


2

nginx config में एक नज़र डालें, जाँचें कि सर्वर किसके रूप में चल रहा है - एक अनुमान के अनुसार उपयोगकर्ता nginx होगा

इसलिए :

chown nginx: /var/run/nginx.pid chown -R nginx: /var/log/nginx

चाल चलनी चाहिए।


लेकिन यह पहले क्यों काम कर रहा था?
ब्लेंकमैन

1
मुझे संदेह है क्योंकि आपने इसे रूट के रूप में चलाने की कोशिश की थी, और फिर इसे अपने इनिट स्क्रिप्ट के साथ शुरू करने की कोशिश की।
गेरेंट जोन्स

अच्छी तरह से मैं हमेशा इसे ऐसे ही शुरू करता हूं, हम्म ....
ब्लैंकेमैन

nginx.conf कहता है: "उपयोगकर्ता www-data"
ब्लैंकमैन

1

त्रुटि को हटाएं। फाइल और nginx इसे स्वयं बनाएंगे।


मैंने इसे हटा दिया, फिर जब मैंने कोशिश की और nginx शुरू किया तो मुझे फ़ाइल /var/log/nginx/error.log पर वही अनुमति देने से इनकार कर दिया गया त्रुटि
Blankman

लॉग हटाएं और Nginx को पुनरारंभ करें। यह स्वचालित रूप से लॉग बना देगा।
व्हाइटहॉर्स

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.