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

相关推荐
扶尔魔ocy1 天前
【linux C】在mysql中增加自定义的C动态库
linux·运维·mysql
凯子坚持 c1 天前
0基础如何搭建个人博客?GMSSH可视化运维工具配合WordPress部署全流程教学
运维·docker·gmssh
触想工业平板电脑一体机1 天前
【触想智能】工业视觉设备与工控一体机进行配套需要注意的五大事项
android·大数据·运维·电脑·智能电视
运维行者_1 天前
跨境企业 OPM:多币种订单与物流同步管理,依靠网络自动化与 snmp 软件
大数据·运维·网络·数据库·postgresql·跨境企业
oMcLin1 天前
如何在Ubuntu 20.04上通过配置ZFS存储池,提升高性能存储系统的可靠性与扩展性
linux·运维·ubuntu
独自破碎E1 天前
使用Linux的top命令进行性能监控的步骤?
linux
Ha_To1 天前
2026.1.6 Windows磁盘相关
linux·运维·服务器
牛奶咖啡131 天前
shell脚本编程(一)
linux·shell·shell脚本·shell脚本解析·grep命令语法·grep选项详解·正则表达式解析
地球资源数据云1 天前
2019-2024年中国逐年10米分辨率最大值合成NDVI数据集
大数据·运维·服务器·数据库·均值算法