LAMP架构应用实战—Apache服务介绍与安装01

2020-09-16 15:01:32 浏览数 (1)

LAMP架构应用实战—Apache服务介绍与安装01

一:Apache是什么

Apache是Apache基金会开发的一个高性能、功能强大、安全可靠、灵活的开放源码的WEB服务软件

二:Apache的特点与应用场景

1、特点

功能强大、配置简单、速度快、应用广泛、性能稳定可靠,同时还可以做代理服务器或负载均衡

2、应用场景

ü 运行静态页面、图片(据说处理静态小文件能力不如nginx)

ü 结合PHP引擎运行PHP等程序,LAMP组合

ü 结合tomcat、resin运行jsp、java等程序

ü 作代理、负载均衡,rewrite规则过滤等

三:Apache的安装

一般系统默认自带安装的Apache版本相对较低,安装之前先查看下是否自带Apache服务

1、检查系统是否安装Apache服务

代码语言:javascript复制
[root@Centos~]# rpm -qa httpd*
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64

2、如果没有自带Apache服务软件,可以不需要进行下面的卸载

代码语言:javascript复制
[root@Centos~]# rpm -e --nodeps httpd-2.2.15-54.el6.centos.x86_64
warning:/etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
[root@Centos~]# rpm -e --nodeps httpd-tools-2.2.15-54.el6.centos.x86_64

3、卸载完成后检查下卸载是否成功

代码语言:javascript复制
[root@Centos ~]# rpm -qa|grep httpd

4、创建用于存放下载的软件工具目录

代码语言:javascript复制
[root@Centos ~]# mkdir -p /Downloads/tools
[root@Centos ~]# cd /Downloads/tools
[root@Centos tools]# ls

5、进入官方网站下载apache软件到当前目录

代码语言:javascript复制
[root@Centos tools]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.23.tar.gz
--2016-09-11   23:44:41-- https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.23.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.63, 2402:f000:1:416:166:111:206:63
Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.63|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8406575 (8.0M) [application/octet-stream]
Saving to: “httpd-2.4.23.tar.gz”
100%[=============================>] 8,406,575   1.19M/s   in 6.9s    
2016-09-11 23:44:49 (1.17 MB/s) - “httpd-2.4.23.tar.gz” saved [8406575/8406575]

6、查看下载的文件并解压

代码语言:javascript复制
[root@Centos tools]# ls

httpd-2.4.23.tar.gz

代码语言:javascript复制
[root@Centos tools]# tar zxvf httpd-2.4.23.tar.gz

.................................................................................................具体解压过程此处省略

切换到软件目录下,查看具体内容

代码语言:javascript复制
[root@Centos tools]# cd httpd-2.4.23
[root@Centos httpd-2.4.23]# ls -ll
total 2000
-rw-r--r--.1 yumw games   13496 Apr 16  2015 ABOUT_APACHE
-rw-r--r--.1 yumw games   24689 Jun 30 01:30 acinclude.m4
-rw-r--r--.1 yumw games   65340 Jun 14 23:15 Apache-apr2.dsw
-rw-r--r--.1 yumw games   79911 Jun 14 23:15 Apache.dsw
-rw-r--r--.1 yumw games    9907 Dec 18  2009 apache_probes.d
-rw-r--r--.1 yumw games    2512 Dec 22  2008 ap.d
drwxr-xr-x.6 yumw games    4096 Sep 12 00:01 build
-rw-r--r--.1 yumw games    2644 Aug 24  2007 BuildAll.dsp
-rw-r--r--.1 yumw games    2748 Sep 28  2015 BuildBin.dsp
-rwxr-xr-x. 1 yumw games    6800 Sep 19  2012 buildconf
-rw-r--r--.1 yumw games  214576 Jun 30 22:42 CHANGES
-rw-r--r--.1 yumw games   43781 Jun 14 16:51 CMakeLists.txt
-rw-r--r--.1 yumw games   12567 Apr 17  2012 config.layout
-rwxr-xr-x. 1 yumw games 1097227 Jul  1 01:15 configure
-rw-r--r--.1 yumw games   28491 Sep  6  2015 configure.in
drwxr-xr-x.9 yumw games    4096 Sep 12 00:01 docs
-rw-r--r--.1 yumw games     403 Nov 22  2004 emacs-style
-rw-r--r--.1 yumw games    2218 Mar 23 11:53 httpd.dep
-rw-r--r--.1 yumw games    4124 Jun 12  2008 httpd.dsp
-rw-r--r--.1 yumw games    8994 Mar 23 11:53 httpd.mak
-rw-r--r--.1 yumw games   17678 Jul  1 01:15 httpd.spec
drwxr-xr-x.2 yumw games    4096 Sep 12 00:01 include
-rw-r--r--.1 yumw games    3782 May 18 01:59 INSTALL
-rw-r--r--.1 yumw games    2909 Nov 15  2011 InstallBin.dsp
-rw-r--r--.1 yumw games    4097 Nov 16  2013 LAYOUT
-rw-r--r--.1 yumw games   79070 Mar 23 11:53 libhttpd.dep
-rw-r--r--.1 yumw games   20737 Oct  3  2013 libhttpd.dsp
-rw-r--r--.1 yumw games   37816 Mar 23 11:53 libhttpd.mak
-rw-r--r--.1 yumw games   25853 Oct  2  2013 LICENSE
-rw-r--r--.1 yumw games   10452 Mar 20 23:51 Makefile.in
-rw-r--r--.1 yumw games   49943 Jun 14 23:15 Makefile.win
drwxr-xr-x.27 yumw games    4096 Sep 12 00:01 modules
-rw-r--r--.1 yumw games     550 Jan  2  2016 NOTICE
-rw-r--r--.1 yumw games   13884 Mar 20 23:51 NWGNUmakefile
drwxr-xr-x.7 yumw games    4096 Sep 12 00:01 os
-rw-r--r--.1 yumw games    4642 Jan 24  2014 README
-rw-r--r--. 1 yumw games   13317 Mar 23 11:45 README.cmake
-rw-r--r--.1 yumw games    4418 Aug 28  2014 README.platforms
-rw-r--r--.1 yumw games   10184 Oct 31  2010 ROADMAP
drwxr-xr-x.3 yumw games    4096 Sep 12 00:01 server
drwxr-xr-x.2 yumw games    4096 Sep 12 00:01 srclib
drwxr-xr-x.4 yumw games    4096 Sep 12 00:01 support
drwxr-xr-x.2 yumw games    4096 Sep 12 00:01 test
-rw-r--r--.1 yumw games    8183 Mar  1  2007 VERSIONING

查看apache介绍

代码语言:javascript复制
[root@Centos httpd-2.4.23]# cat README 
  Apache HTTP Server
What is it? 
-----------
The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant
  web server.  Originally designed as a replacement for the NCSA HTTP
  Server, it has grown to be the most popular web server on the
  Internet.  As a project of the Apache Software Foundation, the
  developers aim to collaboratively develop and maintain a robust,
  commercial-grade, standards-based server with freely available
  source code.
  The Latest Version

------------------ 后面的内容此处省略

介绍如何安装apache服务

代码语言:javascript复制
[root@Centos httpd-2.4.23]# cat INSTALL 
APACHE INSTALLATION OVERVIEW
Quick Start - Unix
 ------------------
  For complete installation documentation, see [ht]docs/manual/install.html or
  http://httpd.apache.org/docs/2.4/install.html
   $ ./configure --prefix=PREFIX
     $ make
     $ make install
     $ PREFIX/bin/apachectl start

更多内容可自行查看文档介绍

7、编译安装

代码语言:javascript复制
[root@Centoshttpd-2.4.23]# ./configure 
>--prefix=/application/apache2.4.23 
>--enable-deflate 
>--enable-expires 
>--enable-headers 
>--enable-modules=most 
>--enable-so 
>--with-mpm=worker 
>--enable-rewrite

参数说明如下:

>--prefix=/application/apache2.4.23

表示指定安装路径为/application/apache2.4.23 ,如果不指定,默认为/usr/local/apache2

>--enable-deflate

提供对内容的压缩传输编码支持,提高传输速度,提升访问体验,生产环境中这是重要调优参数之一

> --enable-expires

激活允许通过配置文件控制 HTTP的“Expires:”和“Cache-Control:”头内容,即对网站的图片等内容,提供在客户端浏览器缓存的设置,也是生产环境重要调优参数之一

>--enable-headers

提供允许对HTTP请求头的控制

>--enable-modules=most

编译安装模块 most表示包含大部分模块到httpd

>--enable-so

激活apache服务的DSO(动态共享对象)支持,即可在以后以DSO的方式编译安装共享模块

>--with-mpm=worker

选择apache mpm的模式为worker模式,此模式原理是更多的使用线程来处理请求,可以处理更多并发请求,也是apache调优的一个重要参数

>--enable-rewrite

提供基于URL规则的重写功能,根据已知URL地址,转换其它要访问的URL地址

代码语言:javascript复制
checkingfor chosen layout... Apache
checkingfor working mkdir -p... yes
checkingfor grep that handles long lines and -e... /bin/grep
checkingfor egrep... /bin/grep -E
checkingbuild system type... x86_64-unknown-linux-gnu
checkinghost system type... x86_64-unknown-linux-gnu
checkingtarget system type... x86_64-unknown-linux-gnu
configure: 
configure:Configuring Apache Portable Runtime library...
configure: 
checkingfor APR... no
configure: error: APR not found.  Please read thedocumentation.

出现错误提示:configure: error: APR not found

解决方法如下

下载APR并进行安装

代码语言:javascript复制
[root@Centos tools]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.5.2.tar.gz
--2016-09-12 00:56:22--  https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.5.2.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.63, 2402:f000:1:416:166:111:206:63
Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.63|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1031613 (1007K) [application/octet-stream]
Saving to: “apr-1.5.2.tar.gz” 
100%[=========================================================>] 1,031,613   1.70M/s   in 0.6s     
2016-09-12 00:56:28 (1.70 MB/s) - “apr-1.5.2.tar.gz” saved [1031613/1031613]
[root@Centos tools]# ls
apr-1.5.2.tar.gz     httpd-2.4.23  httpd-2.4.23.tar.gz
[root@Centos tools]# tar zxvf apr-1.5.2.tar.gz
[root@Centos apr-1.5.2]# ./configure 
--prefix=/usr/local/apr 
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Configuring APR library
Platform: x86_64-unknown-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.5.2
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Downloads/tools/apr-1.5.2':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

由于文章篇幅限制,后续内容下一下章继续介绍

0 人点赞