Centos 6.8源码安装apache服务

我们现在分以下步骤进行安装apache:

1、 安装编译环境

2、 卸载原有apache

3、 下载解压源码包

4、 安装apache

5、 测试apache

6、 查看apache安装生成的目录

7、 查看apache的配置文件

8、 apache加入系统服务

一、安装编译环境

在安装apache之前,我们需要安装编译apache时所需要的相关软件包,如下:

apr、apr-util、pcre、gcc-c++、libtool

1.下载所需要的包

wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

2.解压,依次进入相应目录进行编译安装

编译安装apr:

./configure --prefix=/usr/local/apr

make && make install

编译安装apr-util:

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

编译安装pcre:

./configure --prefix=/usr/local/pcre

make && make install

安装gcc-c++库:

yum -y install gcc-c++

安装libtool库:

yum -y install libtool

ps:若在编译过程中出错,可执行make clean重新进行./configure

二、卸载原有Apache

在源码安装apache之前,我们要先卸载系统中,已经通过rpm包安装的apache(否则可能引起端口冲突)。如下:

rpm -qa |grep httpd

rpm -e --nodeps $(rpm -qa |grep httpd)

三、下载解压源码包

建议去apache官网下载,本实验以httpd-2.4.25.tar.gz为例

#tar -zxf httpd-2.4.25.tar.gz

四、安装apache

安装apache,我们首先要编译,然后进行安装.

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

--prefix=/usr/local/apache2表示指定apache的安装路径,默认安装路径为/usr/local/apache2

--enable-rewrite提供URL规则的重写更嫩那个,即根据已知的URL地址,转换为其它想要的URL地址

--enable-so激活apache服务的DSO(Dynamic Shared Objects动态共享目标),即在以后可以以DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译。

--enable-headers提供允许对HTTP请求头的控制。

--enable-expires激活荀彧通过配置文件控制HTTP的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css等内容,提供客户端浏览器缓存的设置。这个是apache调优的一个重要选项之一。

--with-mpm=worker选择apache mpm的模式为worker模式。为worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求。另外还有prefork等模式,具体区别参见下面。如果不指定此参数,默认的模式是prefork进程模式。这个是apache调优的一个重要选项之一。

--enable-deflate提供对内容的压缩传输编码支持,一般是html、js、css等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是apache调优的一个重要选项之一。

prefork, worker, event 三种模式的区别:

1. prefork 中没有线程的概念,是多进程模型,一个进程处理一个连接;稳定;响应快。其缺点是在连接数比较大时就非常消耗内存。

2. worker 是多进程多线程模型,一个进程有多个线程,每个线程处理一个连接。与prefork相比,worker模式更节省系统的内存资源。不过,需要注意worker模式下的Apache与php等程序模块的兼容性。

3. event 是worker模式的变种,它把服务进程从连接中分离出来,在开启KeepAlive的场合下相对worker模式能够承受更高的并发负载。event模式不能很好的支持https的访问(HTTP认证相关的问题)。

下面进行安装

$ make

$ make install

$ /usr/local/apache2/bin/apachectl start

#netstat -tln用此命令查看端口使用情况,若有80端口说明安装成功。

五、测试apache

wget http://127.0.0.1


Centos 6.8源码安装apache服务_第1张图片

通过上图,我们可以很明显的看到apache已经正常启动。

六、查看apache安装生成的目录

apache正常启动后,我们来查看apache安装生成的目录。如下:


Centos 6.8源码安装apache服务_第2张图片

bin主要存放程序命令目录,。

conf主要存放apache配置文件。

htdocs主要存放站点目录。

logs主要存放默认日志文件。

modules主要存放apache的运行模块。例如php、memcache编译后的模块存放在这里。

七、查看apache的配置文件

apache的配置文件httpd.conf存放在conf 目录下,如下:


Centos 6.8源码安装apache服务_第3张图片

查看httpd.conf配置内容,如下:

egrep -v '^[ ]*#|^$' /usr/local/apache2/conf/httpd.conf | nl


Centos 6.8源码安装apache服务_第4张图片

ServerRoot "/usr/local/apache2"表示apache根目录,该目录应只有root用户具有访问,一般不需要修改。

Listen 80表示apache监听端口,默认为80。如果同时监控81端口,可以加一行:Listen 81。

AddType application/x-httpd-php .php LoadModule php5_module modules/libphp5.so用于apache与php进行集成时使用。

User daemon Group daemon表示apache运行时的用户及组,默认为daemon,建议修改,如apache。

DocumentRoot "/usr/local/apache2/htdocs"表示apache默认的web站点目录,路径结尾不要添加斜线。

ServerAdmin [email protected]表示系统管理员的邮箱,此项为非重要选项。当网站出现问题时,面面会显示此页面地址。

DirectoryIndex index.php index.html配置默认的apache首页。如果虚拟主机未配置,默认应用这里的配置。

ErrorLog "logs/error_log"错误日志路径。

LogLevel warn错误日志级别。

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"配置cgi别名。

八、apache加入系统服务

为了让apache开机启动,我们可以把apachectl启动脚本加入rc.local文件中,如下:

echo "/usr/local/apache2/bin/apachectl start">>/etc/rc.local

关于更多的apache加入系统服务的知识,请参阅www.jb51.net/article/59474.htm

你可能感兴趣的:(Centos 6.8源码安装apache服务)