3.1運行Apache
3.1.1手動啟動Apache服務器
/usr/local/apache2/bin/httd
注意:通過ps aux | grep httpd查看到的進程中,發現只有一個httpd進程是屬于root,它是永遠不響應任何用戶請求的。而只是負責創建httpd的子進程,這些子進程才是提供Web訪問的服務進程。而且這些子進程的名字會因為系統的不同而不同,但在同一個系統上都是統一的。
3.1.2自動啟動apache服務器
BSD風格的腳本:
SysV風格:
3.1.3停止Apache服務器
(1)、通過ps aux | grep httpd查看所有的httpd進程,然后用kill -9 pid一一結束進程
(2)、cat /usr/local/apache/logs/httpd.pid然后把這個文件中查到的進程號(這個進程號也就是主服務器進程號,即root用戶的apache進程號 ?)
kill -9 查到的主進程號
3.1.4使用apachectl程序控制Apache
apache start、stop、restart 、graceful、 graceful-stop 、configtest、 status、 fullstatus
這里知道graceful比restart好很多,真的,所以用graceful重啟好很多。graceful-stop也同樣比stop好很多。configtest解析并檢查配置文件語法。
3.1.5運行多個Apache服務器
一臺物理系統運行多個版本的Apache服務器,解決方案是在編譯時為不同版本的Apache指定不同的安裝目錄即可。
一臺物理系統運行多個同一版本的Apache服務器,解決方案是啟動時指定不同的配置文件httpd -f /usr/local/apache/conf/httpd.conf
分析:運行多個Apache服務器的關鍵是為不同的Apache服務器指定唯一的端口,而這可以通過指定不同的配置文件
3.1.6使用 容器實現不同的配置
在配置文件加幾組不同的……容器,在中name是一個變量名稱,只有當name為真時,才會執行到容器之間的命令。如果name為假,則直接忽略。這樣我們可以通過httod -D參數來控制使用那一個name 下的命令
Listen 443
DocumentRoot "/home/jonsk/"
使用它的方法是/usr/local/apache/bin/httpd -D ssl
這就是一種一個配置文件,實現不同配置apache服務器啟動的方式
3.1.7httpd 命令行參數
-D、-d -f -c -C- e -E -v -V -h -l -L -t ?-S -t-D -M -t
3.2監控Apache
3.2.1Apache自帶的web監視器
1.mod_status模塊,動態顯示當前服務器的動態的運行狀態。
2.mod_info模塊,主要提供服務器附加的配置信息
但這兩種模塊不推薦使用,會存在安全問題。
3.2.2使用第三方的工具來監控Apache
1、zabbix
2、Nagios
常見問題及解答
apache啟動后通過瀏覽器訪問提示:“您沒有權限訪問次服務器上的/”
三種可能情況:
(1)Apache不僅需要所在ServerRoo目錄的權限,還需要ServerRoot的上一層目錄的權限
(2)使用SELinux也可能會導致以上錯誤
(3)Apache在配置文件中沒有設置訪問權限
apache的根目錄被我搞壞了
一、般自啟動一是在rc.local上寫腳本
二、是用運行級別,運行級別也有兩種情況,一是用chkconfig命令,設置相應運行級別的自啟動,要用運行級別的話。
如果chkconfig用不了。另外一種,首先把啟動腳本加到int.d目錄里,另外在相應啟動級別目錄里生成一個指向放在int.d那個位置的腳本的軟鏈接。
我不知道讓源碼安裝的腳本使用chkconfig是怎樣,
首先把啟動腳本加到int.d目錄里,另外在相應啟動級別目錄里生成一個指向放在int.d那個位置的腳本的軟鏈接dou yao ma ?。