Apache介绍及使用

这篇具有很好参考价值的文章主要介绍了Apache介绍及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Apache的介绍

  1. Apache全称:Apache HTTPD Server ;是Apache基金会的一个开源网页服务器,可以在大多数计算机操作系统中运行。
  2. Apache提供的服务器又称为:补丁服务器

PHP简单介绍

  1. PHP是一门编程语言,1994年问世
  2. php8.0是未来机器学习、3D渲染、数据分析的利器
  3. php在目前网站服务器编程语言中,占比70%

PHP升级的注意事项

  1. 在升级PHP之前需要先查看官方文档,看有哪些语句被弃用了
  2. 防止升级后因部分语句被弃用导致的业务崩溃

LAMP架构

  1. LAMP架构是指Linux、apache、mysql、php

LAMP底层原理

浏览器网页形成过程
  1. 浏览器向服务器发送http请求,服务器(Apache)接收请求,由于php作为apache的组件也会一并启动,php和apache具有相同的生命周期。
  2. Apache会讲一些静态资源保存,然后调用php处理模块进行php脚本的处理。
  3. 脚本处理完成后,Apache将处理完的信息通过http response的方式发送给浏览器,浏览器解析,渲染等一些列操作后呈现整个网页

Apache工作模式

  1. Apache的工作模式是"BS"模式
  2. 工作端口:80
  3. SSL端口:在80端口的基础上加上安全认证;也就是"https"
Apache三种工作模式
  1. 三种工作模式:Prefork、Worker、Event
    1. Prefork:使用进程处理请求;在该模式中比较消耗内存,但稳定性高;如某个进程出现问题,不会影响其他请求
    2. Worker:属于多进程模式,每个进程生成多个进程;在该模式下消耗的资源比较小,适合高并发请求,但稳定性没有Prefork模式稳定
    3. Event:该模式与Worker模式较为相似,不同之处在于在该模式下可以解决keepalive长连接时占用线程资源导致浪费的问题

Apache安装

  1. 使用yum安装apache
  2. 安装apache专用工具"elinks"
    1.elinks工具是用于测试apache是否在运行
#需要安装的包
yum install httpd -y

yum install httpd-devel -y

yum install elinks -y

示例:
[root@localhost ~]# ls /mnt/Packages/httpd*
/mnt/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm #apache的主程序包
/mnt/Packages/httpd-devel-2.4.6-95.el7.centos.x86_64.rpm #apache的开发程序包
/mnt/Packages/httpd-manual-2.4.6-95.el7.centos.noarch.rpm #apache的手册文档
/mnt/Packages/httpd-tools-2.4.6-95.el7.centos.x86_64.rpm #apache的工具包
[root@localhost ~]# 
[root@localhost ~]# elinks

搭建个人网站

搭建个人网站需要注意的事项

  1. 备案:搭建个人网站最先做的就是域名备案;因为备案需要二十几天的时间才能备案完成,时间较长

  2. 配置:需要根据最大的在线人数、注册数、最大的并发量来搭建网站

  3. UV:最大并发量;就是进入访问网站的那一瞬间就是一个并发,没对网站内容进行任何操作

  4. PV:用户在网站中的每次点击都会生成一个PV

  5. 云服务器:阿里云、腾讯云、青云、ucloud、百度云

  6. 域名:阿里、花生壳

  7. 安装机制:端口放行

  8. 峰值:基于峰值可计算出带宽

  9. 每秒钟:峰值➗(24✖3600)

  10. 经验值:在算出每秒钟的基础上再✖10;意思就是在每秒钟的数值的基础上估算的上下浮动

  11. 带宽:每秒钟✖经验值✖页面大小

PS:带宽不足时可以向运营商申请带宽,申请带宽是按照原本的带宽值✖8(经验值)

Apache配置文件

  1. Apache配置文件中的字段解析:
    1. ServerRoot :表示apache的根目录
    2. Listen:监听端口
    3. Include conf.modules.d/*.conf:在这个路径下指定.conf文件,就会优先检查该目录,避免在修改源文件出现错误
    4. Options Indexes FollowSymLinks:目录浏览
    5. User apache:用户为apache
    6. Group apache:组为apache
    7. ServerAdmin:apache的管理员,当网站出现情况时,apache会根据这个字段指定的管理员发送消息或邮件
    8. AddDefaultCharset UTF-8:apache支持的语言,默认为UTF-8
    9. LoadModule:加载动态模块
  2. 页面显示配置文件
    1. Apache显示的内容默认存放在/var/www/html目录下
    2. 如果存在虚拟目录,则先查找虚拟目录再查找默认目录
[root@sunlit4 ~]# ll /etc/httpd/conf/httpd.conf #apache配置文件路径
[root@sunlit4 ~]# ll /var/www/html #页面显示内容默认目录

Apache状态码

1xx 信息类

2xx 访问成功

3xx 重定向错误

4xx 页面无法访问

5xx 服务器错误

实验环境

安装LAMP

  1. 安装LAMP所需的软件包
  2. 在Apache配置文件目录下创建一个测试文件,用于探测mysql的运行情况
yum install httpd mariadb mariadb-server php php-mysql -y #安装LAMP所需的软件包

#在httpd配置文件目录下创建index.php文件
[root@sunlit4 ~]# cd /var/www/html/
[root@sunlit4 html]# cat index.php
#使用以下的php函数探测mysql的运行情况
<?php
phpinfo()
?>
[root@sunlit4 html]# 
[root@sunlit4 html]# systemctl restart httpd
通过php测试
  1. 出现以下界面表示当前已成功搭建LAMP
    PS:如果没有显示php的界面,但出现空白页,则按照以下步骤检查:
    1. 查看刚刚在apache配置文件目录下创建的文件内容是否有错误
    2. apache 是否能解析php
    3. 服务是否有重启,LAMP中的服务是否全部正常启动
    4. 如以上步骤检查后仍然无法显示php的界面,则查看权限,看是否在使用的用户权限不足
    Apache介绍及使用
解析php出错的处理手段
  1. 遇到不能解析php时,在apache的配置文件中的"AddType application"这个字段下新加一行
  2. 另外需要把"DirectoryIndex"的后面加上index.php
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php.php #表示遇到php就立即解析

<IfModule dir_module>
    DirectoryIndex index.php index.html #表示先解析php,如果没有php再解析html
</IfModule>

实验

实验1 web服务器配置

需求:

搭建一台内部的web服务器,采用的内部IP地址和80端口,访问格式IP+端口,首页采用index.html文件。管理员E-mail地址为 sunlit4@sunlit.cn ,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。

修改配置文件

设置Apache的根目录为/etc/httpd(默认)
设置httpd 监听端口80
设置管理员E-mail地址为 sunlit@sunlit.com

#配置文件中需要修改的字段
ServerAdmin sunlit@sunlit.com #修改管理员的E-mail地址

PS:想不显示Apache默认界面可在/etc/httpd/conf.d/welcome.conf文件中的LocationMatch注释掉
在注释掉后/var/www/html目录下的文件可在Apache页面上分享

#<LocationMatch "^/+$">
#    Options -Indexes
#    ErrorDocument 403 /.noindex.html
#</LocationMatch>

Apache介绍及使用

实验2 使用别名引用网站以外的路径

  1. 将/usr/local/data 目录通过虚拟目录功能添加到网页根目录;创建一个虚拟路径,避免真实路径暴露
  2. 创建测试页面内容
[root@sunlit4 html]# mkdir /usr/local/data
[root@sunlit4 html]# echo "this is data test" >> /usr/local/data/index.html
[root@sunlit4 html]# pwd
/var/www/html
[root@sunlit4 html]# 
  1. 在/etc/httpd/conf/httpd.conf配置文件末尾下手动添加虚拟路径
Alias /data/ "/usr/local/data/" #指定访问目录路径
<Directory "/usr/local/data/">
Options Indexes FollowSymLinks #不访问索引
        AllowOverride None # 显示空白页
        Require all granted # 接收所有的请求
</Directory>
最终访问效果

![[Pasted image 20221126194322.png]]

实验3 通过用户认证方式访问

创建被访问的文件

[root@sunlit5 ~]# mkdir /usr/local/data
[root@sunlit5 data]# echo "this is data test" >> index.html

修改配置文件

  1. 在/etc/httpd/conf/httpd.conf下添加以下字段
  2. 字段解析
    1. authtype:设定认证类型
    2. authname:自定义认证的提示
    3. authuserfile:指定密码文件路径
    4. require user:允许哪些用户访问
    5. require valid-user:表示在authuserfile指定的文件中的用户都可以访问
<Directory "/usr/local/data/">
Options Indexes FollowSymLinks
authtype basic  #认证类型
        authname "my web site" #认证提示
        authuserfile /etc/httpd/conf/passwd.secret #密码文件
require valid-user    #允许的请求用户

</Directory>

[root@sunlit5 ~]# grep "/usr/local" /etc/httpd/conf/httpd.conf
Alias /data/ "/usr/local/data/"
<Directory "/usr/local/data/">
[root@sunlit5 ~]# 

创建认证用户密码

[root@sunlit5 ~]# htpasswd -cm /etc/httpd/conf/passwd.secret sunlit
New password: 
Re-type new password: 
Adding password for user sunlit
[root@sunlit5 ~]# cat /etc/httpd/conf/passwd.secret 
sunlit:$apr1$jCCa1cRa$zQu1Vg5nKlOX.Zu8umexn0
[root@sunlit5 ~]# htpasswd -m /etc/httpd/conf/passwd.secret sunlit2 
#第二次创建用户不用加"-c"参数
New password: 
Re-type new password: 
Adding password for user sunlit2
[root@sunlit5 ~]# cat /etc/httpd/conf/passwd.secret #密码由md5加密
sunlit:$apr1$jCCa1cRa$zQu1Vg5nKlOX.Zu8umexn0
sunlit2:$apr1$31Git5JX$Hx3NUD8CKnonBo8u9iCPe.
[root@sunlit5 ~]# 

PS:配置完成后需要对apache进行重启

最终结果

Apache介绍及使用
Apache介绍及使用

apache虚拟主机

  1. 在日常生活中访问网站就等于访问目录
  2. 虚拟主机可以通过不同的方式去不同的资源
    1. 虚拟主机的访问方式有IP、端口、域名这三种方式访问不同的文件

基于IP的访问方式

  1. 设置临时IP
  2. 修改配置文件,指定绝对路径
[root@sunlit5 ~]# ifconfig ens32:0 192.168.21.6 #设置临时IP
[root@sunlit5 ~]# ifconfig | grep inet | awk 'NR==1{print $2}''NR==3{print $2}'
192.168.21.5
192.168.21.6
[root@sunlit5 ~]#  
[root@sunlit5 html]# tail -9 /etc/httpd/conf/httpd.conf

<VirtualHost 192.168.21.5:80>
	DocumentRoot /var/www/html/sunlit5
</VirtualHost>

<VirtualHost 192.168.21.6:80>
	DocumentRoot /var/www/html/sunlit6
</VirtualHost>

[root@sunlit5 html]# 
[root@sunlit5 sunlit5]# echo '192.168.21.5我是sunlit5' > /var/www/html/sunlit5/index.html
[root@sunlit5 sunlit5]# echo '192.168.21.5我是sunlit6' > /var/www/html/sunlit6/index.html
访问的效果

Apache介绍及使用
Apache介绍及使用

基于域名的访问方式

  1. 修改apache配置文件
  2. 在hosts文件中指定域名对应的IP
[root@sunlit5 ~]# tail /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
	DocumentRoot /var/www/html/sunlit5
	ServerName www.sunlit.net
</VirtualHost>

<VirtualHost *:80>
	DocumentRoot /var/www/html/sunlit6
	ServerName www.sunlit.com
</VirtualHost>

[root@sunlit5 ~]# 
[root@sunlit5 ~]# tail -2 /etc/hosts
192.168.21.5 www.sunlit.net
192.168.21.5 www.sunlit.com
[root@sunlit5 ~]# 
访问结果

Apache介绍及使用
Apache介绍及使用

基于端口访问方式

  1. 在apache配置文件中添加监听端口
[root@sunlit5 ~]# grep ^Listen /etc/httpd/conf/httpd.conf
Listen 80
Listen 81
[root@sunlit5 ~]# 

[root@sunlit5 ~]# tail -9 /etc/httpd/conf/httpd.conf

<VirtualHost 192.168.21.5:80>
	DocumentRoot /var/www/html/sunlit5
</VirtualHost>

<VirtualHost 192.168.21.5:81>
	DocumentRoot /var/www/html/sunlit6
</VirtualHost>

[root@sunlit5 ~]# 
访问结果

Apache介绍及使用
Apache介绍及使用文章来源地址https://www.toymoban.com/news/detail-495034.html

到了这里,关于Apache介绍及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • httpd协议与apache

    HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP(80/TCP)和 HTTPS(443/TCP)的传输协议,但因特网还有其他的网络应用系统(如:FTP、SMTP等等)  WEB开发语言 http:

    2024年02月11日
    浏览(44)
  • Apache(httpd) 搭建笔记

    将SSL证书和私钥文件上传到服务器上。通常,证书文件的扩展名为.crt,私钥文件的扩展名为.key。 将证书文件和私钥文件移动到适当的目录,例如/etc/httpd/ssl/: 去掉文本内下列参数注释# 在配置文件的末尾添加以下内容,配置SSL虚拟主机: 每个虚拟主机可以有自己的域名、目

    2024年02月17日
    浏览(37)
  • Apache Hudi Timeline Server介绍

    Hudi 有一个中央时间线服务器,在驱动程序节点中运行并作为 Rest 服务。它有多种好处,第一个用例是提供 FileSystemView api。 Hudi 的核心是维护一个 TableFileSystemView,它暴露 API 来获取给定数据集的文件状态,驱动程序和执行程序将在写入和表服务生命周期的不同时间点查询该状

    2024年02月12日
    浏览(29)
  • Apache Httpd 常见漏洞解析(全)

    Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。 其2.4.0~2.4.29版本中存在一个解析漏洞。 在解析PHP时,1.phpx0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 ①环境启用 ②编译和运行 ③访问漏洞环境 编写一句话木马上传文件123.php,上传都是失败的

    2024年02月21日
    浏览(44)
  • Apache HTTPD 换行解析漏洞

    Apache HTTPD是一款HTTP服务器,它可以通过 mod_php 来运行PHP网页。 影响版本: Apache 2.4.0~2.4.29 存在一个解析漏洞;在解析PHP时, 1.phpx0A 将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 我们查看相关配置:读取配置文件,前三行的意思是把以 .php 结尾的文件当成

    2023年04月26日
    浏览(36)
  • Apache HTTPD 多后缀解析漏洞复现

    Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件: 其给 .html 后缀增加了media-type,值为 text/html ;给 .cn 后缀增加了语言,值为 zh-CN 。此时,如果用户请求文件 index.cn.html ,他将返回一个中文的html页面。 以上就是Apache多后缀的特性

    2024年02月09日
    浏览(40)
  • apache httpd多后缀解析漏洞复现

    一、漏洞描述 Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。 该漏洞和apache版本和php版本无关,属于用户配置不当造成的解

    2024年02月03日
    浏览(40)
  • Apache-httpd最新版本升级教程

    Apache-httpd版本太低会导致出现很多漏洞,本次安装的版本为最新的Apache-2.4.57版本,操作系统为CentOS Linux release 7.9.2009 (Core)。首先在服务器上执行命令查看httpd的版本,httpd -v 一、部署安装 1、下载 http://dlcdn.apache.org//apr/apr-util-1.6.3.tar.gz http://dlcdn.apache.org//apr/apr-1.7.4.tar.gz http:

    2024年01月18日
    浏览(48)
  • Linux 安装httpd(apache)超详细教程

    Apache是一款非凡的应用软件,它是世界上使用最广泛的Web服务器应用程序,并且在商业Web服务器市场中占有超过50%的份额。Apache是类Unix操作系统中使用最广泛的Web服务器应用程序,可以在几乎所有平台上使用,例如Windows等。Apache是取自Native的名字美国部落’ 阿帕奇’,以

    2024年02月06日
    浏览(44)
  • web server apache tomcat11-01-官方文档入门介绍

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 同时也为从零手写实现 tomcat 提供一些基础和特性的思路。 minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 we

    2024年04月16日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包