centos6.5源码安装apache2.2.31-搭建个人博客系列二


系统:Centos6.5(x64)  

最小化定制安装:base、editors、development librarys、developement tools、x software development、system tools

防火墙关闭,selinux=disabled

源码包存放目录:/usr/local/src

安装目录:/application/apache

apache源码安装过程:版本:2.2.31

把apache下载到服务器源码包存放目录:/usr/local/src

编译参数:

 

  1. ./configure \ 
  2. --prefix=/application/apache2.2.31 \ 
  3. --enable-deflate \ 
  4. --enable-expires \ 
  5. --enable-headers \ 
  6. --enable-modules=most \ 
  7. --enable-so \ 
  8. --with-mpm=worker \ 
  9. --enable-rewrite 
  10.  
  11. make && make install 

 

#./configurre后的参数说明:

1.--prefix=/application/apache2.2.31 表示指定apache的安装目录,如果不指定默认安装到[/usr/local/apache2]

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

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

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

5.--enable-modules=most

6.--enable-so 激活apache服务的DSO(全称Dynamic Shared Object 动态共享对象)支持,即在以后可以以DSO的方式编译安装共享模块,这个模块本不身不能以DSO方式编译。

7.--with-mpm=worker 选择apache mpm的模式为worker模式,因为worker模式原理是更的使用线程来处理请求,所以可以处理更多的并发请求,而系统资源的开销小于基于进程的MPM prefork。如果不指定此参数,默认的模式是prefork进程模式。这是apache调优的一个重要选项。

8.--enable-rewrite 提供基于URL规则的重写功能,即根据已知URL地址,转换其它想要的URL地址,例如伪静态功能就是靠这个模块实现的。这是apache在生产环境中必用的一个重要功能。

  

如果编译时出现下面的错误:

configure 错误提示:

  checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

 

原因是缺少了zlib-devel 没装的原因,

 

  1. yum install zlib-devel openssl-devel   #安装一下即可。 

 

安装完成后做一个软连接,因为我们安装时指定了版本号,这样是方便以后升级或管理。

 

  1. [root@web_server ~]# ln -s /application/apache2.2.31 /application/apache     
  2.  
  3. [root@web_server ~]# /application/apache/bin/apachectl -l               #可以查看到已经编译了哪些模块,有些模块默认会被编译。 

 

启动方法:

 

  1. [root@web_server ~]# /application/apache/bin/apachectl start 

执行apachectl 这个脚本时,实际又是在调用 httpd这个文件。

启动时会提示:这个主要是主机名字,需要修改一下。

 

  1. [root@web_server ~]# /application/apache/bin/apachectl start 
  2.  
  3. httpd: apr_sockaddr_info_get() failed for web_server 
  4.  
  5. httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 

检查一下服务是否正常:(通常是用于检查无法访问到网站时的一个检查过程)

1.通过端口反查哪个服务在使用80端口:

 

  1. [root@web_server ~]# lsof -i:80 
  2.  
  3. COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME 
  4.  
  5. httpd   24795   root    4u  IPv6  85754      0t0  TCP *:http (LISTEN) 
  6.  
  7. httpd   24797 daemon    4u  IPv6  85754      0t0  TCP *:http (LISTEN) 
  8.  
  9. httpd   24798 daemon    4u  IPv6  85754      0t0  TCP *:http (LISTEN) 
  10.  
  11. httpd   24801 daemon    4u  IPv6  85754      0t0  TCP *:http (LISTEN) 

 

2.查看httpd进程是否存在

 

  1. [root@web_server ~]# ps -ef|grep httpd 
  2.  
  3. root     24795     1  0 08:55 ?        00:00:00 /application/apache2.2.31/bin/httpd -k start 
  4.  
  5. daemon   24796 24795  0 08:55 ?        00:00:00 /application/apache2.2.31/bin/httpd -k start 
  6.  
  7. daemon   24797 24795  0 08:55 ?        00:00:00 /application/apache2.2.31/bin/httpd -k start 
  8.  
  9. daemon   24798 24795  0 08:55 ?        00:00:00 /application/apache2.2.31/bin/httpd -k start 
  10.  
  11. daemon   24801 24795  0 08:55 ?        00:00:00 /application/apache2.2.31/bin/httpd -k start 
  12.  
  13. daemon   24882 24795  0 08:56 ?        00:00:00 /application/apache2.2.31/bin/httpd -k start 
  14.  
  15. root     24933  8241  0 08:58 pts/1    00:00:00 grep httpd 

在浏览器打开http://IP  可以看到 It works!  就说明apache服务成功在运行了。

到此apache就已经编译安装成功了。