অ্যাপাচি পুনরায় লোড করতে ব্যর্থ হয়েছে… আমি বিশদে খোঁজ করতে পারি এমন কোনও লগ আছে কি?


12

আমার একটি ওয়েবসভার রয়েছে যা আমি একটি সাইট যুক্ত করার কাজ করছি।

দৌড়ানোর পরে a2ensite, আমি দৌড়ে service apache2 reloadএসেছি:

[FAIL] ওয়েব সার্ভার কনফিগারেশন পুনরায় লোড হচ্ছে: অ্যাপাচি 2 ব্যর্থ হয়েছে!

লগ ফাইল আছে যা আমি আরও বিশদ জন্য সন্ধান করতে পারেন?

উত্তর:


9

স্যুইচটি httpdব্যবহার করে এটির কনফিগারেশন ফাইলগুলি সন্ধান করতে কোথায় কনফিগার করা হয়েছে তা আপনি দেখতে পারবেন -V:

$ httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:31:42
Server's Module Magic Number: 20051115:24
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

lsofইউনিক্স প্রক্রিয়া কোন ফাইলগুলি অ্যাক্সেস করছে তা দেখতে আপনি কমান্ডটিও ব্যবহার করতে পারেন। আমার সংস্করণটি httpdস্টক পোর্ট 80 ব্যবহার করছে তাই আপনার ক্ষেত্রে 80 থেকে 8443 পরিবর্তন করুন!

$ netstat -tapn|grep ::80
tcp        0      0 :::80                       :::*                        LISTEN      5338/httpd     

lsofলগ ফাইলগুলি কোথায় লিখিত হচ্ছে তা জানতে আপনি এখন দৌড়াতে পারেন :

$ lsof -p 5338|grep log
httpd   5338 root  mem    REG  253,0    10440   3141 /usr/lib64/httpd/modules/mod_logio.so
httpd   5338 root  mem    REG  253,0    27200   3139 /usr/lib64/httpd/modules/mod_log_config.so
httpd   5338 root    2w   REG  253,0     2014 395029 /var/log/httpd/error_log
httpd   5338 root    7w   REG  253,0     4140 394789 /var/log/httpd/access_log

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

এখন কি?

আমি access_logসেখানে সার্ভারের বিরুদ্ধে অ্যাক্সেসের সাথে মিল রেখে সেখানে প্রবেশের প্রবেশদ্বারগুলি নিশ্চিত করে তা নিশ্চিত করে দেখতে চাই। আমি এর দ্বারা যা বোঝাচ্ছি তা হ'ল যদি আমি সার্ভারটি ব্রাউজ করি তবে আমার ফাইলে http://www.somedom.com/somefileরেকর্ড করা এই অ্যাক্সেসটি দেখতে পাওয়া উচিত access_log:

192.168.1.110 - - [17/Jul/2013:14:39:50 -0400] "GET /somefile HTTP/1.1" 200 4303 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5
37.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36"

ফাইলগুলি কোথায়?

আমরা যে অর্জিত উপরোক্ত জ্ঞানটি নিতে পারি এবং এটি প্রয়োগ করতে শুরু করে:

এই বিটগুলি httpd -Vআমাদের অ্যাপাচের মূল বলে:

-D HTTPD_ROOT="/etc/httpd"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

সুতরাং আমরা প্রধান কনফিগ ফাইল জানি এখানে: /etc/httpd/conf/httpd.conf। সুতরাং এই লাইনের জন্য ফাইলটি দেখুন:

$ grep -E "DocumentRoot|Directory \"|^Include" /etc/httpd/conf/httpd.conf |grep -v "^#"
Include conf.d/*.conf
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
<Directory "/var/www/icons">
<Directory "/var/www/cgi-bin">
    <Directory "/var/www/error">

সুতরাং আমি এখন জানি যে এই ডিরেক্টরিগুলি হ'ল ফাইলটিতে আমরা দেখেছি এমন সম্ভাব্য উত্স access_logDocumentRootএবং Directoriesআমি ফাইলের জন্য মাধ্যমে সন্ধান চাই somefile। যদি এটি এর মধ্যে কোনও অবস্থানে না থাকে তবে আমি পরের আউটপুটটিতে Includeউল্লিখিত ডিরেক্টরিটিতে ফোকাস করব ।grep/etc/httpd/conf.d/*.conf

এই ফাইলগুলি অতিরিক্ত কনফিগারেশন যা অ্যাপাচি ব্যবহার করে তাই আপনাকে grepএই ফাইলগুলি সন্ধান করার জন্য পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে ।


14

আপনি যদি লগ ফাইলটি খুঁজে না পান বা লগ ফাইলটি খালি থাকে আপনি অ্যাপাচি কনফিগারেশন পরীক্ষা চালাতে পারেন যা কনফিগারেশন ফাইলগুলির সাথে কোনও সমস্যা মুদ্রণ করবে:

apachectl configtest

2

চালান service apache2 restart। এটি কোনও ত্রুটি বার্তা প্রদর্শন করবে (সাধারণত পরিষেবাটি অ্যাপাচি বন্ধ করার এবং শুরু করার আগে একটি কনফিগার পরীক্ষা চালায়)

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