1.Apache是什么?

Apache 是世界上最流行的 ​​开源Web服务器软件​​,由 Apache 软件基金会维护。

  • ​主要功能​​:接收客户端(如浏览器)的HTTP请求,返回网页、图片等静态/动态资源。

  • ​特点​​:

    • 跨平台(Linux、Windows、macOS)

    • 模块化设计(按需加载功能)

    • 支持多语言扩展(PHP、Python等)

    • 高稳定性和安全性

2.核心架构与工作原理​

多进程模型(MPM)​
  • ​Prefork​​:多进程模式,每个请求由一个独立子进程处理(适合稳定性要求高的场景)。

  • ​Worker​​:多进程+多线程混合模式(平衡性能与资源消耗)。

  • ​Event​​:基于事件驱动,高效处理高并发连接(现代推荐模式)。

3.Apache 安装

#apache的基本信息
/etc/httpd/conf #apache的配置目录
/etc/http/conf.d #子配置目录
/etc/httpd/conf/httpd.conf #主配置文件
/lib/systemd/system/htpd.service #启动文件
:80 #默认端口
/var/www/html #默认发布目录
index.html #默认发布文件
#安装apache
[root@apache ~]# dnf install httpd -y
#在火墙中放行web服务
[root@apache ~]# firewall-cmd --permanent --add-service=http
success
[root@apache ~]# firewall-cmd --permanent --add-service=https
success
#开启服务
[root@apache ~]# systemctl enable --now httpd
#生成默认测试页文件
[root@apache ~]# echo 172.25.254.100 > /var/www/html/index.html  #nginx的发布地为/usr/share/nginx/html/index.html
#测试:
[root@apache ~]# curl 172.25.254.100
172.25.254.100

4.Apache的基本配置信息

 4.1.端口修改

#修改配置文件
[root@apache ~]# vim /etc/httpd/conf/httpd.conf
47 Listen 8080
#刷新服务
[root@apache ~]# systemctl reload httpd
#设定火墙通过
[root@apache ~]# firewall-cmd --permanent --add-port=8080/tcp
success
[root@apache ~]# firewall-cmd --reload
#检测
[root@apache ~]# netstat -antlupe | grep httpd
tcp6 0 0 :::8080 :::* LISTEN 0
78081 32315/httpd
#访问:
[root@apache ~]# curl 172.25.254.100:8080
172.25.254.100

2.默认发布目录

#建立默认发布目录
[root@apache ~]# mkdir /web/html -p
#修改配置文件
[root@apache ~]# vim /etc/httpd/conf/httpd.conf
125 DocumentRoot "/web/html" #指定默认发布目录位置
126 <Directory "/web/html">
127 Require all granted #对于目录访问进行授权
128 </Directory>
[root@apache ~]# systemctl restart httpd
[root@apache ~]# echo "/web/html's page" > /web/html/index.html
[root@apache ~]# curl 172.25.254.100:8080
/web/html's page

3.默认发布文件

#建立新的默认发布文件
[root@apache ~]# echo "/web/html/lee's page" > /web/html/lee.html
#当没有对配置进行修改时新默认发布文件不会被默认访问
[root@apache ~]# curl 172.25.254.100:8080
/web/html's page
[root@apache ~]# curl 172.25.254.100:8080/lee.html
/web/html/lee's page
#修改配置文件
[root@apache ~]# vim /etc/httpd/conf/httpd.conf
172 <IfModule dir_module>
173 DirectoryIndex lee.html index.html
174 </IfModule>
#重启服务
[root@apache ~]# systemctl reload httpd
#测试:
[root@apache ~]# curl 172.25.254.100:8080
/web/html/lee's page

4.https

#安装mod_ssl
[root@apache ~]# dnf install mod_ssl -y#建立证书和key文件目录
[root@apache ~]# mkdir /etc/httpd/certs#制作证书
[root@apache ~]# openssl req \
-newkey rsa:2048 \
-nodes \                          # 这里 \ 表示空格的意思
-sha256 \
-keyout /etc/httpd/certs/timinglee.org.key \
-x509 \
-days 365 \
-out /etc/httpd/certs/timinglee.org.crtCountry Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Shannxi
Locality Name (eg, city) [Default City]:XI'AN
Organization Name (eg, company) [Default Company Ltd]:timinglee
Organizational Unit Name (eg, section) []:webserver
Common Name (eg, your name or your server's hostname) []:www.timinglee.org
Email Address []:timinglee@timinglee.org#命令执行完成,证书出现
[root@apache ~]# ls /etc/httpd/certs/
timinglee.org.crt timinglee.org.key#编辑主配置文件
[root@apache ~]# vim /etc/httpd/conf.d/ssl.conf
86 SSLCertificateFile /etc/httpd/certs/timinglee.org.crt
95 SSLCertificateKeyFile /etc/httpd/certs/timinglee.org.key#重启服务
root@apache ~]# systemctl reload httpd
[root@apache ~]# netstat -antlupe | grep httpd
tcp6 0 0 :::443 :::* LISTEN 0
85111 33518/httpd
tcp6 0 0 :::80 :::* LISTEN 0
80172 33518/httpd#在浏览器中访问
https://服务器ip

6.apache的虚拟主机

#为每个发布站点建立默认发布目录
[root@apache ~]# mkdir -p /var/www/virtual/timiniglee.org/news
[root@apache ~]# mkdir -p /var/www/virtual/timiniglee.org/bbs#为每个站点建立默认发布文件
[root@apache ~]# echo new.timinglee.org >
/var/www/virtual/timiniglee.org/news/index.html
[root@apache ~]# echo bbs.timinglee.org >
/var/www/virtual/timiniglee.org/bbs/index.html#修改配置文件
[root@apache ~]# vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost _default_:80>
DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80>
ServerName bbs.timinglee.org
DocumentRoot /var/www/virtual/timiniglee.org/bbs/
</VirtualHost>
<VirtualHost *:80>
ServerName news.timinglee.org
DocumentRoot /var/www/virtual/timiniglee.org/news/
</VirtualHost>#刷新服务
[root@apache ~]# systemctl reload httpd
#测试:
1.在浏览器所在主机中手动编写本地解析文件
[root@apache ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#加入虚拟主机解析域名
172.25.254.100 mariadb.timinglee.org www.timinglee.org news.timinglee.org
bbs.timinglee.org2.测试效果
[root@apache ~]# curl www.timinglee.org
172.25.254.100
[root@apache ~]# curl bbs.timinglee.org
bbs.timinglee.org
[root@apache ~]# curl news.timinglee.org
new.timinglee.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91691.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91691.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91691.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端 SSE 实战应用:用最简单的方式实现实时推送

前端 SSE 实战应用&#xff1a;用最简单的方式实现实时推送 &#x1f4cc; 点赞收藏关注不迷路&#xff01; 在前端项目中&#xff0c;我们常听到“实时通信”这个需求 —— 聊天、进度、状态变化、系统消息。 但提到实时&#xff0c;大家首先想到的是 WebSocket&#xff0c;对…

第16章 基于AB实验的增长实践——验证想法:AB实验实践

​一、AB实验全流程框架​实验分为5个核心环节&#xff1a;实验假设​ → 实验设计​ →实验运行​ → 实验分析​ → 实验决策​​二、各环节核心要点详解​​1. 实验假设​​原则​&#xff1a;目标性、可归因、可复用&#xff08;前两者必选&#xff09;​&#xff08;1&…

解决【软件安装路径】失败的方法

出现问题上图所示问题为&#xff1a;你的临时目录路径中包含 Unicode 字符&#xff0c;这可能会导致安装损坏。请参阅故障排除指南以获取解决方法。出现问题的原因&#xff1a;添加路径下存在中文&#xff0c;导致系统文件无法识别。解决方法步骤一&#xff1a;创建Temp(临时文…

FreeRTOS学习笔记——总览

考虑到RTOS能够提升单片机开发能力&#xff0c;也是开发复杂任务的必经之路&#xff0c;还是有必要学习的。 FreeRTOS教程多&#xff0c;免费开源&#xff0c;是个不错的选择。后续可以考虑继续学习RT-Thread等。 参考1&#xff1a;FreeRTOS(教程非常详细&#xff09;——作者&…

Clip微调系列:《coOp: learning to prompt for vision-language models》

论文链接&#xff1a;arxiv.org/pdf/2109.01134v1 推荐视频(clip_coop的代码逻辑讲解&#xff0c;代码简单&#xff0c;有助于理解)&#xff1a;CLIP和CoOp工作的简单Pytorch复现和理解_哔哩哔哩_bilibili 其他参考链接&#xff1a;CoOp - CLIP 自适应Prompt工程 【一】_coop…

[论文阅读] 人工智能 + 软件工程 | 开源软件中的GenAI自白:开发者如何用、项目如何管、代码质量受何影响?

开源软件中的GenAI自白&#xff1a;开发者如何用、项目如何管、代码质量受何影响&#xff1f; 论文&#xff1a;Self-Admitted GenAI Usage in Open-Source SoftwarearXiv:2507.10422 Self-Admitted GenAI Usage in Open-Source Software Tao Xiao, Youmei Fan, Fabio Calefato…

AI绘画版权问题全解析:你的作品真的属于你吗?

AI绘画版权问题全解析:你的作品真的属于你吗? 关键词:AI绘画、版权归属、生成式AI、训练数据、独创性、法律合规、知识产权 摘要:当你用MidJourney生成一张“赛博朋克风格的熊猫”,或用Stable Diffusion画出“梵高笔触的星空咖啡馆”时,你是否想过:这张图的版权属于你、…

深入理解Linux文件I/O:系统调用与标志位应用

目录 一、引入 二、标志位 1、什么是标志位&#xff1f; 2、标志位传递示例 输出结果分析 关键点解释 三、文件描述符(File Descriptor)&#xff08;先大概了解&#xff09; 四、接口介绍&#xff1a;open()函数 1、命令查看 2、头文件 3、函数原型 4、参数说明 …

海康线扫相机通过采集卡的取图设置

目录 1、扫描高度小于65000行 1.1 软触发 1、采集卡设置项 2、相机设置项 1.2 硬触发 1、采集卡设置项 2、相机设置项 2、扫描高度大于65000行 1.1 软触发 1、采集卡设置项 2、相机设置 1.2 硬触发 1、采集卡设置项 2、相机设置 2.1 帧扫描 2.2 行扫描 3、注意…

InfluxDB 3与Apache Parquet:打造高性能时序数据存储与分析解决方案

在当今数据驱动的时代&#xff0c;各行业产生的数据量呈爆炸式增长&#xff0c;如何高效存储和管理海量数据成为企业和开发者面临的重大挑战。对于时序数据而言&#xff0c;其具有数据量大、写入频繁、查询模式多样等特点&#xff0c;对存储系统的性能和效率提出了更高的要求。…

20250718-4-Kubernetes 应用程序生命周期管理-Pod对象:实现机制_笔记

一、Pod对象&#xfeff;&#xfeff;1. 资源共享实现机制1&#xff09;共享网络&#xfeff;基本概念实现方式&#xff1a;通过将业务容器网络加入到负责网络的容器&#xff08;infra container&#xff09;实现网络共享核心特点&#xff1a;共享网络协议栈&#xff08;包括TC…

防爆手机是什么?能用普通手机改装吗?

在石油开采平台的井架之上&#xff0c;在化工车间的反应釜旁&#xff0c;在煤矿深达千米的巷道中&#xff0c;一群特殊的工作人员正使用着看似普通的通讯设备。这些设备外壳上醒目的Ex防爆认证标志&#xff0c;揭示着其与众不同的身份——防爆手机。这类专为易燃易爆环境设计的…

gem install报错解析

报错内容 [rootlocalhost ~]# gem install bundler Fetching: bundler-2.6.9.gem (100%) ERROR: Error installing bundler:bundler requires Ruby version > 3.1.0. The current ruby version is 2.5.0.解决方案&#xff08;任选其一&#xff09; 这个错误表明你当前的 Ru…

css 如何实现大屏4个占位 中屏2个 小屏幕1个

1、 使用grid.container {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;border: 1px solid red;width: 400px;height: 400px;}media (max-width: 768px) {.container {grid-template-columns: 1fr;}}media (min-width: 768px) and (max-width: 992px) {.con…

Redis学习系列之—— JDHotKey 热点缓存探测系统

一、为什么需要热点缓存探测 在回答这个问题前&#xff0c;我们先考虑一下&#xff1a;为什么光用 Redis 还不够&#xff0c;还需要使用本地缓存&#xff1f; 一般来说&#xff0c;Redis 集群的性能能抗住几十万并发&#xff0c;能够应付大部分情况。但对于一些头部 APP&#x…

Linux 安全加固

Linux 安全加固需要从​​用户权限、系统服务、网络防护、日志审计、文件系统、访问控制​​等多个维度入手&#xff0c;目标是减少攻击面、限制未授权访问、提升系统健壮性。以下是​​详细步骤实操示例​​&#xff0c;覆盖主流 Linux 发行版&#xff08;如 CentOS/Ubuntu&am…

【Docker#2】容器历史发展 | 虚拟化实现方式

一、前言 – 容器技术发展史 容器技术是现今计算技术的重要组成部分&#xff0c;其发展历程可以追溯到很早的计算机系统提供的进程隔离工具。以下是容器技术的发展历程&#xff0c;其中涵盖了从早期的进程隔离技术到现代云计算和云原生的演变&#xff1a; ① Jail 时代 1979 年…

React + Mermaid 图表渲染消失问题剖析及 4 种代码级修复方案

Mermaid 是一个流行的库&#xff0c;它可以将文本图表&#xff08;例如 graph LR; A-->B;&#xff09;转换为 SVG 图表。在静态 HTML 页面中&#xff0c;Mermaid 会查找 <pre class"mermaid"> 代码块&#xff0c;并在页面加载时将它们替换为渲染后的图表。它…

[Element]修改el-pagination背景色

[Element]修改el-pagination背景色 代码 <el-pagination:current-page.sync"queryParams.current":page-size.sync"queryParams.size":page-sizes"[10, 20, 50, 100]"layout"prev, pager, next, jumper, sizes":total"queryP…

Docker 可用镜像列表

Docker 镜像源列表&#xff08;7月15日更新-长期&免费&#xff09;_dockerhub国内镜像源列表-CSDN博客