我正在使用 Linux,并希望向我的用户提供其网站的最新统计数据。例如:user1 在我的 Linux DNS 服务器上有一个网站:user1.be
但是当他上网时,user1.be/stats
他必须查看他网站的统计信息。
现在我安装webalizer
并执行了:
webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log
效果很好,但是当用户浏览 user1.be/stats 时,他会看到目录列表(index.html
, usage.png
, daily_usage.png
, ...)但我希望他index.html
在冲浪时能够直接看到user1.be/stats
。
另外,/etc/httpd/conf/httpd.conf
我还列出了以下内容:
DirectoryIndex index.html index.html.var homepage.html index.php
这是如何实现的,因为我无法弄清楚......
答案1
想法#1 - 它正在运行吗?
对 Apache 文件进行这些更改后httpd.conf
,您是否重新启动了它?
$ sudo service httpd restart
想法 #2 - httpd.conf 正确吗?
您确定该httpd.conf
文件适合您要连接的 Apache 吗?有很多方法可以诊断这个问题,我通常喜欢httpd
首先检查可执行文件以了解它在哪里寻找东西。
$ httpd -V
Server version: Apache/2.4.10 (Fedora)
Server built: Jul 23 2014 10:29:44
Server's Module Magic Number: 20120211:36
Server loaded: APR 1.5.1, APR-UTIL 1.5.3
Compiled using: APR 1.5.1, APR-UTIL 1.5.3
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-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=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
在这里您可以看到它正在查找/etc/httpd/conf/httpd.conf
该文件。
想法 #3 - 日志
查看日志。这些在此处可见(您再次可以从上面的输出中找到此信息)。
$ tail -f /etc/httpd/logs/error_logs
通常还有其他日志文件,例如access_log
在同一目录中。
想法 #4 - httpd 在哪里?
您可以使用它lsof
来确定httpd
您实际使用的是哪个,如下所示:
$ sudo lsof -p $(pgrep -u root httpd) | grep /httpd$
httpd 22695 root txt REG 253,0 511936 1317241 /usr/sbin/httpd
所以从上面我们可以看到我们正在使用/usr/sbin/httpd
.