Cha*_*ala 2 linux apache webserver centos apache2
我的 Apache Web 服务器的安装路径是/usr/local/apache2。
我使用命令启动服务器,当我在 Web 浏览器中apachectl start输入内容时,它会显示由 CentOS 提供支持的 Apache 2 测试页面,而不是. 有谁知道其中的原因吗?localhostindex.html/usr/local/apache2/htdocs
我的系统中还有两个conf.d文件。一个在/etc/httpd/conf,另一个在/usr/local/apache2/conf(我安装 Apache 的地方)。这有什么原因吗?请帮忙
小智 5
首先,我猜你已经从源代码构建了 apache - 这样做有什么具体原因吗?我通常发现,如果您使用标准分发包,或者如果您需要更高版本,则使用其他存储库中的新包,系统会更易于管理。
如果您没有使用本地构建的 apache 的特定需求,我建议将其删除,然后使用普通的 CentOS 存储库安装 apache。
接下来(或者首先,如果您使用本地构建的 apache),运行:httpd -V
例如,我的系统之一返回:
[me@here ~]# httpd -V
Server version: Apache/2.2.3
Server built: Jun 6 2012 10:00:36
Server's Module Magic Number: 20051115:3
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 32-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"
Run Code Online (Sandbox Code Playgroud)
输出将告诉您其真正的配置文件在哪里,在本例中为 /etc/httpd/conf/httpd.conf - 这样您就知道实际使用的是哪个配置。
一旦您知道正在使用哪些配置文件,您就可以检查它们以查看文档根目录的位置 - 它可能位于而/var/www/html/不是/usr/local/apache2/htdocs或几乎位于任何地方。
当您知道文档根目录在哪里时,请检查并确保 apache 可以读取文件和目录(或者 apache 运行的任何用户 - 第一列ps aux | grep httpd会告诉您这一点)
接下来检查日志文件,通常/var/log/httpd/error_log还有系统登录/var/log/messages和/var/log/secure
最后,如果您运行的是启用了 SELinux 的最新 CentOS,并且您自己构建了 apache,那么您几乎肯定会陷入痛苦的世界。您可以尝试getenforce查看 SELinux 是否处于活动状态,并setenforce 0禁用它(用于测试)。
| 归档时间: |
|
| 查看次数: |
8550 次 |
| 最近记录: |