1.Web服务
目前最企业应用最广泛的3个Web服务是Apache(linux)、Nginx(linux)、 IIS(windows)。
Web服务器指网站服务器,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让用户浏览;可以放置数据文件,让用户下载。
Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。
服务器是一种被动程序,只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。

2.WEB服务协议
1.WEB 服务应用层使用HTTP协议。
2.HTML(标准通用标记语言下的一个应用)文档格式。-index.html
3.浏览器统一资源定位器(URL)。
4.为了解决HTTP协议不安全这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
5.WWW 采用的是浏览器/服务器结构
示例:http 明文传输
jack
123456
http+ssl = https
jack sdhyofhl(^**H)
123456 @$*&*(JHFL)
3.静态页面与动态页面
web服务器只能解析静态页面。
动态页面:只要和数据库进行连接的都属于动态页面
4.Apache服务的搭建与配置
4.1Apache介绍
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开源的web服务器,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
基本认识:
1.主配置目录:/etc/httpd/conf/
2.子配置目录:/etc/httpd/conf.d/
2.默认发布目录:/var/www/html/
3.默认监听端口:804.检查是否有语法问题:httpd -t
4.多实例: 在同一台服务器上启动多个相同apache进程。只要端口不一样就可以。
Apache的工作模式apche 工作模式,分别是prefork,worker
prefork--进程模式 是一种进程,进程去请求处理,容易消耗内存但是稳定,某个进程出现问题不会影响其他请求,要求稳定时使用。==============================================
worker--线程模式 使用多个子进程,每个子进程有多个线程,使用线程去处理请求,消耗内存小稳定性不好,在访问量多的时候使用。
进程和线程的区别线程:线程来源于进程
线程稳定性低,共享进程内存
线程模式需要事先开启进程
线程模式并发量高进程:进程稳定性高
进程独占内存
一个进程可有有多个线程
4.2安装&启动apache
[root@cloud ~]# yum install -y httpd
[root@cloud ~]# systemctl start httpd
默认主页名称: index.html
默认发布网站的目录: /var/www/html
系统产生apache账户,家目录是:/var/www

4.3apache目录介绍( /etc/httpd/****)
conf 存储主配置文件
conf.d 存储配置子文件
logs 存储日志 (访问日志:access_log 错误日志:error_log)
modules 存储模块
run 存储Pid文件,存放的pid号码。是主进程号
4.4主配置文件(关于修改配置文件的操作都需要重启服务)


下图是我已经改了默认发布目录的图

4.5访问控制
4.5.1修改默认发布目录
将这两处改到想设置的目录

4.5.2限制IP访问
注意:apache的语法是只要写上去的它都这些,如下图,先允许所有IP访问,再禁止某个或多个IP访问,它们没有先后关系都执行

禁止IP访问的主机显示

5.虚拟主机
一个虚拟主机 ≈ 一个网站/域名
三种实现方式:基于域名 基于端口 基于IP
基本思路:在主配置文件添加端口,创建虚拟主机根目录并在编写index.html,在子配置文件创建以.conf结尾的文件并配置虚拟主机,重启服务,访问页面
5.1基于端口的虚拟主机(修改配置文件必须重启服务)
5.1.1添加端口(修改主配置文件/etc/httpd/conf/httpd.conf)
[root@cloud www]# vim /etc/httpd/conf/httpd.conf

5.1.2创建虚拟主机根目录&编写主页 (index.html)
[root@cloud www]# mkdir /var/www/html{2,3}

[root@cloud ~]# vim /var/www/html2/index.html

5.1.3编写子配置文件(自己在/etc/httpd/conf.d/新建一个以.conf结尾的文件)
[root@cloud ~]# vim /etc/httpd/conf.d/test01.conf
自己新建一个已.conf结尾的文件

5.1.4重启服务
[root@cloud ~]# systemctl restart httpd

5.2基于域名的虚拟主机(修改配置文件必须重启服务)
5.2.1修改子配置文件

在Windows上ctrl+r输入driver,然后进入etc打开hosts文件配置IP与域名
C:\Windows\System32\drivers\etc

查询访问结果(这里加对应的端口)

5.3基于IP的虚拟主机(修改配置文件必须重启服务)
在linux上临时添加&删除IP
[root@cloud httpd]# ip a add dev ens160 IP
[root@cloud httpd]# ip a del dev ens160 IP
ps:
[root@cloud httpd]# ip a add dev ens160 192.168.189.126
在linxu上临时添加IP为192.168.189.126
[root@cloud httpd]# ip a del dev ens160 192.168.189.126
在linxu删除IP为192.168.189.126
5.3.1修改子配置文件

访问网页

6.下载Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强。事实上nginx的并发能力确实在同类型的web服务器中表现最好之一。
6.1安装Nginx
Nginx的官方主页: http://nginx.org
关闭防火墙
创建nginx的yum源
[root@cloud yum.repos.d]# vim /etc/yum.repos.d/nginx.repo
进入官网右边

移到最下面



下载成功

7.使用Nginx配置虚拟主机
重点:
工作目录:/etc/nginx/
主配置文件:/etc/nginx/nginx.conf
子配置文件:/etc/nginx/conf.d
模块目录:modules
日志目录:/var/log/nginx
7.1基于端口的虚拟主机(修改配置文件必须重启服务)
创建配置文件
[root@cloud www]# vim /etc/nginx/conf.d/test.conf

创建目录
[root@cloud www]# mkdir /var/www/nginx
创建index.html文件

重启nginx服务
[root@cloud www]# systemctl restart nginx
查看网页

7.2基于IP创建虚拟主机(修改配置文件必须重启服务)
修改配置文件
[root@cloud www]# vim /etc/nginx/conf.d/test.conf

创建.html文件
查看网页

7.3基于域名创建虚拟主机(修改配置文件必须重启服务)
修改配置文件
[root@cloud www]# vim /etc/nginx/conf.d/test.conf

创建.html文件
在Windows上ctrl+r输入driver,然后进入etc打开hosts文件配置IP与域名
C:\Windows\System32\drivers\etc

查看页面

8.常见组合方式
LNMP (Linux + Nginx + MySQL/Mariadb + PHP) #php-fpm进程,这个组合是公司用的最多的组合
LAMP (Linux + Apache + MySQL/Mariadb + PHP)
Nginx + Tomcat #java项目常用的组合。取代apache