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 LimitOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec<Limit GET POST OPTIONS>Order allow,denyAllow from all</Limit><LimitExcept GET POST OPTIONS>Order deny,allowDeny 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.mzph.cn/web/323.shtml

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

相关文章

美团财务科技后端一面:如何保证数据一致性?延时双删第二次失败如何解决?

更多大厂面试内容可见 -> http://11come.cn 美团财务科技后端一面&#xff1a;项目内容拷打 美团财务科技后端一面&#xff1a;项目相关面试题&#xff0c;主要包含 Zset、延时双删失败重试、热点数据解决、ThreadLocal 这几个方面相关的内容 由于前几个问题是对个人项目的…

C++ STL 容器 list

目录 1. list 对象2. list 迭代器2.1 实现2.2 迭代器失效 本文测试环境为 gcc 13.1 1. list 对象 std::list 底层是一个双向循环链表 list 对象本身包含一个头节点&#xff0c;通过指针指向元素节点&#xff0c;节点定义如下 头节点 header 和元素节点 node 都继承于基类 no…

历史遗留问题1-Oracle Mysql如何存储数据、索引

在学习到Oracle redo和undo时&#xff0c;涉及到很多存储结构的知识&#xff0c;但是网上的教程都不是很详细&#xff0c;就去复习了一下mysql&#xff0c;感觉是不是开源的问题&#xff0c;Mysql的社区和知识沉淀远高于Oracle&#xff0c; 对于初学者很友好&#xff0c;我想请…

2025考研数学武忠祥强化班视频,百度网盘课程+讲义PDF更新

25考研的小伙伴们现在应该基础都学习的差不多了吧&#xff01; 是时候进入强化阶段的学习啦。 2025考研数学强化班全程网盘&#xff1a;https://pan.baidu.com/s/1Z029fuCLkyyhIRFqd5QKcg 提取码&#xff1a;p3ue 晚上好&#xff0c;聊聊17堂课的看课攻略。 今年的17堂课还…

IP-guard WebServer 权限绕过漏洞复现(QVD-2024-14103)

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

Mac下brew安装php7.4

这里作者挂了梯子&#xff0c;所以很流畅&#xff01; brew的下载&#xff0c;可参考另外一篇博文&#xff5e;Homebrew 安装与卸载 1、将第三方仓库加入brew brew tap shivammathur/php2、安装指定版本的PHP brew install php7.43、替换Mac自带PHP环境并刷新环境变量 -> …

【ACM列表推荐会议 | EI稳定检索】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)

2024年第四届人工智能、自动化与高性能计算国际会议&#xff08;AIAHPC 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于20…

在mac上安装好python开发环境(pyenv、pyenv-virtualenv、docker-desktop、mysql5.7),一文解决环境问题

前言 python各种版本管理器、包管理器实在是太多了&#xff0c;感兴趣的可以看我的另一篇博客&#xff1a;http://t.csdnimg.cn/SRRyC 但是说实话&#xff0c;建议不要看&#xff0c;直接入手本文如下的环境配置就好了。 保证都是比较前沿&#xff0c;运用范围都比较广的&#…

clickhouse ttl不生效

现象&#xff1a; 日志保留31天&#xff0c; 但是发现1年前的数据还有。 表结构&#xff1a; CREATE TABLEads_xxxx_metrics_1m_local (static_time String COMMENT 统计时间,......) ENGINE ReplacingMergeTree (process_time) PARTITION BYtoYYYYMMDD (toDate (static_tim…

【网站项目】新生报到系统小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

局域网MongoDB的数据库访问不了

局域网MongoDB的数据库访问不了 确认bindIp: 0.0.0.0后&#xff0c;仍然是访问不了&#xff0c;查询资料发现是windows自带防火墙的问题 进入到 允许其他应用&#xff0c;选择mongod.exe的位置 这样就好了。

【电路笔记】-数字逻辑门总结

数字逻辑门总结 文章目录 数字逻辑门总结1、概述2、逻辑门真值表3、总结 数字逻辑门有三种基本类型&#xff1a;与门、或门和非门。 1、概述 我们还看到&#xff0c;数字逻辑门具有与其相反或互补的形式&#xff0c;分别为“与非门”、“或非门”和“缓冲器”&#xff0c;并且…

使用idea如何打开python项目

1.查看python路径&#xff0c;winR>cmd>where python,可以找到python.exe文件 2.解决方案&#xff1a; 1.首先找到python安装位置。 &#xff08;如&#xff1a; D:\VS2019\共享组件、工具和SDK\Python37_64 &#xff09; 2.查找pip工具路径。 &#xff08;Python37…

PostCSS概述以及详细使用代码案例

简介&#xff1a; PostCSS是一个使用JavaScript插件来转换样式的工具。它的目标是探索CSS工具的新可能性&#xff0c;特别是在自动化和优化方面。它允许你使用未来的CSS特性&#xff0c;同时优化现有的CSS代码&#xff0c;使其更加高效和兼容。PostCSS本身并不直接对CSS进行操…

ansible进阶-剧本调试方法

目录 1、调试方法 2、实例 2.1 Debug模块 2.2 tags标签 2.3 忽略错误 1、调试方法 具体方法应用场景debug标签执⾏剧本的时候输出剧本的执⾏流程,⼀般配合register⼀起使⽤. 输出facts变量自定义变量tags标签给⼀些模块加上标签,运⾏剧本的时候可以运⾏指定标签的…

OpenHarmony UI动画-rebound

简介 rebound是一个模拟弹簧动力学&#xff0c;用于驱动物理动画的库。 下载安装 ohpm install ohos/reboundOpenHarmony ohpm环境配置等更多内容&#xff0c;请参考如何安装OpenHarmony ohpm 使用说明 import rebound from ohos/rebound;功能一&#xff1a;创建维护弹簧对…

MySQL 锁机制全面解析

目录 1. MySQL的锁类型1.1 全局锁1.2 表锁1.3 行锁1.4 共享锁&#xff08;读锁&#xff09;1.5 排它锁&#xff08;写锁&#xff09;1.6 死锁 2 乐观锁和悲观锁2.1 乐观锁2.2 悲观锁 3 意向锁4 间隙锁5 临键锁6. 事务隔离级别对锁的影响6.1 读未提交&#xff08;Read Uncommitt…

3ds Max2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 3ds Max是一款基于PC系统的强大3D建模、渲染和制作软件&#xff0c;广泛应用于游戏开发、影视后期制作、建筑设计、工业设计等多个领域。其拥有丰富的建模工具&#xff0c;可轻松创建逼真的三维场景和模型&#xff1b;同时&#…

决策树(分类决策树)

分类决策树是一种基于树状结构的监督学习模型&#xff0c;主要用于对数据进行分类任务。它通过一系列规则&#xff08;即树的分支&#xff09;对输入数据进行递归划分&#xff0c;最终达到预测输出类别&#xff08;即树的叶节点&#xff09;的目的。分类决策树以其直观易懂、解…

OpenMesh 极小曲面(局部迭代法)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 我们的目标是想得到一个曲率处处为0的曲面,具体操作如下所述: 二、实现代码 #define _USE_MATH_DEFINES #include