apache服務器
服務端功能是偵聽和響應客戶端的http請求。http協議的默認端口是80.
1996年以來,apache成爲最流行的web服務器。
IIS web服務器只能安裝在windows上。收費的。佔據率達20.55%。
apache跨平臺:windows,linux,unix。佔有率達69.89%。
root@ubuntu:/# apt-cache search httpd (apache後續的名字改爲了httpd)
apache2 - Apache HTTP Server
root@ubuntu:/# apt-get install apache2
2.1 啓動apache服務
安裝完成後,重啓apache服務,在命令行終端中輸入一下命令:
sudo /etc/init.d/apache2 [ start | stop | restart | status ]
或者 service apache2 [ start | stop | restart | status ]
root@ubuntu:/# service apache2 status
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sat 2018-02-17 10:08:33 PST; 3min 10s ago
root@ubuntu:/# curl 127.0.0.1:80
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
Modified from the Debian original for Ubuntu
root@ubuntu:/# service apache2 stop
root@ubuntu:/# curl 127.0.0.1:80
curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused
root@ubuntu:/# service apache2 start
root@ubuntu:/# curl 127.0.0.1:80
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
IIS web服務器也是80端口,由於web協議是http,http跟80端口是對應的。
DNS 53/tcp或/udp
SMTP 25/tcp
POP3 110/tcp
HTTP 80/tcp
HTTPS 443/udp
TELNET 23/tcp
FTP 20/21/tcp
tftp 69/udp
IMAP 143/tcp
snmp 161/udp
snmptrap 162/udp
主配置文件root@ubuntu:/etc/apache2# vim apache2.conf
服務器根目錄root@ubuntu:/etc/apache2# ls
apache2.conf conf-enabled magic mods-enabled sites-available
conf-available envvars mods-available ports.conf sites-enabled
根文檔目錄root@ubuntu:/var/www/html# ls
index.html :網頁文件
訪問日誌文件:記錄的是哪臺電腦在什麼時間訪問了什麼頁面等等。
錯誤日誌文件:記錄的是服務器出問題的時候記錄。(主配置文件:ErrorLog ${APACHE_LOG_DIR}/error.log)
root@ubuntu:/var/www/html# ls (網頁www/html主目錄也能夠更改,index.html是默認的首頁)
a.html index.html
root@ubuntu:/var/www/html# vim a.html
hhahahahhaah:
~
"a.html" 1L, 14C
root@ubuntu:/var/www/html# netstat -apn | grep 80 (查看端口的綁定狀況)
tcp6 0 0 :::80 :::* LISTEN 20293/apache2 (80端口綁定的ip地址是0 :::80 | 0 0.0.0.0:80,說明已經綁到全部的ip地址上去了,若是有多塊網卡就已經綁到多塊網卡上去了)
主配置文件:
root@ubuntu:/etc/apache2# vim apache2.conf
剛纔使用的是apache的默認目錄,若是須要在主目錄之外的其餘目錄訪問網頁就要使用虛禮目錄(不想把網頁放到var/www/html目錄下面去)。虛禮目錄能夠隨便指定,在apache的主配置文件經過alias指定就能夠了。
(在根目錄建立2個文件,並寫入網頁)
root@ubuntu:/yw# mkdir apache1
root@ubuntu:/yw# mkdir apache2
root@ubuntu:/yw# echo "apache html111" > apache1/index.html
root@ubuntu:/yw# echo "apache html222" > apache2/index.html
root@ubuntu:/etc/apache2/mods-available# vim alias.conf
Alias /apache1 "/yw/apache1" (默認找的是裏面的index.html)
Alias /apache2 "/yw/apache2"
Alias /icons/ "/usr/share/apache2/icons/"
root@ubuntu:/etc/apache2/mods-available# service apache2 restart
沒權限。這是由於linux內核還有一個防火牆叫作SELinux,設置爲disable,要重啓系統生效。
root@ubuntu:/etc/apache2# setup