Apache前置机

前置机环境搭建 
Java代码
环境准备
主机:192.168.3.130
用户名密码:apache/apache
安装目录:/apache/local/apache

基础应用软件:
C编译器
Apache源码
为了获得最好的性能,对于apache的安装,一般需要采用编译安装的方式,让apache的配置程序按照机器的配置生成一些优化的编译和安装选项,所以需要c编译器的支持。

Apache源码下载:
http://www.apache.org

下载到的源码格式一般是.tar.gz格式的文件,把文件上传到服务器上,用以下命令解压:
gzip –d filename.tar.gz
上面的命令会解压得到一个filename.tar文件,再用以下命令解压tar文件,生成apache的源文件目录:
tar xvf filename.tar
Apache安装
Apache的安装比较简单,只需要按以下步骤执行就可以完成安装。

在apache的源文件目录下,执行以下命令,对apache进行编译前的环境检查,生成优化的编译文件选项。其中的--prefix=/apache/local/apache是指定安装目录的,可以根据实际情况来指定。
./configure --prefix=/apache/local/httpd \
--enable-so \
-with-mpm=worker \
--enable-mods-shared=all \
--enable-deflate \
--enable-headers
该操作需要花费较长时间,完成后再执行以下命令进行编译:
./make

编译完成后,运行以下命令进行安装:
./make install

Apache配置
Apache的配置主要是在apache的配置目录下的httpd.conf文件,按照我们安装的目录,该文件位于/apache/local/apache/conf/httpd.conf,在运行apache之前,需要先对该配置文件做些修改,才能正常启动apache。

1、 修改运行用户
找到user和group的配置,修改如下:
User nobody
Group #-1
2、 修改服务端口号,因为80端口的监听需要root权限,所以把端口改成8080或其他可用端口。找到配置项Listen并修改。
Listen 8080
3、 加载需要的模块,mod_wl_22.so是weblogic和apache的插件,可以从weblogic的安装目录下找到。对就不同的apache会有不同的插件文件,需要选用正确的插件才能正常工作。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule weblogic_module modules/mod_wl_22.so

如果没有以上的模块文件生成,也可以使用单个生成的方法来生成这些so文件。在apache的源文件目录下,执行命令如下:
/apache/local/apache2/bin/apxs -i -a -c ./mod_proxy.c proxy_util.c
/apache/local/apache2/bin/apxs -i -a -c ./mod_proxy_connect.c
/apache/local/apache2/bin/apxs -i -a -c ./mod_proxy_ftp.c
/apache/local/apache2/bin/apxs -i -a -c ./mod_proxy_http.c
/apache/local/apache2/bin/apxs -i -a -c ./mod_rewrite.c

4、 增加虚拟机配置,修改Server Name,WebLogicCluster,WebLogicHost,WebLogicPort等配置,改成真正提供服务的地址和端口,注意WebLogicCluster与WebLogicHost,WebLogicPort不能同时开启,WebLogicHost,WebLogicPort是配置的单server的情况,WebLogicCluster是配置的集群的情况。为了让配置看起来更清晰,虚拟机的配置可以写到extra目录下的httpd-vhosts.conf文件里面,然后在httpd.conf里面用
Include conf/extra/httpd-vhosts.conf语句把配置文件包含进来。
<VirtualHost *:8080>
ServerAdmin tcaosmail@gmail.com
ServerName 192.168.6.130
DocumentRoot /apache/local/apache2/htdocs

<IfModule mod_weblogic.c>
#WebLogicCluster 192.168.6.130:2001,192.168.6.130:2002
WebLogicHost 192.168.6.130
WebLogicPort 42005
MatchExpression /
MatchExpression *.*
MatchExpression /*

</IfModule>


</VirtualHost>
5、 不同工作模式下的线程配置
在安装的时候可以指定apache的工作模式,一般在unix下使用的是prefork工作模式,也可以通过在configure时指定apache的工作模式,在不同的工作模式下,对应的配置也是不同的,apache2.2下有专门的工作模式的配置文件httpd-mpm.conf。可以用以下的命令查看apache使用的工作模式:
Httpd –l
在输出的结果中如果有worker.c,则说明是worker工作模式,如果有prefork.c则说明是prefork工作模式。
Worker工作模式对应的配置段为:
<IfModule mpm_worker_module>
StartServers 100
MaxClients 2500
MinSpareThreads 25
MaxSpareThreads 100
ThreadsPerChild 50
MaxRequestsPerChild 0
</IfModule>
其中
StartServers为初始的启动进程数
MaxClients 为最大的可连接客户端数
MinSpareThreads 为最少的空闲线程数
MaxSpareThreads 为最大的空闲线程数
ThreadsPerChild 为每个进程的子线程数
MaxRequestsPerChild 为每个线程可以处理的请求数,处理数达到这个数目时,会自动销毁,重新创建一个线程,为0时不限制

prefork工作模式对应的配置段为:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
其中
StartServers为初始的启动进程数
MaxClients 为最大的可连接客户端数
MinSpareThreads 为最少的空闲进程数
MaxSpareThreads 为最大的空闲进程数
MaxRequestsPerChild 为每个线程可以处理的请求数,处理数达到这个数目时,会自动销毁,重新创建一个进程,为0时不限制

6、 改完配置后,进入到apache的bin目录,运行以下命令,启动apache服务
$./httpd –k start
7、 测试
在浏览器中输入http://192.168.6.130:8080测试 服务是否可以访问。
8、 Apache队列查看与统计
netstat -na|grep EST|grep 8080|more
上面的命令输出以下格式的信息:
Recv-Q Send-Q
tcp4 0 1483 10.168.27.221.8080 222.172.216.188.3684 ESTABLISHED
tcp4 0 0 10.168.27.221.8080 221.213.33.58.4985 ESTABLISHED
tcp4 0 0 10.168.27.221.8080 221.213.33.58.4986 ESTABLISHED
tcp4 0 0 10.168.27.221.8080 221.213.33.58.4987 ESTABLISHED
我们主要关注一下第二列和第三列的信息,第二列表示的是接收队列,第二列表示的是发送队列,如果数字不为0,说明还有这么多字节的数据没有接收或发送完成。在跟踪的过程中发现,如果接收队列有比较多的没有接收完成的数据的话,会导致前置机接入变得缓慢,如果严重的话,可能需要重新起动apache应用。而发送队列有一些数据没有传送完成的话,好像没有太大的影响。
使用以下命令可以统计当前的连接数:
netstat -na|grep EST|grep 8080|wc –l
9、 用apache对js、css文件进行压缩:
在httpd.conf文件中添加一段如下,重启服务器即可。
LoadModule deflate_module modules/mod_deflate.so
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>

注: apache压缩功能需要zlib库的支持。
Zlib安装步骤:
1.下载zlib源码: http://www.zlib.net/zlib-1.2.3.tar.gz
2.解压:gzip –d zlib-1.2.3.tar.gz
tar –xvf zlib-1.2.3.tar
3.编译:./configure
make
4.安装(需要root用户)make install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值