赞
踩
# 目前最主流的三个Web服务器是Apache、Nginx、 IIS。
- Web服务器一般指网站服务器,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。
- WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。
- 服务器是一种被动程序只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应
# WEB 服务应用层使用HTTP协议。
# HTML(标准通用标记语言下的一个应用)文档格式。--index.html
# 浏览器统一资源定位器(URL)。
# 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
# WWW 采用的是浏览器/服务器结构
#web服务器只能解析静态页面。 动态页面:只要和数据库进行连接的都属于动态页面,比如java写的代码,PHP的代码,python的代码。
#web服务器:apache (参考服务器配置、优化。静态并发量最高2000) nginx(tengine) IIS #端口全部为80!https为443端口
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
Apache的主程序名叫httpd。
- [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld # 永久关闭防火墙
- [root@localhost ~]# setenforce 0
- [root@localhost ~]# yum -y install httpd # 下载安装httpd
- [root@localhost ~]# systemctl start httpd # 开启httpd服务
- [root@localhost ~]# netstat -lntp | grep 80
- tcp6 0 0 :::80 :::* LISTEN 3135/httpd
# 端口80.可以改
index.html:默认主页名称
默认发布网站的目录:/var/www/html
系统产生apache账户,家目录是:/var/www
apache目录介绍
apache的工作目录(基准目录)
conf 存储配置文件
conf.d 存储配置子文件
logs 存储日志
modules 存储模块
run 存储Pid文件,存放的pid号码。是主进程号
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd" #工作目录 Listen 80 #监听端口 Listen 192.168.2.8:80 # 指定监听的本地网卡 可以修改 User apache # 子进程的用户,有可能被人改称www账户 Group apache # 子进程的组 ServerAdmin root@localhost # 设置管理员邮件地址 DocumentRoot "/var/www/html" # 发布网站的默认目录,想改改这里。 IncludeOptional conf.d/*.conf # 包含conf.d目录下的*.conf文件 # 设置DocumentRoot指定目录的属性 <Directory "/var/www/html"> # 网站容器开始标识 Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网 站根目录以外 AllowOverride None # 对目录设置特殊属性:none不使用.htaccess控制,all 允许 Require all granted # granted表示运行所有访问,denied表示拒绝所有访问 </Directory> # 容器结束 DirectoryIndex index.html # 定义主页文件,当访问到网站目录时如果有定义的 主页文件,网站会自动访问
[root@localhost ~]# echo 'test......' > /var/www/html/index.html #编写测试文件
- [root@localhost ~]# vim /etc/httpd/conf/httpd.conf # 编辑组配置文件
- [root@localhost ~]# systemctl restart httpd # 修改配置文件后重启服务
Require all granted # 默认所有人可访问
- [root@localhost ~]# curl -I 192.168.56.120
- HTTP/1.1 200 OK
- Date: Tue, 28 Feb 2023 12:49:16 GMT
- Server: Apache/2.4.6 (CentOS)
- Last-Modified: Tue, 28 Feb 2023 12:04:18 GMT
- ETag: "c-5f5c1653028bb"
- Accept-Ranges: bytes
- Content-Length: 12
- Content-Type: text/html; charset=UTF-8
- [root@localhost ~]# curl 192.168.56.120
- test......
- [root@localhost ~]# vim /etc/httpd/conf/httpd.conf # 编辑组配置文件
- [root@localhost ~]# systemctl restart httpd # 修改配置文件后重启服务
<RequireALL> # 需要添加此标签,否则不生效
Require not ip 192.168.56.110 # 拒绝链接的IP,多个空格隔开
</RequireALL>
- [root@localhost ~]# curl -I 192.168.56.110
- HTTP/1.1 403 Forbidden
- Date: Thu, 02 Mar 2023 11:43:05 GMT
- Server: Apache/2.4.6 (CentOS)
- Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
- ETag: "1321-5058a1e728280"
- Accept-Ranges: bytes
- Content-Length: 4897
- Content-Type: text/html; charset=UTF-8
- [root@localhost ~]# vim /etc/httpd/conf/httpd.conf
- 131<Directory "/var/www/html">
- 132 Options Indexes FollowSymLinks
- 133 ALLowOverride None
- 134 <RequireALL>
- 135 Require all denied136 </RequireALL>
- 137 </Directory>
- [root@localhost ~]# systemctl resatrt httpd
- [root@localhost ~]# curl -I 192.168.56.110
- HTTP/1.1 403 Forbidden
- Date: Thu, 02 Mar 2023 11:46:25 GMT
- Server: Apache/2.4.6 (CentOS)
- Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
- ETag: "1321-5058a1e728280"
- Accept-Ranges: bytes
- Content-Length: 4897
- Content-Type: text/html; charset=UTF-8
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 119 DocumentRoot "/www" # 修改网站根目录为/www 131 <Directory "/www"> # 把这个也对应的修改为/www [root@localhost ~]# mkdir /www [root@localhost ~]# echo 'abc..def...ghj...' >> /www/index.html [root@localhost ~]# cat /www/index.html abc..def...ghj... [root@localhost ~]# curl -I 192.168.56.110 HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 11:51:15 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 11:48:57 GMT ETag: "12-5f5e969f14d15" Accept-Ranges: bytes Content-Length: 18 Content-Type: text/html; charset=UTF-8 [root@localhost ~]# curl 192.168.56.110 abc..def...ghj...
虚拟主机:多个网站在一台服务器上。web服务器都可以实现。
三种:基于域名 基于端口 基于Ip
[root@localhost ~]# cd /etc/httpd/conf.d/ [root@localhost conf.d]# vim test.conf <VirtualHost *:80> #指定虚拟主机端口,*代表监听本机所有ip,也可以指定ip DocumentRoot /soso #指定发布网站目录,自己定义 ServerName www.soso666.com #指定域名,可以自己定义 <Directory "/soso/"> AllowOverride None #设置目录的特性,如地址重写 Require all granted #允许所有人访问 </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /soho ServerName test.soso666.com <Directory "/soho/"> AllowOverride None Require all granted </Directory> </VirtualHost> [root@localhost ~]# mkdir /soso #创建发布目录 [root@localhost ~]# mkdir /soho [root@localhost ~]# echo qianfen > /soso/index.html #创建测试页面 [root@localhost ~]# echo qfedu > /soho/index.html [root@localhost ~]# systemctl restart httpd
[root@localhost ~]# vim /etc/hosts
测试访问
[root@localhost ~]# curl -I 192.168.56.110 HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 12:48:51 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 12:45:08 GMT ETag: "8-5f5ea32eb06a2" Accept-Ranges: bytes Content-Length: 8 Content-Type: text/html; charset=UTF-8 [root@localhost ~]# curl -I www.soso666.com HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 12:49:07 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 12:45:08 GMT ETag: "8-5f5ea32eb06a2" Accept-Ranges: bytes Content-Length: 8 Content-Type: text/html; charset=UTF-8 [root@localhost ~]# curl -I test.soso666.com HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 12:49:24 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 12:45:17 GMT ETag: "6-5f5ea33706f38" Accept-Ranges: bytes Content-Length: 6 Content-Type: text/html; charset=UTF-8
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
[root@qfedu.com ~]# vim /etc/httpd/conf.d/test.conf <VirtualHost *:80> DocumentRoot /soso ServerName www.soso666.com <Directory "/soso/"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost *:81> #修改端口 DocumentRoot /soho ServerName test.soso666.com <Directory "/soho/"> AllowOverride None Require all granted </Directory> </VirtualHost> [root@qfedu.com ~]# systemctl restart httpd
测试访问:
[root@localhost ~]# curl -I www.soso666.com HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 12:54:06 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 12:45:08 GMT ETag: "8-5f5ea32eb06a2" Accept-Ranges: bytes Content-Length: 8 Content-Type: text/html; charset=UTF-8 [root@localhost ~]# curl -I www.soso666.com:81 HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 12:54:23 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 12:45:17 GMT ETag: "6-5f5ea33706f38" Accept-Ranges: bytes Content-Length: 6 Content-Type: text/html; charset=UTF-8
- [root@localhost ~]# ifconfig ens33:0 192.168.56.111 # 添加一个临时IP
- [root@localhost ~]# vim /etc/httpd/conf.d/test.conf
- [root@localhost ~]# systemctl restart httpd
测试访问:
[root@localhost ~]# curl -I 192.168.56.111 HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 13:03:41 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 11:48:57 GMT ETag: "12-5f5e969f14d15" Accept-Ranges: bytes Content-Length: 18 Content-Type: text/html; charset=UTF-8 [root@localhost ~]# curl -I 192.168.56.110 HTTP/1.1 200 OK Date: Thu, 02 Mar 2023 13:03:45 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 02 Mar 2023 12:45:08 GMT ETag: "8-5f5ea32eb06a2" Accept-Ranges: bytes Content-Length: 8 Content-Type: text/html; charset=UTF-8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。