Lyn*_*ing 11
应该已经开箱即用日志记录,并记录到名为access_log的文件.我从来没有见过它尚未开启的安装.
通常,在哪里登录的指令设置在名为httpd.conf的文件中.大多数情况下,该文件位于/ var/log/apache2中.
假设您的apache服务器正在运行并且您具有shell访问权限:
做这个:
genja ~ # ps aux |grep apache|tail -n1
root 23605 0.0 0.2 248636 10684 ? Ss Jun08 0:06 /usr/sbin/apache2 -D DEFAULT_VHOST -D INFO -D LANGUAGE -D MANUAL -D SSL -D SSL_DEFAULT_VHOST -D PHP5 -D PERL -D PROXY -D SCGI -d /usr/lib64/apache2 -f /etc/apache2/httpd.conf -k start
Run Code Online (Sandbox Code Playgroud)
..那是一个Apache守护进程。您正在寻找“ -f /etc/apache2/http.conf”。如果您的apache服务器没有(通过distro init脚本告知)要从何处获取配置文件,它将在默认位置查找,该位置可能在以下位置:/ etc / apache2 /或/ etc / httpd /(或其他任何位置,但是这两个是最常见的)。在该文件夹中,您将找到一个名为apache2.conf或httpd.conf的文件,
只需尝试以下操作:
find /etc/ -iname httpd.conf -o -iname apache2.conf
Run Code Online (Sandbox Code Playgroud)
找到apache服务器的配置文件后,查找其中包含模块配置的行。在我的系统上,它看起来像这样:
Include /etc/apache2/modules.d/*.conf
Run Code Online (Sandbox Code Playgroud)
现在,您需要确定日志文件在哪里:
genja modules.d # grep CustomLog /etc/apache2/modules.d/*
00_mod_log_config.conf:# a CustomLog directive (see below).
00_mod_log_config.conf:CustomLog /var/log/apache2/access_log common
00_mod_log_config.conf:#CustomLog /var/log/apache2/referer_log referer
00_mod_log_config.conf:#CustomLog /var/log/apache2/agent_logs agent
00_mod_log_config.conf:#CustomLog /var/log/apache2/access_log combined
Run Code Online (Sandbox Code Playgroud)
您正在寻找:CustomLog / var / log / apache2 / access_log通用。
请注意,此CustomLog指令也可以位于主apache2.conf文件中。
现在,您有了日志文件的位置。立即停止服务器登录的最有可能的事情是文件权限。确保在CustomLog下给定的目录存在,并且apache服务器可以写入该目录:
作为根:
mkdir -p /var/log/apache2
touch /var/log/apache2/access_log
chown -R APACHEUSER /var/log/apache2
chmod 755 /var/log/apache2
chmod 644 /var/apache2/access_log
Run Code Online (Sandbox Code Playgroud)
APACHEUSER可能是apache或www甚至httpd的地方。您可以运行以下命令找出答案:
genja ~ # ps aux |grep apache |awk '{print $1}'
apache
(...)
apache
root
Run Code Online (Sandbox Code Playgroud)
因此,在我的系统上运行apache服务器的用户实际上称为apache。它不是根。或至少不应该如此。
更改该文件的权限后,重新启动服务器。我不知道您的发行版是如何做到的。我认为在ubuntu上有一个服务命令。但是您始终可以直接运行init脚本:
/etc/init.d/apache restart(ir可能在发行版中的其他位置)重新启动整个计算机,如果您不知道如何重新启动apache服务器。
如果重新启动服务器后access_log文件为空,则在上述命令中将APACHEUSER更改为root。
毕竟,只需使用您喜欢的寻呼机或文本编辑器查看日志即可。甚至连tail -f都可以实时监视它。我希望这有帮助。gl。
归档时间: |
|
查看次数: |
17207 次 |
最近记录: |