`
bjtdeyx
  • 浏览: 167467 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics