Linux命令学习—Apache 服务器(上)

1.1、http 服务原理

http 超文本传送协议 80 端口
https 安全的超文本传输协议 443 端口
基于 C/S(客户端/服务端)模型

协议流程:

连接:客户端与服务端建立连接
请求:客户端向服务端发送请求
应答:服务端响应,将结果传给客户端
关闭:执行结束后关闭

1.2、Apache 服务器介绍

        Apache 是常见的支持 HTTP 协议的 Web 服务器之一,也是使用最广泛的 Web 服务器。截止到今年 1 月, 世界上大约有超过 500 万台 Internet 服务器使用的是 Apache Server。

        Apache Server 的主要特点是稳定性高、速度快、功能多。通过第三方的评测,Apache Server 比大多数 的 Web 服务器都快。

        Apache 服务器既是一种软件,又是一个工程。它是由千千万万的服务器代码和文档开发者共同努力的 结果。在 1995 年 4 月,公开发行了第一套 Apache Server,版本号是 0.6.2。Apache Server 的名字来源于 “A PatCHy Server”。

1.2.1、Apache——A Patchy Server

特点:

支持最新的 HTTP1.1 协议。

支持 PHP、CGI、Java Servlets 和 FastCGI。

支持安全 Socket 层。 集成了 Perl 脚本编程语言。

支持 SSI 和虚拟主机。

实现了动态共享对象,允许在运行时动态装载功能模块。

具有安全、有效和易于扩展等特征。

Apache 的主要特点:

支持进程控制:在需要前自动复制进程,进程数量自动使用需求

支持动态加载模块:不需重编译就可扩展其用途

支持虚拟主机:允许使用一台 web 服务器提供多个 web 站点的共享

1.2.2、APACHE 相关文件

配置文件:/etc/httpd/conf/httpd.conf
服务器的根目录:/etc/httpd
根文档目录:/var/www/html
访问日至文件:/var/log/httpd/access_log
错误日至文件:/var/log/httpd/error_log
运行 Apache 的用户:apache
运行 Apache 的组:apache
端口:80
模块存放路径:/usr/lib/httpd/modules

1.2.3、文件系统容器和网络空间容器

文件系统容器

       和是针对文件系统的指令。段中的指令作用于指定的文件系统目录及其所 有子目录,.htaccess 文件可以达到同样的效果。

网络空间容器

<Loaction>是针对网络空间的指令。

<Loaction>指令无须文件系统的支持 。

注释:对比动态站点和静态站点页面来讲解

1.2.4、Apache 的进程和服务

apache 的进程---httpd
apache 的启动 service httpd start
apache 的停止 service httpd stop
apache 的重新启动 service httpd restart

1.3、创建个人主页

1.3.1、主配置文件介绍

各字段介绍:

ServerRoot:设定 Apache 安装的绝对路径
TimeOut:设定服务器接收至完成的最长等待时间
KeepAlive:设定服务器是否开启连续请求功能
MaxKeepAliveRequests:设定服务器所能接受的最大连续请求量
KeepAliveTimeout:使用者 ‘连续’ 请求的等待时间上限

一般主要配置字段

1、AccessFileName

默认值:AccessFileName .htaccess

此命令是针对目录的访问控制文件的名称;

2、BindAddress

默认值:BindAddress *

设置服务器监听的 IP 地址;

3、DefaultType

默认值:DefaultType text/html

服务器不知道文件类型时,用缺省值通知客户端;

4、DocumentRoot

默认值:DocumentRoot “/var/www/html/”

设置 Apache 提供文件服务的目录;

5、ErrorDocument

设置当有问题发生时,Apache 所做的反应;

6、<IfModule>

使用不包含在 Apache 安装中的模块的命令

7、Include

包含其它的配置文件

8、Listen

默认值:所有能够连接到服务器的 IP 地址

指定如何响应除去 Port 指定的端口地址外的地址请求;

9、Options

控制某个特定目录所能使用的服务器功能;

其值有:

           None:表示只能浏览,

   FollowSymLinks:允许页面连接到别处, 
  ExecCGI:允许执行 CGI,
    MultiViews:允许看动画或是听音乐之类的操作, 
  Indexes:允许服务器返回目录的格式化列表, 
  Includes:允许使用 SSI。这些设置可以复选。 
  All:则可以做任何事,但不包括 MultiViews。 
  AllowOverride:加 None 参数表示任何人都可以浏览该目录下的文件。 
   另外的参数有:FileInfo、AuthConfig、Limit。 

10、Port

默认值:Port 80

设置服务器监听的网络端口;

11、ServerAdmin

设定管理员的电子邮件地址;

12、ServerName

设定服务器的主机名称;

13、ServerRoot

默认值:ServerRoot /etc/httpd/

设定服务器的根目录;

14、User && Group

指定服务器用来回答请求的用户 ID 和组 ID;

1.3.2、编辑主配置文件

vi /etc/http/conf/httpd.conf
第(354 行)
UserDir Disable 改成#UserDir Disable
(361 行)启动个人主目录名称,去掉#
UserDir public_html #配置个人主目录
(369-380 行)启动个人用户 Web 站点的访问权限,去掉#
<Directory /home/*/public_html>
 AllowOverride FileInfo AuthConfig Limit
 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
 <Limit GET POST OPTIONS>
 Order allow,deny
 Allow from all
 </Limit>
 <LimitExcept GET POST OPTIONS>
 Order deny,allow
 Deny from all
 </LimitExcept>
</Directory>

1.3.3、启动或重启 Apache 服务

service httpd start(restart)

1.3.4、创建自己的个人主页

1、添加用户

useradd user

2、切换用户,并进入用户主目录

su - user

3、创建文档目录,建立测试页,添加执行权限

mkdir public_html 创建文档目录,
vi public_html/index.html 建立测试页,
cd /home
chmod 711 user 添加执行权限

1.3.5、使用浏览器测试

在浏览器中 http://域名或者 IP 地址/~用户名

example:
        http://www.baidu.com/~user

1.4、发布默认站点下目录的内容

1.4.1、进入默认根文档目录并新建目录

cd /var/www/html
mkdir 目录

1.4.2、在新建的目录下生成测试文件和测试目录

touch 文件名
mkdir 目录

1.4.3、编辑主配置文件

vi /etc/httpd/conf/httpd.conf
使用文件系统容器生成文件指定目录位置
<Directory /var/www/html/redhat> 
Options Indexes
</Directory>

1.4.4、重新启动服务器并测试

service httpd restart
http://www.baidu.com/redhat 

1.5、配置目录访问控制

1.5.1、访问控制指令

order 顺序,设定拒绝和允许的先后顺序
deny 拒绝
allow 允许
example:
order deny,allow 拒绝所有的访问,除去明确允许的
“拒绝优先,即默认拒绝”
order allow,deny 允许所有的访问,除去明确拒绝的
“允许优先,即默认允许”
deny from 拒绝的范围
可以是 IP 地址,如 192.168.10.x,或者 192.168.10 或者 192.168.1.0/255.255.255.0 或者
192.168.10.0/24
(针对无类的 IP 地址可以加子网掩码)可以是域名,如 aaa.bbb ;All 代表所有的
allow from 允许的范围
可以是 IP 地址,如 192.168.10.x,或者 192.168.10 或者 192.168.1.0/255.255.255.0 或者
192.168.10.0/24
可以是域名,如 aaa.bbb ;All 代表所有的

1.5.2、对站点进行访问控制设置

编辑主配置文件

拒绝优先

<Directory /var/www/html/redhat>
 Options Indexes
Order deny,allow
Deny from all
Allow from 200.200.200.200 只允许 200.200.200.200
</Directory>
允许优先
<Directory /var/www/html/redhat>
 Options Indexes
Order allow,deny
Allow from all
Deny from 200.200.200.200 只拒绝 200.200.200.200
</Directory>

重启服务器测试

1.6、配置认证指令

AuthName 认证名字
AuthType 认证类型,有两种
 Basic,基本认证类型,所有浏览器均支持
 Digest,摘要认证类型,部分浏览器不支持
AuthUserFile 认证用户文件,存放认证用户的列表文件
Require valid-user 授权给通过认证的所有用户
Require user 用户名 授权给通过认证的指定用户

1.6.1、在主配置文件中添加授权认证的指令

<Directory /var/www/html/redhat>
 Options Indexes
AuthName “rz” 认证名称为 rz
AuthType Basic 认证类型为基本认证类型
AuthUserFile file1 指定认证用户文件
Require valid-user 授权给通过认证的所有用户
</Directory>

1.6.2、生成认证授权文件,并添加用户

#htpasswd -c /etc/httpd/认证文件 用户名

1.6.3、更改认证授权文件的属主和属组为 apache

#chown apache.apache /etc/httpd/认证文件

1.6.4、重新启动 apache 服务

#service httpd restart

1.6.5、访问测试

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ | Leetcode C++题解之第35题搜索插入位置

题目&#xff1a; 题解&#xff1a; class Solution { public:int searchInsert(vector<int>& nums, int target) {int n nums.size();int left 0, right n - 1, ans n;while (left < right) {int mid ((right - left) >> 1) left;if (target < n…

单页面首屏优化,打包后大小减少64M,加载速度快了13.6秒

需求背景 从第三方采购的vue2 ElementUI实现的云管平台&#xff0c;乙方说2011年左右就开始有这个项目了&#xff08;那时候有Vue了吗&#xff0c;思考.jpg&#xff09;。十几年的项目&#xff0c;我何德何能可以担此责任。里面的代码经过多人多年迭代可以用惨不忍睹来形容&a…

面试题:Java中int符号数字的位运算与操作 + 原码、反码、补码之间如何进行转换

题目来源 阿里-淘天-技术1面 问题 -1和4做位运算与操作&#xff0c;结果是多少&#xff1f; 答案 正确答案 4 通过Java代码验证如下&#xff1a; 我的回答 -5&#xff0c;但是-5是错误的答案。 面试的时候&#xff0c;面试官没有告诉我对错。 为什么&#xff1f; 到底…

[生活][杂项] 上班党的注意事项

前言 目前是上班已经接近两年了&#xff0c;目前的状态是&#xff0c;一个人租了一个单间在上班。对于这种情况有以下几点需要注意。 钥匙问题&#xff0c;一定不要陷入钥匙丢失的情况&#xff01;一定不要陷入钥匙丢失的情况&#xff01;一定不要陷入钥匙丢失的情况&#xff…

CSS:filter(滤镜)属性

用途 可以用于img标签&#xff0c;div标签等 图像&#xff0c;背景&#xff0c;边框的调整 常用属性 1. 灰度 grayscale()&#xff0c;默认是0&#xff0c;100%就是黑白 2. blux 给图像设置高斯模糊的程度&#xff0c;radius值设定高斯模糊的程序&#xff0c;表示像素点…

2024年Q1季度冰箱行业线上市场销售数据分析

Q1季度冰箱线上市场表现不如预期。 根据鲸参谋数据显示&#xff0c;2024年1月至3月线上电商平台&#xff08;京东天猫淘宝&#xff09;冰箱累计销量约410万件&#xff0c;环比下降11%&#xff0c;同比下降21%&#xff1b;累计销售额约98亿元&#xff0c;环比下降31%&#xff0…

python爬虫(Selenium案列)第二十四

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

详细分析Python的继承和多态(附Demo)

目录 前言1. 继承2. 多态 前言 入行多年&#xff0c;对于知识点还会混淆&#xff0c;此处主要做一个详细区分 继承&#xff08;Inheritance&#xff09;: 面向对象编程中的一个重要概念&#xff0c;允许一个类&#xff08;称为子类或派生类&#xff09;继承另一个类&#xff…

工作流JBPM操作API启动实例查询任务

文章目录 8.5 启动实例8.5.1 按照key启动(不加参数)8.5.2 按照key启动(加入参数)8.5.3 启动流程实例的说明 8.6 查询任务8.6.1 查询所有未办理任务8.6.2 查询个人未办理任务8.6.3 查询个人的待办组任务 8.5 启动实例 8.5.1 按照key启动(不加参数) Test // 启动 -- 简单的启…

2024华中杯B题完整思路代码论文解析

2024华中杯B题思路论文汇总 https://www.yuque.com/u42168770/qv6z0d/xpkf6ax8udqq9lt2?singleDoc# 本文针对电子地图服务商利用车辆轨迹数据估计城市路口信号灯周期的问题,提出了一系列数学模型和算法。通过分析车辆行驶轨迹与信号灯的关联性,在不同的约束条件下,实现了对路…

谷歌量化白皮书—PTQ原理

本篇笔记摘抄的原文链接 量化方法 量化粒度 量化模拟 激活层的量化 量化硬件原理 量化范围的设置方法 基于BN的激活层量化范围设置 普通卷积 VS 深度可分离卷积 跨层均衡化 ReLU6比ReLU有什么优势 吸收高偏差、偏差校正、自适应取整 标准PTQ流程 量化模型精度的诊断和性能…

综合大实验

题目&#xff1a; 1、R4为ISP&#xff0c;其上只配置IP地址&#xff1b;R4与其他所直连设备间均使用公有IP&#xff1b; 2、R3-R5、R6、R7为MGRE环境&#xff0c;R3为中心站点&#xff1b; 3、整个OSPF环境IP基于172.16.0.0/16划分&#xff1b;除了R12有两个环回&#xff0c;其…

LeetCode in Python 1338. Reduce Array Size to The Half (数组大小减半)

数组大小减半思路简单&#xff0c;主要是熟悉python中collections.Counter的用法&#xff0c;采用贪心策略即可。 示例&#xff1a; 图1 数组大小减半输入输出示例 代码&#xff1a; class Solution:def minSetSize(self, arr):count Counter(arr)n, ans 0, 0for i, valu…

【ESP32 手机配网教程】

【ESP32 手机配网教程】 1. 前言2. 先决条件2.1 环境配置2.2 所需零件3.3 硬件连接步骤 3. Web热点手动配网3.1. 准备工作3.2. 编译上传程序3.3. 进行手动配网 4. BLE无线配网4.1. 准备工作**4.2. 编译上传程序4.3. 使用手机APP进行无线配网 5. 总结 1. 前言 欢迎使用ESP32进行…

JVM虚拟机(十一)CPU飙高的排查方案与思路

目录 一、排查方案与思路二、总结 一、排查方案与思路 1.一般我们查看 CPU 的使用情况&#xff0c;可以使用 TOP 命令&#xff1a; top执行结果如下所示&#xff0c;这里就可以按照 CPU 使用率进行排序。 2.通过 top 命令查看后&#xff0c;可以查看是哪一个 Java 进程占用 C…

JS中的变量和数据类型及用户输入详解

源码 variate.html<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </he…

详细分析Mysql常用函数(附Demo)

目录 前言1. 聚合函数2. 字符串函数3. 日期函数4. 条件函数5. 数值函数6. 类型转换函数 前言 由于实战中经常运用&#xff0c;索性来一个总结文 创建一个名为 employees 的表&#xff0c;包含以下字段&#xff1a; employee_id&#xff1a;员工ID&#xff0c;整数类型 first…

Redis几种常见的应用方式

1.登录认证 redis最常见的应用就是&#xff0c;登录认证把。再首次登录返回给前端token&#xff0c;把用户名和登录状态缓存到redis一段时间&#xff0c;每次其他请求进来过滤器那这token解析出来的用户名或其他关键的key值&#xff0c;再redis里面查询缓存&#xff0c;有则直…

驱动云创建保存自己的环境

驱动云创建保存自己的环境 制作镜像方法一方法二报错 上一篇link介绍了如何在驱动云上部署llama2以及驱动云在训练大模型的方便之处。也说到了可以直接使用驱动云现有的环境&#xff0c;免得自己配置环境。 但是有的时候免不了自己想要安装一些包。 驱动云的环境是这样的&…

华为手机p70即将上市,国内手机市场或迎来新局面?

4月15日&#xff0c;华为官宣手机品牌全新升级&#xff0c;p系列品牌升级为Pura。华为P70系列手机预计将于2024年第一季度末发布&#xff0c;而网友也纷纷表示期待p70在拍照、性能上的全新突破。 网友们对华为P70系列的热情高涨&#xff0c;也印证了国内高端手机市场的潜力巨大…