httpd编译

Apache的安装(含HTTPS)及基本调优 2017-03-12 23:55

1.安装篇

1.1Windows系统

       Windows系统下的Apache,Apache2.2提供的有带openssl的msi程序。Apache2.4则直接解压(已包含ssl的module),修改httpd.conf中的路径即可使用。注意有好几处,建议搜索:/,查找到凡是路径相关的都修改为实际Apache放置的位置。需修改路径如下示意图(抽样举例):

       

 

 

相对来说Windows下的Apache安装较为简单。其他步骤不再一一呈现。

       提醒以下几点小技巧

       1.Apache的安装路径最好不要包含:中文、空格,将对后续的配置使用带来极大困扰。

       2.Apache进行配置调整时,最好在命令行用Apache的bin目录下的httpd.exe启动,以确认无错误的参数配置(如:端口冲突、参数名书写错误、参数重复、路径错误等),导致Apache无法启动。在确认可以正确启动后,再用Windows服务项启动Apache。

 

1.2Linux系统

写在开始,由于Apache的安装make时都涉及到gcc,因此Linux系统建议安装时勾选上gcc相关项。若操作系统安装时未包含gcc,那么建议使用操作系统的安装盘,对gcc进行yum安装,以减少处理gcc的依赖。

以下篇章,我们在gcc已正确安装的基础上进行。

1.2.1Apache2.2

       在安装Apache前,需操作系统已安装openssl,以下说明openssl的安装示例(前提:操作系统未安装openssl,若操作系统已安装openssl,则使用系统自带的即可):

以openssl介质(openssl-0.9.8r.tar.gz)在/home/apacheinstall,预安装在/home/openssl为例,详细步骤参考如下,依次在终端执行以下命令:

cd /home/apacheinstall

tar –zvxf openssl-0.9.8r.tar.gz

cd openssl-0.9.8r

./config --prefix=/home/openssl

make

make install

若以上无error报错,则执行完毕后openssl安装完成。

       接下来,进行Apache2.2的安装。以Apache介质(httpd-2.2.17.tar.gz)在/home/apacheinstall,预安装在/home/apache为例,详细步骤参考如下,依次在终端执行以下命令:

cd /home/apacheinstall

tar -zvxf httpd-2.2.17.tar.gz

cd httpd-2.2.17

./configure --prefix=/home/apache \

--enable-so \

--enable-ssl --with-ssl=/home/openssl/ssl

make

make install

若以上无error报错,则执行完毕后apache安装完成。

1.2.2Apache2.4

       Apache2.4在Linux下安装较为复杂,除gcc外,还需要依赖pcre、apr、apr-util的安装。

       以下示例为pcre、apr、apr-util的安装示例。

安装pcre。以pcre在/home/pcre-8.37目录,安装至/usr/local/pcre为例,执行以下命令进行pcre的安装:

cd /home/pcre-8.37

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

make

make install

安装apr。以apr在/home/apr1.5.2目录,安装至/usr/local/apr为例,执行以下命令进行apr的安装:

cd /home/apr1.5.2

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

make

make install

安装apr-util。以apr-util在/home/apr-util1.5.4目录,安装至/usr/local/apr-util为例,执行以下命令进行apr-util的安装:

cd /home/apr-util1.5.4

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

make

make install

接下来,安装Apache2.4。以Apache2.4在/home/httpd-2.4.23目录为例,执行以下命令进行Apache2.4的安装(注意红色标注的为一条命令):

cd /home/httpd-2.4.23

./configure --prefix=/usr/local/apache  --enable-so --enable-ssl  --with-ssl=/usr/local/openssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

make

make install

cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

 

 

2.HTTPS配置篇

       Apache安装后,如何进行HTTPS的启用

2.1Apache2.2

      修改httpd.conf(在Apache主目录的conf文件夹下)文件,在其中追加以下内容:

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

2.2Apache2.4

修改httpd.conf(在Apache主目录的conf文件夹下)文件,解除其中以下标红模块的#号注释(有的模块可能未注释),并追加httpd-ssl.conf(Windows下注意,修改httpd-ssl.conf中的Apache 主目录)的引用:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

完成以上修改,Apache即开启了HTTPS功能,默认端口为443,可以在httpd-ssl.conf中进行调整。

修改conf/extra/http-ssl.conf文件中的证书名称:

Server.crt修改为oasvr.crt

Server.key修改为oasvr.key

并在httpd-ssl.conf文件最后添加如下内容

JkMount  /* controller

在 Apache/conf/ssl 目录中放置 CA 的.crt 、key key文件,注意名分别为:oasvr.crt、oasvr.key;

 

3.调优篇

       Apache最常见的两个调优为:静态文件压缩、线程参数调整。

       静态文件压缩:需要在httpd.conf中追加以下内容(红色标注为Apache2.4需增加内容,Apache2.2不需要追加):

LoadModule filter_module modules/mod_filter.so

LoadModule deflate_module modules/mod_deflate.so

AddOutputFilterByType DEFLATE text/html text/plain text/xml

Include conf/mod_jk.conf

      线程参数调整,Apache2.2一般在httpd.conf中追加以下参数:

<IfModule mpm_winnt_module>   

   ThreadsPerChild 150   

   MaxRequestsPerChild  1000

Win32DisableAcceptEx

</IfModule>

Apache2.4一般在httpd.conf中追加以下参数:

<IfModule mpm_winnt.c>   

   ThreadsPerChild 150   

   MaxRequestsPerChild  1000

   AcceptFilter http None

   AcceptFilter https None

</IfModule>

       两个版本最重要的为,根据Apache的实际使用情况调整ThreadsPerChild、MaxRequestsPerChild的值。

       其他的调优方向还有:去掉不使用的模块、防止dos攻击、调整连接超时等等方向。欢迎各位线下交流,本文不再深入讨论。

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值