超详细!!!Apache 简介及其安装

Apache 简介

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

Apache 服务器是针对之前出现的若干个 Web 服务器程序进行整合、完善后形成的软

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

Apache 的主要特点

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 服务软件。

6、良好的安全性:Apache 服务器具有相对较好的安全性,这是开源软件共同具
有的特性。并且,Apache 的维护团队会及时对已发现的漏洞提供修补程序,
为 Apache 的所有使用者提供尽可能安全的服务器程序。

搭建YUM仓库

####搭建YUM仓库####

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总用量 32
-rw-r--r--. 1 root root 1664 11月 23 21:16 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 11月 23 21:16 CentOS-CR.repo
-rw-r--r--. 1 root root  649 11月 23 21:16 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 11月 23 21:16 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 11月 23 21:16 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 11月 23 21:16 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 11月 23 21:16 CentOS-Vault.repo

[root@localhost yum.repos.d]# mkdir backup       //创建一个备份目录
[root@localhost yum.repos.d]# mv C* backup/     //把源移到备份目录里
[root@localhost yum.repos.d]# cp backup/CentOS-Base.repo local.repo  //然后把CentOS-Base.repo源拷到local.repo 里面
[root@localhost yum.repos.d]# vi local.repo 
[centos]
name=centos
baseurl=file:///mnt      //文件来自于mnt目录
gpgcheck=0            
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[root@localhost yum.repos.d]# yum clean all //清除缓存
[root@localhost yum.repos.d]# yum makecache //就是把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存
以后用install时就在缓存中搜索,提高了速度。

编译安装HTTP服务

安装Apache所需软件
apr-1.6.2.tar.gz 软件包的作用让apache支持正则表达式
apr-util-1.6.0.tar.gz 实现apache跨平台的软件包
httpd-2.4.29.tar.gz

可以通过xftp软件将3个包传到opt目录下,如下图所示
在这里插入图片描述

[root@localhost ~]# cd /opt
[root@localhost opt]# ll
总用量 8020
-rw-r--r--  1 root root 1071074 8月   4 17:33 apr-1.6.2.tar.gz
-rw-r--r--  1 root root  565507 8月   4 17:33 apr-util-1.6.0.tar.gz
-rw-r--r--  1 root root 6567926 8月   4 17:33 httpd-2.4.29.tar.bz2
drwxr-xr-x. 2 root root       6 3月  26 2015 rh

[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2

[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util 
如果让apache支持跨平台进行使用,需要将俩个软件包挪到apache目录下,让其有这个功能

[root@localhost opt]# 
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

注释:gcc \
gcc-c++ \   就是一个编译器

make \ 把人编写的配置文件变成二进制文件

expat-devel \
perl
这俩个是开发的语音,意思就是让apache支持多种语音

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 gcc-4.8.5-16.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-16.el7.x86_64 已安装并且是最新版本
软件包 1:make-3.82-23.el7.x86_64 已安装并且是最新版本
软件包 4:perl-5.16.3-292.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 expat-devel.x86_64.0.2.1.0-10.el7_3 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package             架构           版本                      源           大小
================================================================================
正在安装:
 expat-devel         x86_64         2.1.0-10.el7_3            yum          57 k
 pcre-devel          x86_64         8.32-17.el7               yum         480 k

事务概要
================================================================================
安装  2 软件包

总下载量:536 k
安装大小:1.6 M
Downloading packages:
--------------------------------------------------------------------------------
总计                                               1.6 MB/s | 536 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : expat-devel-2.1.0-10.el7_3.x86_64                           1/2 
  正在安装    : pcre-devel-8.32-17.el7.x86_64                               2/2 
  验证中      : pcre-devel-8.32-17.el7.x86_64                               1/2 
  验证中      : expat-devel-2.1.0-10.el7_3.x86_64                           2/2 

  expat-devel.x86_64 0:2.1.0-10.el7_3      pcre-devel.x86_64 0:8.32-17.el7     

完毕!

[root@localhost opt]# cd /opt/httpd-2.4.29/

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

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

###编译及安装### 
make && make install
####优化执行路径####
ln -s /usr/local/httpd/conf/httpd.conf /etc/
注释:这条命令也就是优化路劲,直接在/etc目录下就可以管理,比如现在直接可以vi /etc/httpd.conf
ln -s /usr/local/httpd/bin/* /usr/local/bin/
注释:这条命令就是相对于把apache下面所有命令执行文件,放在/urs/local/bin 的环境变量下,这样任何路径下都可以执行
httpd -v      ###查看下HTTP版本
###建立[service].service 配置文件添加系统给服务####/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,
用于控制由 systemd 管理或监控的 httpd 服务
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking  注释:服务类型,一般start开启这个服务,后天会有一个守护进行去支撑他,让他持续在线工作
PIDFile=/usr/local/httpd/logs/httpd.pid  //   进程文件,里面存放着每次开启或者关闭的进程信息
ExecStart= /usr/local/bin/apachectl $OPTIONS    启动文件
ExecrReload= /bin/kill -HUP $MAINPID  重启
[Install]
WantedBy=multi-user.target          多用户登录模式

[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service ###开机自启http
[root@localhost system]# systemctl is-enabled httpd.service ###检查HTTP单元是否启动

####httpd.conf修改配置文件###
vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80  ###更改下

systemctl restart httpd####重启httpd服务

###用系统的浏览器验证###
netstat -anpt | grep 80 看能不能过滤到80端口或者直接用浏览器直接输入虚拟机的ip看还能否进行访问,如下图所示就是可以正常访问的画面
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值