Web基础与HTTP协议

目录

一、Apache简介

二、安装httpd服务器


一、Apache简介

       Apache HTTP Server 是开源软件项目的杰出代表,基于标准的HTTP 网络协议提供网页浏览服务,在Web 服务器领域中长期保持着超过半数的份额。Apache 服务器可以运行在Linux、UNX、Windows等多种操作系统平台中。

Apache的主要特点

        Apache 服务器在功能、性能和安全性等方面的表现都是比较突出的,可以较好地满足 Web 服务器用户的应用需求。其主要特点包括以下几个方面。

  • 开放源代码:这是 Apache 服务器的重要特性之一,也是其他特性的基础。Apache 服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使用,这充分体现了开源软件的精神。
  • 跨平台应用:这个特性得益于Apache 的源代码开放Apache 服务器可以运行在绝大多数软硬件平台上,所有UNIX 操作系统都可以运行 Apache 服务器,Apache 服务器甚至可以良好地运行在大多数Windows 系统平台中Apache 服务器的跨平台特性使其具有被广泛应用的条件。
  • 支持各种 Web 编程语言:Apache 服务器可支持的网页编程语言包括Perl,PHPPython,Java等,甚至微软的ASP 技术也可以在 Apache 服务器中使用,支持各种常用的 Web 编程语言使Apache 具有更广泛的应用领域。
  • 模块化设计:Apache 并没有将所有的功能集中在单一的服务程序内部,而是尽可能地通过标准的模块实现专有的功能,这为 Apache 服务器带来了良好的扩展性,其他软件开发商可以编写标准的模块程序,从而添加 Apache 本身并不具有的其他功能。
  • 运行非常稳定:Apache 服务器可用于构建具有大负载访问量的Web 站点,很多知名的企业网站都使用Apache作为 Web 服务软件。
  • 良好的安全性:Apache 服务器具有相对较好的安全性,这是开源软件共同具有的特性。并且,Apache的维护团队会及时对已发现的漏洞提供修补程序,为Apache的所有使用者提供尽可能安全的服务器程序。

二、安装httpd服务器

1. 安装httpd服务器的准备工作。

        (1)查询有没有安装。

[root@rhel8_70 ~]# rpm -q httpd
未安装软件包 httpd 

        (2)安装下面的内容。

[root@rhel8_70 ~]# yum -y install apr
[root@rhel8_70 ~]# yum -y install apr-devel
[root@rhel8_70 ~]# yum -y install cyrus-sasl-devel
[root@rhel8_70 ~]# yum -y install expat-devel
[root@rhel8_70 ~]# yum -y install libdb-devel
[root@rhel8_70 ~]# yum -y install openldap-devel
[root@rhel8_70 ~]# yum -y install apr-util
[root@rhel8_70 ~]# yum -y install apr-util-devel
[root@rhel8_70 ~]# yum -y install pcre
[root@rhel8_70 ~]# yum -y install pcre-devel

2. 源码编译及安装,httpd软件包在网上下。

        (1)解包

[root@rhel8_70 ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
[root@rhel8_70 ~]# cd /usr/src/httpd-2.4.25/

        (2)配置

[root@rhel8_70 httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

       上述配置命令中,各选项的含义如下。

  • --prefix:指定将httpd 服务程序安装到哪个目录下,如/usr/local/httpd。
  • --enableso:启用动态加载模块支持,使httpd 具备进一步扩展功能的能力。
  • --eneble-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
  • --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
  • --eneble-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

(3)编译安装

[root@rhel8_70 httpd-2.4.25]# make
[root@rhel8_70 httpd-2.4.25]# make install
[root@rhel8_70 httpd-2.4.25]# ls /usr/local/httpd/            确认安装结果
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

在安装后的/usr/local/httpd 目录下,主要子目录的用途如下。

  • /usr/local/httpd/bin: 存放httpd 服务的各种执行程序文件,包括主程序 httpd、服务控制工具apachectl等 。
  • /usr/local/httpd/cgi-bin:存放各种 CGI 程序文件。
  • /usr/local/httpd/logs:存放 httpd 服务的日志文件。
  • /usr/local/httpd/conf:存放 httpd 服务的各种配置文件,包括主配置文件 httpd.conf,增强配置子目录extra 等。
  • /usr/local/httpd/htdocs:存放网页文档,包括默认首页文件 index.html 等。
  • /usr/local/httpd/modules:存放httpd 服务的各种模块文件。

3.优化执行路径。

[root@rhel8_70 httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@rhel8_70 httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
[root@rhel8_70 httpd-2.4.25]# httpd -v                执行httpd -v命令(用于查看程序版本)

4.添加httpd系统服务。

        (1)使用chkconfig添加系统服务

[root@rhel8_70 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@rhel8_70 ~]# vim /etc/init.d/httpd             添加以下两行内容
# chkconfig: 35 85 21
# description: startip script for theapache http server                描述

        (2)将httpd添加为系统服务。

[root@rhel8_70 ~]# chkconfig --add httpd 

        (3)建立[service].service配置文件

[root@rhel8_70 ~]# vim /lib/systemd/system/httpd.service            添加以下内容

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=graphical.target

        (4)设置服务开机启动

[root@rhel8_70 ~]# systemctl enable httpd.service
[root@rhel8_70 ~]# systemctl is-enabled httpd.service 
enabled

5.配置并启动httpd服务。

        (1)修改配置

[root@rhel8_70 ~]# vim /usr/local/httpd/conf/httpd.conf

……//省略部分内容
ServerName www.bdqn.com
……//省略部分内容

        (2)启动服务

[root@rhel8_70 ~]# apachectl -t                    检查语法有没有错误
Syntax OK
[root@rhel8_70 ~]# systemctl start httpd.service             启动httpd服务
[root@rhel8_70 ~]# netstat -anpt | grep httpd                查看TCP协议端口号

6.部署网页文档,httpd服务器默认提供了一个名为 index.html 的测试。

[root@rhel8_70 ~]# cat /usr/local/httpd/htdocs/index.html 
<html><body><h1>It works!</h1></body></html>
  • 29
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值