iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Apache介绍及使用
  • 677
分享到

Apache介绍及使用

apachephp服务器 2023-09-17 12:09:29 677人浏览 安东尼
摘要

Apache的介绍 Apache全称:Apache HttpD Server ;是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 -yyum install httpd-devel -yyum 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的运行情况<?phpphpinfo()?>[root@sunlit4 html]# [root@sunlit4 html]# systemctl restart httpd

通过php测试

  1. 出现以下界面表示当前已成功搭建LAMP
    PS:如果没有显示php的界面,但出现空白页,则按照以下步骤检查:
    1. 查看刚刚在apache配置文件目录下创建的文件内容是否有错误
    2. apache 是否能解析php
    3. 服务是否有重启,LAMP中的服务是否全部正常启动
    4. 如以上步骤检查后仍然无法显示php的界面,则查看权限,看是否在使用的用户权限不足
    在这里插入图片描述

解析php出错的处理手段

  1. 遇到不能解析php时,在apache的配置文件中的"AddType application"这个字段下新加一行
  2. 另外需要把"DirectoryIndex"的后面加上index.php
AddType application/x-compress .ZAddType application/x-gzip .gz .tgzAddType 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页面上分享

##    Options -Indexes#    ErrorDocument 403 /.noindex.html#

在这里插入图片描述

实验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 FollowSymLinksauthtype basic  #认证类型        authname "my web site" #认证提示        authuserfile /etc/httpd/conf/passwd.secret #密码文件require valid-user    #允许的请求用户</Directory>[root@sunlit5 ~]# grep "/usr/local" /etc/httpd/conf/httpd.confAlias /data/ "/usr/local/data/"<Directory "/usr/local/data/">[root@sunlit5 ~]# 

创建认证用户密码

[root@sunlit5 ~]# htpasswd -cm /etc/httpd/conf/passwd.secret sunlitNew 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.Zu8umexn0sunlit2:$apr1$31git5JX$Hx3NUD8CKnonBo8u9iCPe.[root@sunlit5 ~]# 

PS:配置完成后需要对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.5192.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

访问的效果

在这里插入图片描述
在这里插入图片描述

基于域名的访问方式

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

访问结果

在这里插入图片描述
在这里插入图片描述

基于端口访问方式

  1. 在apache配置文件中添加监听端口
[root@sunlit5 ~]# grep ^Listen /etc/httpd/conf/httpd.confListen 80Listen 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 ~]# 

访问结果

在这里插入图片描述
在这里插入图片描述

来源地址:https://blog.csdn.net/u010722862/article/details/128060667

--结束END--

本文标题: Apache介绍及使用

本文链接: https://www.lsjlt.com/news/411059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Apache介绍及使用
    Apache的介绍 Apache全称:Apache HTTPD Server ;是Apache基金会的一个开源网页服务器,可以在大多数计算机操作系统中运行。Apache提供的服务器又称为:补丁服务器 ...
    99+
    2023-09-17
    apache php 服务器
  • Apache介绍及常用配置
    Apache是一款开源的Web服务器软件,也是目前世界上使用最广泛的Web服务器软件之一。它能够处理静态文件和动态内容,并且支持多种...
    99+
    2023-09-21
    Apache
  • fastjson2 介绍及使用
    目录 前言一、导入fastjson2依赖二、json对象与json数组的创建json对象创建json数组创建 三、json对象取值与json数组遍历取值json对象取值json数组遍历取值 四、json对象与字符串的转换js...
    99+
    2023-08-18
    java fastjson2 fastjson fastJson
  • Numpy库的介绍及使用
    Numpy库的介绍及使用 1. Numpy库入门1.1 数据的维度1.2 ndarray的优势1.3 ndarray对象的属性1.4 ndarray数组的创建和变换1.4.1 ndarray数...
    99+
    2023-09-04
    numpy python
  • Jupyter 介绍、安装及使用
    Jupyter 介绍、安装及使用 一.Jupyter介绍 Jupyter Notebook是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。 Jupyter ...
    99+
    2023-09-05
    python
  • Delphi中QuotedStr介绍及使用
    在Delphi中,QuotedStr是一个函数,用于将字符串用引号括起来。QuotedStr函数接受一个字符串参数,并返回引号括起来...
    99+
    2023-09-20
    Delphi
  • Matplotlib库的介绍及使用
    Matplotlib库的介绍及使用 1. pyplot子库的基本使用1.1 Matplotlib库的介绍1.2 plot函数1.3 pyplot的中文显示1.4 pyplot的文本显示 2...
    99+
    2023-10-02
    matplotlib python numpy
  • plt.subplot()参数及使用介绍
    plt.subplot() plt.subplot(nrows, ncols, index, **kwargs) 第一个参数:*args (官网文档描述)Either a 3-dig...
    99+
    2023-01-11
    plt.subplot()使用
  • .NetCoreSDK命令介绍及使用
    dotnet run 介绍 dotnet 相关命令是属于 .NET Core command-line (CLI) 的一部分,Microsoft 为我们提供了这个命令行工具以供我们在...
    99+
    2024-04-02
  • ReentrantLock介绍及使用(超详细)
    点击 Mr.绵羊的知识星球 解锁更多优质文章。 目录 一、介绍 1. 简介 2. 是什么类型的锁 3. 优点 4. 原理 5. 主要方法 6. 使用时注意事项 二、实际应用 1. 案例一 2. 案例二 一、介绍 1. 简介     ...
    99+
    2023-09-20
    java 开发语言
  • Json优缺点及使用介绍
    目录1. 什么是 JSON1.1 数组字面量1.2 对象字面量1.3 混合字面量1.4 JSON 语法1.5 JSON 编码和解码2. JSON 与 XML3. 服务器端 JSON ...
    99+
    2024-04-02
  • 【Tomcat】Tomcat 介绍及使用教程
    文章目录 1. Tomcat 介绍2. 下载安装2.1 Windows 中安装2.2 Linux 中安装2.3 访问 Tomcat 3. Tomcat 的目录结构4. Tomcat 的配置...
    99+
    2023-10-03
    tomcat java-ee java
  • java中BigDecimal的介绍及使用
    BigDecimal是Java中的一个类,用于表示任意精度的十进制数。它提供了精确的数值计算,避免了浮点数计算时的精度损失。使用Bi...
    99+
    2023-09-09
    java
  • futuretask用法及使用场景介绍
    FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过FutureTask的get方法异步获取执行...
    99+
    2023-05-31
    java futuretask
  • java基础之NIO介绍及使用
    目录一、NIO二、三大组件三、ByteBuffer的使用四、测试Demo五、Channel的使用六、网络编程七、Selector八、网络编程(多路复用)一、NIO java.nio...
    99+
    2024-04-02
  • Python 之plt.plot()的介绍以及使用
    文章目录 介绍代码实例 介绍 plt.plot() 是Matplotlib库中用于绘制线图(折线图)的主要函数之一。它的作用是将一组数据点连接起来,以可视化数据的趋势、关系或模式。以下是...
    99+
    2023-10-23
    python 开发语言
  • Tushare介绍、安装及使用教程
            本人是一个二本大数据的学生,想未来从事数据分析师的岗位。虽然说路漫漫道阻且长,但是我还是想跟大家分享一下平时做一些数据分析喜欢用的数据源,如果大家看完我的文章后,有什么不好的地方欢迎大家在评论区写下宝贵的意见,我看到都会积极...
    99+
    2023-10-08
    python
  • JavaScriptwebpack5配置及使用基本介绍
    目录一、webpack1.1 简介1.2 五大核心概念entry (入口)output (出口)loaderplugin (插件)mode (模式)二、配置及使用项目结构使用html...
    99+
    2024-04-02
  • libmp3lame及API介绍和使用详解
    目录API介绍简单使用API介绍 API地址是对libmp3lame.so的编码部分最基础接口的介绍,本库特包含了增加id3标签和mp3的解码的支持。这里并不是完整的文档,但是你可以...
    99+
    2023-05-18
    libmp3lame API使用 libmp3lame API
  • Kotlinby关键字作用及使用介绍
    目录1.Kotlin委托2.类委托3.属性委托3.1定义一个被委托的类3.2标准委托3.3把属性存储在映射中3.4Not Null1.Kotlin委托 在委托模式中,两个对象参与处理...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作