幾個月前,我在Mac OSX 10.6.8上安裝了Apache。 Apache自動安裝在/ usr/local/apache2。在打嗝後,我成功地讓Apache在8080端口上偵聽,並且我能夠讓Apache從/ usr/local/apache2/cgi-bin中執行cgi腳本。Apache:更改httpd.conf的路徑
我還沒有從那以後使用了Apache,當我使用最近解僱了阿帕奇:
/usr/local/apache2/bin$ sudo apachectl -k start
,然後進入我的瀏覽器輸入以下網址:
http://localhost:8080
阿帕奇不會提供index.html頁面或/ usr/local/apache2/htdocs中的任何其他頁面。但是,如果我用的網址:
http://localhost
然後阿帕奇也成爲了所顯示,「它的工作原理」,「一個index.html」頁面。我檢查了我的httpd.conf文件位於/usr/local/apache2/conf/httpd.conf和Apache設置爲監聽端口8080:
Listen 8080
接下來,我改變了文件在/ usr /本地/的Apache2/htdocs中/ index.html的顯示,「世界你好」,但是Apache仍然擔任了一個頁面,說:「它的工作原理」當我用網址:
http://localhost
我再次檢查了我的httpd.conf文件此行:
DocumentRoot "/usr/local/apache2/htdocs"
所以我得出結論說我的apache安裝不使用位於/usr/local/apache2/conf/httpd.conf的httpd.conf文件。我做了一些與谷歌的搜索,我發現這個命令:
/usr/local/apache2/bin$ apachectl -V
其產生的輸出:
Server version: Apache/2.2.22 (Unix)
Server built: Jul 12 2012 15:09:37
Server's Module Magic Number: 20051115:30
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, 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_FLOCK_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="/usr"
-D SUEXEC_BIN="/usr/bin/suexec"
-D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
httpd.conf中我安裝Apache現在使用位於/私人的/ etc /的Apache2/httpd.conf文件,它包含這些行:
ServerRoot "/usr"
Listen 80
DocumentRoot "/Library/WebServer/Documents"
我的問題是:在地獄裏怎麼會出現這些變化? apache文檔說httpd.conf的路徑是在編譯時設置的。我認爲,在/ usr /本地/ Apache2的/斌/的apachectl可能被符號鏈接到系統apache的可能性,但這種輸出:
/usr/local/apache2/bin$ ls -al
total 2104
drwxr-xr-x 20 root admin 680 Feb 19 12:36 .
drwxr-xr-x 15 root admin 510 Feb 19 12:36 ..
-rwxr-xr-x 1 root admin 57200 Feb 19 12:36 ab
-rwxr-xr-x 1 7stud staff 3410 Feb 19 12:32 apachectl
並不表示是這種情況。
在命令提示符處嘗試'which apachectl'。 – 2013-04-20 10:05:29
〜$ which apachectl => /usr/sbin/apachectl。那麼路徑問題呢? – 7stud 2013-04-20 10:08:30
然後你運行系統apachectl,而不是'/ usr/local/apache2/bin'中的你自己的系統。 – 2013-04-20 10:09:08