安装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 的所有使用者提供尽可能安全的服务器程序。
编译安装HTTP服务
1.1安装Apache所需软件
- apr-1.6.2.tar.gz
- apr-util-1.6.0.tar.gz
- httpd-2.4.29.tar.gz
将上面3个包传到opt目录下
1.2 安装Apache所需环境
[root@localhost opt]#
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
1.3 解压 Apache
[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
1.4 配置Apache模块
[root@localhost opt]# cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \ # 安装目录
--enable-so \ #开启apache 核心功能模块
--enable-rewrite \ #开启rewrite模块
--enable-charset-lite \ #默认字符
--enable-cgi \ # 通用网关接口的外部服务器运行时外部程序的规范
--enable-cgid \
--enable-deflate \
--enable-expires
配置模块解释
- –prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
- –enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力。
- –enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
- –enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网
- –enable-cgi:启用 CGI 脚本程序支持,便于扩展网站的应用访问能力。
- –enable-deflate:压缩模块
1.5 Apache编译及安装
make -j3 && make install
###先make -j3 然后make install -j3是你核心数,最大不要超过虚拟机的核心数
1.6 优化执行路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
httpd -v ###查看下HTTP版本
1.7 添加httpd系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
# chkconfig: 35 85 21 //35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web
chkconfig --add httpd ###添加为系统服务
chkconfig --list httpd ###查看http服务自启状态 该输出结果只显示Sysv服务,
并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖
1.8 配置文件添加系统服务
在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,
用于控制由 systemd 管理或监控的 httpd 服务
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vi 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
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服务
用系统的浏览器验证
输入 虚拟机 ip就可以了