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