WEB网站服务器(一)

3 篇文章 0 订阅
2 篇文章 0 订阅

简介–Apache HTTP Server

在Internet 网络环境中,Web服务无疑是最为流行的应用系统。有了Web站点,企业可以充分展示自己的产品,宣传企业形象。Web站点还为企业提供了与客户交流、电子商务交易平台等丰富的网络应用。部署与维护Web服务是运维工程师必须掌握的一个技能。本章将学习著名的Web网站服务——Apache HTTP Server”的安装及httpd服务的基本配置。

本章重点 httpd 服务的基本配置

一. Apache网站服务基础
Apache HTTP Server 是广泛应用的Web应用系统之一,要运用好它,必须先了解它的特点及其编译安装过程。

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

1.2 Apache的起源
1.Apache服务器是针对之前出现的若干个Web服务器程序进行整合、完善后形成的软件,其名称来源于‘APatchy Server”,意思是“基于原有Web服务程序的代码进行修改(补丁)后形成的服务器程序”。
2.1995年,Apache 服务程序的1.0版本发布,之后一直由“Apache Group”负责该项目的管理和维护:直到1999年,在"Apache Group”的基础上成立了Apache 软件基金会(Apache Software Foundation,ASF)。
3.目前,Apache项目一直由ASF负责管理和维护。ASF是非营利性质的组织,最初只负责“Apache Web”服务器项目的管理,随着Web应用需求的不断扩大,ASF逐渐增加了许多与Web技术相关的开源软件项目。
4.因此,Apache现在不仅代表着Web服务器,而且更广泛地代表着ASF管理的众多开源软件项目。ASF的官方网站是http://www.apache.org/。“Apache HTTP Server”是ASF旗下著名的软件项目之一,其正式名称是“httpd”,也就是历史上的Apache网站服务器。在本章后续内容中,若未做特殊说明,使用“Apache”或者“httpd”,均指的是"Apache HTTP Server"。

3.Apache的主要特点

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

1.开放源代码:这是Apache服务器的重要特性之一,也是其他特性的基础。Apache 服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使用,这充分体现了开源软件的精神。

2.跨平台应用:这个特性得益于Apache的源代码开放。Apache服务器可以运行在绝大多数软硬件平台上,所有UNIX操作系统都可以运行Apache服务器,Apache服务器甚至可以良好地运行在大多数Windows系统平台中.Apache服务器的跨平台特性使其具有被广泛应用的条件。

3.支持各种Web编程语言:Apache 服务器可支持的网页编程语言包括Perl、PHP.Python,Java.等,甚至微软的ASP技术也可以在Apache服务器中使用。支持各种常用的Web编程语言使Apache具有更广泛的应用领域。

4.模块化设计:Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能地通过标准的模块实现专有的功能,这为Apache服务器带来了良好的扩展性。其他软件开发商可以编写标准的模块程序,从而添加Apache本身并不具有的其他功能。

5.运行非常稳定:Apache服务器可用于构建具有大负载访问量的Web站点,很多知名的企业网站都使用Apache作为Web服务软件。良好的安全性;Apache服务器具有相对较好的安全性,这是开源软件共同具有的特性。并且,Apache的维护团队会及时对已发现的漏洞提供修补程序,为Apache的所有使用者提供尽可能安全的服务器程序。

4.Apache的主要版本

Apache 服务器目前包括1.X和2.X两个版本,并且对其分别进行维护。两个版本具有一定的差异,也具有各自的特性。

1.X系列的最高版本是1.3,该版本继承了Apache服务器1.0版本以来的优秀特性和配置管理风格,具有非常好的兼容性、稳定性。

从2.0版开始,Apache服务器加入了许多新的功能,使用的配置语法和管理风格也有所改变。对于新构建的网站服务器,使用2.X版本是一个不错的选择。

一.安装httpd服务器

在配置Apache网站服务之前,需要正确安装好httpd服务器软件。htpd服务器的安装可以选用RPM安装、源码编译安装这两种方式。前者相对比较简单、快速,但是在功能上存在一定的局限性.在实际的生产环境中,使用源码编译安装的方式要更加普遍。

二.使用源代码安装Apache

本章使用源代码安装的方式安装Apache服务

1.首先,在使用源代码安装的前提下,需要把Linux的挂载光盘改为Linux.iso,然后挂载解压,如图:
在这里插入图片描述

2.挂载目录

[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos02 ~]# mount /dev/cdrom /mnt/
[root@centos02 ~]# df -TH

在这里插入图片描述
3.使用源代码安装软件的过程无非就是:

1)解压源代码
2)配置源代码(支持动态模块扩展,地址重写,多字符集)
3)编译源代码
4)安装源代码
5)使用源代码

下面我们安装上述的例子来配置

解压源代码:

[root@centos02 ~]# tar zxvf /mnt/httpd-2.2.17.tar.gz -C /usr/src/

配置源代码:
首先切换到解压路径:/usr/src/httpd-2.2.17/ 然后开始配置

[root@centos02 ~]# cd /usr/src/httpd-2.2.17/
[root@centos02 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-rewrite --enable-charset-list 

这里给大家说一下
./configure --prefix=/usr/local/httpd/ --enable-so --enabled-cgi --enable-rewrite --enalbe-chareset-lite的意思

–prefix:指定将httpd服务程序安装到哪个目录下,如/usr/local/htpd。

–enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

–enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

–enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

–enable-cgi;启用CGI脚本程序支持,便于扩展网站的应用访问能力。

编译源代码:
使用make进行源代码编译,如图:

[root@centos02 httpd-2.2.17]# make && make install

Apache的主配置文件路径:

/usr/local/httpd/conf/httpd.conf

日志文件路径:

/usr/local/httpd/logs/

默认网站存储数据的根目录路径:

/usr/local/httpd/htdocs/

三.优化Apache管理命令

通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。这样,再执行相关命令时就不用输入冗长的路径了。例如,当执行“htupd-v”命令(用于查看程序版本)时,即相当于执行“/usr/local/httpd/bin/httpd-v”命令。

[root@centos02 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

四.生成服务控制文件并修改

使用chkconfig 添加系统服务若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。例如,可将apachectl 脚本复制为/etc/init.d/htupd.并在文件开头添加chkconfig识别配置,然后将其添加为标准的Linux系统服务。

1、生成服务控制文件

[root@centos02 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@centos02 ~]# chmod +x /etc/init.d/httpd 

2、修改服务控制文件

[root@centos02 ~]# vim /etc/init.d/httpd
#!/bin/sh
#chkconfig:35 21 80
#description:Apache Server

五、设置为系统服务并且设置为开机自启
1.设置为系统服务

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

2.设置为开机自启

[root@centos02 ~]# chkconfig --level 35 httpd on

六、启动服务并且设置为开机自动

[root@centos02 ~]# systemctl start httpd
[root@centos02 ~]# systemctl enable httpd

1.监听端口

[root@centos02 ~]# netstat -anptu | grep 80

2.访问http://192.168.100.20
在这里插入图片描述
3.查看访问日志

[root@centos02 ~]# tail -f /usr/local/httpd/logs/access_log 

在这里插入图片描述
七、实验案例
在这里插入图片描述
需求描述

1.编译安装htpd服务器,要求支持动态模块扩展、地址重写、多字符集。
2.网站名称设置为www.bdqn.com,默认首页设置为index.html和index.php。
3.将/usr/share/doc/HTML/zh-CN/目录下的index.html复制到网站根目录下并改名为redhat。
4.在浏览器中分别访问http://www.bdqn.com/redhat与http://www.bdqn.com/,查看不同的测试页面。

在这里我们简单搭建一下DNS
1.配置主DNS修改主配置文件

[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# yum -y install bind bind-utils bind-chroot
[root@centos01 ~]# systemctl enable named
[root@centos01 ~]# cp /etc/named.conf /etc/named.conf.bak
[root@centos01 ~]# echo "" > /etc/named.conf
[root@centos01 ~]# vim /etc/named.conf

在这里插入图片描述
2.检查主配置文件是否错误

named-checkconf /etc/named.conf

3.创建正向解析文件

vim /var/named/bdqn.com.zone

在这里插入图片描述
4.配置两台主机的网卡设置

[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
DNS1=192.168.100.10
[root@centos01 ~]# systemctl restart network
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
DNS1=192.168.100.10
[root@centos02 ~]# systemctl restart network
[root@centos01 ~]# systemctl start named
[root@centos01 ~]# systemctl enable named

5.使用第二台主机测试一下

[root@centos02 ~]# nslookup www.bdqn.com
[root@centos02 ~]# nslookup centos01.bdqn.com

在这里插入图片描述
现在开始我们的实验

1.编译安装htpd服务器,要求支持动态模块扩展、地址重写、多字符集。在配置的过程已经完成.

[root@centos02 ~]# cd /usr/src/httpd-2.2.17/
[root@centos02 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-rewrite --enable-charset-list

2.网站名称设置为www.bdqn.com,默认首页设置为index.html和index.php。
2.1.网站名称设置为www.bdqn.com

访问http://www.bdqn.com/
在这里插入图片描述

2.2.默认首页设置为index.html和index.php

1)在默认指定网站文件创建一个index.php

[root@centos02 ~]# cd /usr/local/httpd/htdocs/
[root@centos02 htdocs]# vim index.html
<html><body><h1>JiaoXinYuan</h1></body></html>
[root@centos02 htdocs]# touch index.php
[root@centos02 htdocs]# vim index.php
JiaoXinYuan.PHP 

2)修改主配置文件

[root@centos02 ~]# vim /usr/local/httpd/conf/httpd.conf
166     DirectoryIndex index.html index.php

3)重启服务

[root@centos02 ~]# systemctl restart httpd

验证:

1.查看index.html

http://www.bdqn.com/index.html
在这里插入图片描述

2.查看index.php

http://www.bdqn.com/index.php
在这里插入图片描述

3.将/usr/share/doc/HTML/zh-CN/目录下的index.html复制到网站根目录下并改名为redhat。因为这里我发现并没有这个文件,索性我们在网站根目录创建一个redhat并且写入数据redhat

[root@centos02 ~]# cd /usr/local/httpd/htdocs/
[root@centos02 htdocs]# touch redhat
[root@centos02 htdocs]# echo "Redhat" > redhat 
[root@centos02 htdocs]# ls

如图:
在这里插入图片描述
4.在浏览器中分别访问http://www.bdqn.com/redhat与http://www.bdqn.com/,查看不同的测试页面。

访问:http://www.bdqn.com/redhat
在这里插入图片描述

访问:http://www.bdqn.com/
在这里插入图片描述

故事很短,道理很长,学无止境,不忘初心,砥砺前行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值