Linux-Web服务(Apache)

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.默认监听端口:80

4.检查是否有语法问题: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

相关推荐
A小辣椒16 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒20 小时前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式