设为首页 收藏本站
查看: 801|回复: 0

[经验分享] Apache前置机

[复制链接]

尚未签到

发表于 2016-12-29 10:06:11 | 显示全部楼层 |阅读模式
前置机环境搭建

环境准备
主机: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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-320948-1-1.html 上篇帖子: Apache基础分布目录 下篇帖子: Apache 安装设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表