搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
2023面试高手
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
赋能AI原生应用开发:百度智能云千帆AppBuilder正式开放服务
2
React创建项目(保姆级讲解,配置文件详细介绍)_创建react项目
3
WDS部署及自动安装客户端
4
Python开发【模块】:Urllib(二)
5
friewall 常用命令_failwall 命令
6
ThinkPHP下访问www.xxx.com访问成功www.xxx.com/后加上index、admin等报错
7
利用spring boot和mybatis构建接口_spring 和mybatis建立关系依靠哪个接口
8
避坑宝典|win11升级最新预览体验版bug梳理_ae此程序不能在hyper-v下运行
9
【深度学习】Logistic回归算法和向量化编程。全md文档笔记(代码文档已分享)
10
Docker安装JDK1.8版本_docker安装jdk1.8离线
当前位置:
article
> 正文
Web 服务器配置和管理_web端管理
作者:2023面试高手 | 2024-03-01 04:22:48
赞
踩
web端管理
第3 篇 网络服务管理篇
第16 章 Web 服务器配置和管理
Web 服务是目前Internet 上最常见的服务之一,要搭建一个Web 服务器,首先要选择
一套合适的Web 程序。在本章中将会以强大的Apache 为例,介绍相关的安装、配置、维
护和高级功能等方面的知识,演示如何在Linux 操作系统下构建基于Apache 的Web 服
务器。
16.1 Web 服务器简介
万维网又称为Web(World Wide Web,www),是在Internet 上以超文本为基础形成
的信息网。用户通过浏览器可以访问Web 服务器上的信息资源,目前在Linux 操作系统上
最常用的Web 服务器软件是Apache。本节将简单介绍Web 服务器的历史以及工作原理,
并介绍Apache 的特点以及它的功能模块。
16.1.1 Web 服务的历史和工作原理
Internet 上最热门的服务之一就是万维网,它是在因特网上以超文本为基础形成的信息
网。用户通过它可以查阅Internet 上的信息资源,例如,平时上网使用浏览器访问网站信
息就是最常见的应用。
Web 在1989 年起源于欧洲的一个国际核能研究院中,由于随着研究的深入和发展,
研究院里的文件数量越来越多,而且人员流动也很大,要找到相关的最新的资料非常困难。
于是一个科学家就提出了这样一个建议:在服务器上维护一个目录,目录的链接指向每个
人的文件;每个人维护自己的文件,保证别人访问的时候总是最新的文档,这个建议得到
采纳并被不断完善后,最终形成如今Internet 上最常见的WWW 服务。
Web 系统是客户/服务器模式(C/S)的,所以有服务器端和客户端程序两部分。常用
的服务器有Apache、IIS 等,常用的客户端浏览器有如IE、Netscape、Mozilla 等,用户在
浏览器的地址栏中输入统一资源定位地址(URL)来访问Web 页面。
Web 页面是以超文本标记语言(HTML)进行编写,它使得文本不再是传统的书页式
文本,而是可以在浏览过程中从一个页面位置跳转到另一个页面。使用HTML 语言编制的
Web 页面除文本信息外,还可以嵌入声音、图像、视频等多媒体信息。WWW 服务遵循
HTTP 协议,默认的端口为80,Web 客户端与Web 服务器的通信过程如图16.1 所示。
通信的过程分为以下3 步。
第16 章 Web 服务器配置和管理
(1)Web 客户端通过浏览器根据用户输入的URL 地址连接到相应的Web 服务器上。
(2)从Web 服务器上获得指定的Web 文档。
图16.1 Web 工作原理
(3)断开与远程的Web 服务器的连接。
用户每次浏览网站获取一个页面,都会重复上述的连接过程,周而复始。
16.1.2 Apache 简介
Apache 是一种开源的HTTP 服务器软件,可以在包括UNIX、Linux 以及Windows 在
内的大多数主流计算机操作系统中运行,由于其支持多平台和良好的安全性而被广泛使用。
Apache 由Illinois 大学Urbana-Champaign 的国家高级计算程序中心开发,它的名字取自
apatchy server 的读音,即充满补丁的服务器,可见在最初的时候该程序并不是非常完善。
但由于Apache 是开源软件,所以得到了开源社区的支持,不断开发出新的功能特性,
并修补了原来的缺陷。经过多年来不断的完善,如今的Apache 已是最流行的Web 服务器
端软件之一。Apache 拥有以下众多的特性,保证了它可以高效稳定地运行。
? 支持几乎所有的计算机平台。
? 简单有效的配置文件。
? 支持虚拟主机。
? 支持多种方式的HTTP 认证。
? 集成Perl 脚本语言。
? 集成代理服务器模块。
? 支持实时监视服务器状态和定制服务器日志。
? 支持服务器端包含指令(SSI)。
? 支持安全Socket 层(SSL)。
? 提供用户会话过程的跟踪。
? 支持PHP。
? 支持FastCGI。
? 支持Java Servlets。
? 支持通用网关接口。
? 支持第三方软件开发商提供的功能模块。
第3 篇 网络服务管理篇
·386·
16.1.3 Apache 的模块
Apache 采用模块化的设计,模块安装后就可以为Apache 内核增加相应的新功能。默
认情况下Apache 已经安装了部分的模块,用户也通过使用模块配置,自定义Apache 服务
器中需要安装哪些功能,这也是Apache 灵活性的表现。如表16.1 列出了Apache 全部的默
认模块和部分常用的非默认模块。
表16.1 Apache 模块列表
模 块 名 功 能 说 明 是否默认安装
mod_actions 运行基于MIME 类型的CGI 脚本 是
mod_alias 支持虚拟目录和页面重定向 是
mod_asis 发送包含自定义HTTP 头的文件 是
mod_auth_basic 基本验证 是
mod_auth_digest 使用MD5 加密算法的用户验证 否
mod_authn_alias 允许使用第三方验证 否
mod_authn_anon 允许匿名用户访问认证的区域 否
mod_authn_dbd 使用数据库保存用户验证信息 否
mod_authn_dbm 使用DBM 数据文件保存用户验证信息 否
mod_authn_default 处理用户验证失败 是
mod_authn_file 使用文本文件保存用户验证信息 是
mod_authnz_ldap 使用LDAP 目录进行用户验证 否
mod_authz_default 处理组验证失败 是
mod_authz_groupfile 使用plaintext 文件进行组验证 是
mod_authz_host 基于主机的组验证 是
mod_authz_user 用户验证模块 是
mod_autoindex 生成目录索引 是
mod_cache 通向URI 的内容Cache 否
mod_cgi 支持CGI 脚本 是
mod_cgid 使用外部CGI 进程运行CGI 脚本 是
mod_dir 提供用于trailing slash 的目录和索引文件 是
mod_env 调整传输给CGI 脚本和SSI 页面的环境变量 是
mod_example 解释Apache 模块的API 否
mod_filter 过滤信息 是
mod_imagemap imagemap 处理 是
mod_include 解析HTML 文件 是
mod_isapi ISAPI 扩展 是
mod_ldap 使用第三方LDAP 模块进行LDAP 连接和服务 否
mod_log_config 记录发给服务器的访问请求 是
mod_logio 记录每个请求输入、输出的字节数 否
mod_mime 联合被请求文件扩展名和文件行为的内容 是
mod_negotiation 提供内容协商 是
第16 章 Web 服务器配置和管理
·387·
mod_nw_ssl 为NetWare 打开SSL 加密 是
mod_proxy 支持HTTP1.1 协议的代理和网关服务器 否
mod_proxy_ajp mod_proxy 的AJP 支持模块 否
mod_proxy_balancer mod_proxy 的负载均衡模块 否
mod_proxy_ftp mod_proxy 的FTP 支持模块 否
mod_proxy_http mod_proxy 的HTTP 支持模块 否
mod_setenvif 允许设置基于请求的环境变量 是
mod_so 在启动或重启时提高可执行编码和模块的启动 否
续表
模 块 名 功 能 说 明 是否默认安装
mod_ssl 使用SSL 和TLS 的加密 否
mod_status 提供服务器性能运行信息 是
mod_userdir 设置每个用户的网站目录 是
mod_usertrack 记录用户在网站上的活动 否
mod_vhost_alias 提供大量虚拟主机的动态配置 否
关于Apache 模块的自定义安装和模块的使用将在后面的章节中陆续进行讲解。
16.2 Apache 服务器的安装
本节以 2.2.9 版本的 Apache 为例,介绍如何获得并通过源代码安装包在 Red Hat
Enterprise Linux 5.2 上安装Apache 服务器;如何启动关闭Apache 服务;如何检测Apache
服务的状态,以及配置Apache 服务的开机自动运行。
16.2.1 如何获取Apache 软件
Redhat Linux AS 5.2 自带了Apache,版本为2.2.3。用户只要在安装操作系统的时候把
http server 选项选中,Linux 安装程序将会自动完成Apache 的安装工作。如果在安装操作
系统时没有安装Apache,也可以通过安装光盘中的RPM 软件包进行安装,所需的RPM 软
件包如下所示。
httpd-2.2.3-11.el5_1.3.i386.rpm
httpd-manual-2.2.3-11.el5_1.3.i386.rpm 为了能获取最新版本的Apache,可以从Apache 官方网站
www.apache.org
下载该软件
的源代码安装包,包括gz 和bz2 两种压缩方式。截至本书定稿前,最新的Apache 版本为
2.2.9,下载页面如图16.2 所示。
第3 篇 网络服务管理篇
16.2 Apache 官方网站
下载后把httpd-2.2.9.tar.gz 文件保存到/tmp 目录下即可。
16.2.2 安装Apache 服务器
Apache 对系统的软件和硬件环境都有所要求,在安装前需要检查系统环境是否能满足
要求。检查完成后,先解压安装包文件,然后进行源代码的编译和安装。接下来将以Apache
2.2.9 的源代码安装包为例,详细介绍Apache 在Red Hat Enterprise Linux 5.2 上的完整安装
过程,如下所述。
(1)安装Apache 的硬件和软件配置要求。
? 确保磁盘至少有50MB 的空闲空间。
? 确保操作系统已经安装并正确配置了gcc。
(2)把httpd-2.2.9.tar.gz 文件解压,执行如下命令:
tar -xzvf httpd-2.2.9.tar.gz
文件将会被解压到httpd-2.2.9 目录下。
(3)进入httpd-2.2.9 目录,使用configure 命令配置安装参数,configure 命令的格式为:
configure [OPTION]... [VAR=VALUE]...
关于configure 命令的选项和参数说明可以通过下面命令获得。
./configure --help
这里只介绍几个常用的配置参数,如下所示。
? --prefix 参数:默认情况下Apache 会安装在/usr/local/apache2 目录下,该参数用于
自定义Apache 的安装目录。例如,要把Apache 安装到/usr/local/apache 目录下,
可以使用./configure –prefix=/usr/local/apache 配置命令。
第16 章 Web 服务器配置和管理
·389·
? --enable-modules 参数:用于指定除默认模块以外需要额外安装的Apache 模块,不
同的模块之间以空格分隔。关于Apache 常用模块的功能在16.1.3 节中已有详细说
明。例如,要安装 mod_proxy 和 mod_ssl 两个模块,可以使用./configure
--enable-modules="proxy ssl"配置命令。
? --enable-mods-shared 参数:与--enable-modules 参数一样,该参数同样用于指定需
要额外安装的 Apache 模块,参数格式也是一样。所不同的是,--enable-modules
参数指定安装的模块在Apache 运行的时候就会自动载入,而--enable-mods-shared
参数所指定的Apache 模块需要使用LoadModule 指令进行载入。
在这里只采用默认安装,所以直接运行./configure 即可,运行结果如图16.3 所示。
(4)编译并安装Apache,如下所示。
make
make install
运行结果分别如图16.4 和图16.5 所示。
图16.3 配置安装参数
第3 篇 网络服务管理篇
图16.4 编译Apache
图16.5 安装Apache
16.2.3 启动和关闭Apache
安装完成后就可以启动Apache 服务。Apache 的启动关闭都是通过<Apache 安装目录>
/bin 目录下的apachectl 命令进行管理的。启动Apache 服务,如下所示。
./apachectl start
关闭Apache 服务,如下所示。
./apachectl stop
重启Apache 服务,如下所示。
./apachectl restart
第16 章 Web 服务器配置和管理
安装Apache 后,在没有对httpd.conf 配置文件做任何修改之前启动Apache 服务会得
到一些警告信息,如图16.6 所示。
因为httpd.conf 配置文件中的ServerName 参数没有设置,但是这不会影响Apache 的
正常运行,关于httpd.conf 配置文件的修改会在16.3.2 和16.3.3 小节中进行讲解。
除此之外,在正常情况下启动Apache 服务是不会有任何警告或者错误信息输出的,
如果出现如图16.7 所示的错误信息,用户就应该检查一下是否有其他进程占用了80 端口。
图16.6 第一次启动的报警信息 图16.7 错误信息
16.2.4 检测Apache 服务
要检测Apache 服务是否正在运行,可以通过检查Apache 进程状态或者直接通过浏览
器访问Apache 发布的网站页面来确定。
1.检查Apache进程
可以通过以下命令检查Apache 进程的状态。
ps -ef | grep httpd 运行结果如图16.8 所示。Apache 运行后会在操作系统中创建多个httpd 进程,能在操
作系统中查找到httpd 进程,表示Apache 正在运行。
2.检查Apache页面
通过查看进程的方法只能确定Apache 是否正在运行,但要检查Apache 的运行是否正
常,最直接有效的方法就是通过浏览器查看Apache服务器发布的页面。默认安装后,Apache
网站的首页是一个测试页面,用户可以通过它来检查 Apache 是否运行正常,如图 16.9
所示。
第3 篇 网络服务管理篇
图16.8 查看Apache 进程
图16.9 Apache 测试页面
16.2.5 让Apache 自动运行
Red Hat Enterprise Linux 5.2 可以支持程序服务的开机自动运行,如果要配置Apache
服务在服务器启动的时候自动运行,可以编写启动和关闭Apache 服务的脚本,然后进行
相应的配置。具体步骤如下所述。
(1)编写启动和关闭Apache 服务的脚本,脚本文件名为httpd,并存放到/etc/rc.d/init.d
目录下。下面分几个部分对脚本的内容进行说明,用户只需要按顺序把这些代码添加到
httpd 文件中即可。设置Apache 服务与chikconfig 相关的选项,并执行初始化环境变量的
脚本,代码如下所示。
#!/bin/sh // 设置与chkconfig 相关的选项
#chkconfig :345 85 15 //设置启动级别以及启动顺序
#description:some words you like!! //描述信息
# Source function library.
. /etc/rc.d/init.d/functions //执行/etc/rc.d/init.d/functions 脚本
// 调用系统初始化脚本
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions //执行. /etc/init.d/functions 脚本
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions //执行. /etc/rc.d/init.d/functions 脚本
else
exit 0 //如果找不到上述脚本则结束本脚本的运行
fi
设置与启动关闭Apache 服务相关的选项,代码如下所示。
//获取命令输入的参数
ARGV="$@" //设置httpd 命令的路径
HTTPD='/usr/local/apache2/bin/httpd' //如果envvars 文件存在,则执行envvars 文件设置Apache 的环境变量
if test -f /usr/local/apache2/bin/envvars; then
. /usr/local/apache2/bin/envvars //执行/usr/local/apache2/bin/envvars
fi //设置命令行的HTML 格式
LYNX="links -dump" //设置mod_status 模块的状态页面的URL
第16 章 Web 服务器配置和管理
·393·
STATUSURL="
http://localhost:80/server-status
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
【wpsshop博客】
推荐阅读
article
PDD
根据ID取商品详情
API
_
funimg
pddpic
...
以上是一般
PDD
API
应用开发的关键流程,其中通过
PDD
文档中心和
API
测试工具,进行概念了解和接口信息查询很重要。P...
赞
踩
article
SSM
实现
学生
成绩
管理系统
(完整代码)_
ssm
学生
管理系统
...
简介本文基于Spring+SpringMVC+Mybatis
实现
一个简单的
学生
成绩
管理系统
,
实现
三层架构。它在上一Jav...
赞
踩
article
VMWare
各版本
下载
地址
_
vmware
下载
地址
...
VMWare
各版本
下载
地址
VMware Workstation Pro 16VMware Workstation Pr...
赞
踩
article
基于
Python
的
仓库
出入库
管理系统
_
python
仓库
管理系统
...
管理员对入库信息进行编辑、修改以及删除和查看详情等。并且可以查看统计报表,程序效果图如_
python
仓库
管理系统
pyth...
赞
踩
article
git
push
提交
后
GitHub
没有统计我的
Contributions
...
我在家里的电脑上创建了一个仓库,然后在笔记本上录取下来并进行
提交
合并等操作,但是发现笔记本上
提交
的记录并没有被
git
hu...
赞
踩
article
VMware
Windows
Server
虚拟机
安装
详细教程_
vmware
安装
windows
s...
服务器除了Linux外,
Windows
Server
的使用率也很大,这里写一篇
Windows
Server
虚拟机
安装
的...
赞
踩
article
openwrt
设置
定时
重启
(天/
周
/月)
_
openwrt
定时
重启
...
1、进入
openwrt
管理页面,找到“系统-计划任务”,编辑命令行,点击“保存”。 2、“系统-启动项”中找到cron,...
赞
踩
article
【玩转
Linux
操作】
Ubuntu
创建
桌面
快捷方式
_
ubuntu
创建
快捷方式
...
使用图片详细讲解
Ubuntu
软件的
快捷方式
的配置方式_
ubuntu
创建
快捷方式
ubuntu
创建
快捷方式
...
赞
踩
article
微信小
程序
婚庆
摄影平台+后台
管理系统
SSM
-
JAVA
【
数据库
设计、论文、
源码
、开题报告】_
婚庆
小
程序
...
有管理员,策划师,用户三个角色。管理员功能有个人中心,用户管理,策划师管理,
婚庆
策划管理,类型管理,婚纱照管理,定制信息...
赞
踩
article
k8s
的
持久
化
存储
PV
&&
PV
C
_
k8s
更新
pv
...
1.
PV
和
PV
C
的引入Volume 提供了非常好的数据
持久
化方案,不过在可管理性上还有不足。拿前面 AWS EBS 的例...
赞
踩
article
Unix下
文件
备份、
压缩
、解
压缩
详解_
unix
解压
.z
文件
保留原
文件
...
Unix下的备份与
压缩
的命令主要有tar,gzip,unzip等等,以下分别介绍: tar命令: tar可以为
文件
...
赞
踩
article
【
Qt
QAxObject
】
使用
QAxObject
高效任意读写
Excel
表
...
的官网库中是不包含 的操作库,关于对 的操作库可选的有很多,包含基于 系统本身的 、、、、、、。 本文采用基于 ...
赞
踩
article
基于
ssm
的
酒店预定
管理系
统
_基于
ssm
的
酒店
管理系
统
基于
spring
+
spring
mvc ...
基于
ssm
的
酒店
管理系
统
本人初学者 写出来记录一下 大佬请绕道 大家一起交流新
的
改变功能快捷键合理
的
创建标题,有助于目录...
赞
踩
article
miniui
按钮
显示
统计
指定情况
的
次数代替
气泡
_
miniui
统计
...
最近做报表有个需要,页面上
统计
待审核
的
数据
显示
,因为有涉及到权限,部件与在后台一次次根据不同权限来查询数据库,所以直接在...
赞
踩
article
基于
动态
窗口
法
(DWA)的局部
避障
算
法
研究及
MATALB
的实现_
动态
窗口
dwa
避障
算
法
...
基于
动态
窗口
法
(DWA)的局部
避障
算
法
的概念及在Matlab上的应用_
动态
窗口
dwa
避障
算
法
动态
窗口
dwa
避障
算
法
...
赞
踩
article
基于
微信
小
程序
的
校园
约
拍
小
程序
_基于
微信
小
程序
校园
约
拍系统
的
设计与实现...
现代经济快节奏发展以及不断完善升级
的
信息化技术,让传统数据信息
的
管理升级为软件存储,归纳,集中处理数据信息
的
管理方式。本...
赞
踩
article
python
入门实战
:
最简
学生
管理系统
...
python
实战教程
:
如何简单实现一个
学生
管理系统
python
入门实战
:
最简
学生
管理系统
...
赞
踩
article
配置
ChirpStack
_
chirpstack
使用配置...
启动
ChirpStack
(请参考《
ChirpStack
@Windows:一键安装》小窍门1:在 2019 年前叫 lo...
赞
踩
article
Android
开发
之
ListView
选中
某
行
后改变其
背景色
_
listview
选中
行
颜色...
Android
开发
之
ListView
选中
背景色
:一、在
ListView
中手指按下
选中
某一
行
时,更换
选中
那一
行
的
背景色
, ...
赞
踩
article
vba
:
end
属性_
vba
end
...
'1.从录制一个宏开始。操作:(ctrl+向上键、ctrl+向下键、ctrl+向左键、ctrl+向右键)'2.看代码'R...
赞
踩
相关标签
API
学习
java
单元测试
junit
mysql
SSM
springmvc
学生成绩管理系统
linux
windows
python
开发语言
git
github
服务器
ubuntu
运维
数据库
微信小程序
k8s
pv
pvc
压缩、解压缩
unix