微商货源网,微商代理第一货源平台!

您的位置: 微商货源网 -> 微商代理 -> 食品

linux下apache虚拟主机搭建以及优化

来源:  
导语:  
www.niaoyun.com 小鸟云计算

首先是apache的安装,这里采用的是源码安装方式:

安装 apr
apr:apache portable run-time 
 apache 运行时环境,为了能使 apache 运行在不同的平台上并且能使用同样的机制,所以 apr 能够抹除不同系统的数据库,让 apache 运行环境的机制
都一样,并且能让 apache 的某些特性跨平台的使用。
[root@rhel data]# cd /data/soft
[root@rhel soft]# tar -zxvf apr-1.5.2.tar.gz
[root@rhel soft]# cd apr-1.5.2
[root@rhel apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@rhel apr-1.5.2]# make && make install


安装 apr-util
[root@rhel data]# cd /data/soft
[root@rhel soft]# tar -zxvf apr-util-1.5.4.tar.gz
[root@rhel soft]# cd apr-util-1.5.4
[root@rhel apr-util-1.5.4]# ./configure--prefix=/usr/local/apr-util --withapr=/usr/local/apr
[root@rhel apr-util-1.5.4]# make && make install


安装 pcre
[root@rhel data]# cd /data/soft
[root@rhel soft]# tar -zxvf pcre-8.40.tar.gz
[root@rhel soft]# cd pcre-8.40
[root@rhel pcre-8.40]# ./configure --prefix=/usr/local/pcre 

[root@rhelpcre-8.40]# make && make install


安装 httpd
[root@rheldata]# cd /data/soft
[root@rhelsoft]# tar -zxvf httpd-2.4.25.tar.gz
 apr-1.5.2 apr-util-1.5.4 解压后的文件夹拷贝到 httpd-2.4.25/srclib 
[root@rhelsoft]# cd /data/soft
[root@rhelsoft]# cp -Rf apr-1.5.2 httpd-2.4.25/srclib/apr
[root@rhelsoft]# cp -Rf apr-util-1.5.4 httpd-2.4.25/srclib/apr-util
[root@rhelsoft]# cp -Rf pcre-8.40 httpd-2.4.25/srclib/pcre
说明:
 apr-1.5.2  apr-util-1.5.4 拷贝到 httpd 文件夹下是是为了防止,安装时报如下错误
Configur:error:BundledAPR requested but not found at ./srclib/. Download …
和可能出现的错误httpd: Syntax error online 140 of /usr/local/apache2/conf/httpd.conf:Cannotload modules/mod_dir.so into server:/usr/local/apache2/modules/mod_dir.so:undefinedsymbol: apr_array_clear
安装 httpd
[root@rhelsoft]# cd httpd-2.4.25
[root@rhelhttpd-2.4.25]# ./configure --prefix=/data/apache --enable-mods-shared=more--enable-deflate --enable-speling --enable-cache --enable-file-cache --enable-disk-cache--enable-mem-cache --enable-rewrite --enable-so --with-includedapr --enable-ssl--with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
[root@rhelhttpd-2.4.25]# make && make install
说明:
--prefix=/data/apache//
指定安装目录
--enable-mods-shared=more//
动态编译大部分模块
--enable-module=so//
打开 so 模块, so 模块是用来提 DSO 支持的 apache 核心模块
--enable-deflate=shared//
支持网页压缩
--enable-expires=shared//
支持 HTTP 控制
--enable-rewrite=shared//
支持 URL 重写
--enable-cache//
支持缓存
--enable-file-cache//
支持文件缓存
--enable-mem-cache//
支持记忆缓存
--enable-disk-cache//
支持磁盘缓存
--enable-static-support//
支持静态连接(默认为动态连接)
--enable-static-htpasswd//
使用静态连接编译 htpasswd - 管理用于基本认证的用户文

--enable-static-htdigest//
使用静态连接编译 htdigest - 管理用于摘要认证的用户文

--enable-static-rotatelogs//
使用静态连接编译 rotatelogs - 滚动 Apache 日志的管
道日志程序
--enable-static-logresolve//
使用静态连接编译 logresolve - 解析 Apache 日志中的
IP 
地址为主机名
--enable-static-htdbm//
使用静态连接编译 htdbm - 操作 DBM 密码数据库
--enable-static-ab//
使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
--enable-static-checkgid//
使用静态连接编译 checkgid
--disable-cgid//
禁止用一个外部 CGI 守护进程执行 CGI 脚本
--disable-cgi//
禁止编译 CGI 版本的 PHP
--disable-userdir//
禁止用户从自己的主目录中提供页面
--with-mpm=worker// 
 apache  worker 方式运行如果要在 prefork.c 则去掉--withmpm=worker //  linux 缺省是 prefork.c

 添加自启动

[root@rhelhttpd-2.4.25]# echo "/data/apache/bin/apachectl start">>/etc/rc.local


Apache虚拟主机的实现:

在工作中一般遇到的有两种情况:1、基于端口的虚拟主机实现 2、基于域名的虚拟主机实现。

下面我们分别对两种情况进行解释:

一、首先我们来看下基于端口的虚拟主机实现,关于这个所做的操作只需要修改下面几处:

1.     修改http.conf文件,在Listen 80 下面加上想访问的端口,然后在将#Includeconf/extra/httpd-vhosts.conf前面的井号去掉,最后将ServerName 修改成本地即可。

这个根据需要的首页文件类型进行添加。

2、对http-vhosts.conf文件进行虚拟主机配置

这样就实现了两个虚拟主机的搭建,我们来测试一下结果。

二、基于域名的虚拟主机的搭建

这里的操作和基于端口的差不多,只不过不需要修改端口

1.     修改http.conf文件,在将#Includeconf/extra/httpd-vhosts.conf前面的井号去掉,最后将ServerName 修改成本地即可。

2.     同样在http-vhosts.conf文件里面进行配置:

关于Options  Indexes FollowSymLinks

 Indexes 前,加+代表允许目录浏览;加-代表禁止目录浏览。把-Indexes 直接删掉就是禁止目录浏览。

因为我这里只有一个域名所以就不多进行测试了,在不同的ServerName那里填上不同的域名,那么基于域名的虚拟主机就搭建完成了。


Apache反向代理的实现:

1. 修改 httpd.conf 文件,找到文件中的下面四行模块代码,将前面的 # 去掉:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_modulemodules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

2.httpd-vhosts.conf相应的主机里面添加代理即可

这样就实现了apache代理应用


安全加固

 apache 禁用trace 方法
修改 httpd.conf 文件,激活 rewrite 模块
#LoadModule rewrite_module modules/mod_rewrite.so
改为
LoadModule rewrite_module modules/mod_rewrite.so
 httpd.conf 最后加入 TraceEnable off


apache 屏蔽恶意指向
项目中经常有同事提到很多域名恶意指向网站 ip,导致随意访问哪个域名,都能浏览网站,而那些恶意的域名指向可能会影响电信封掉网站 ip,提供以下解决方法。

在相应的虚拟主机里面添加如下文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www).xxx.gov.cn [NC]
RewriteCond %{HTTP_HOST} !^(www).xxx1.gov.cn [NC]
RewriteRule ^/(.*) /error.html [L]

说明:
RewriteCond %{HTTP_HOST} !^
后配置的是当前虚拟主机中的域名,只要不是 servername 
serveralias 
中列出来的域名,全部指向 error.html,因为没有这个文件,所以打不开页面。
RewriteCond %{HTTP_HOST} !^
可以添加多个,如果需要 ip 访问,可以添加
RewriteCond %{HTTP_HOST} !^ 192.168.x.x[NC]
,这里的 ip 是机器本地 ip


apache 用户超时设置
 http.conf 中添加以下内容:
#Timeout:
接收和发送数据的超时设置,秒数
Timeout 600
#KeepAlive: 
是否支持持久联接(而不是每个请求建一个连接) , off 关闭此功能
KeepAlive On
#MaxKeepAliveRequests:
在持久连接期间,所允许的最大请求数量。设为 0 表示不作限制。建议
设为较高的数,以提高性能
MaxKeepAliveRequests 0
#KeepAliveTimeout:
在同一个客户连接中,等待下一个请求的等待时间。
KeepAliveTimeout 15



优化调整

调整 apache 并发数
去掉 httpd.conf 文件中 # Include conf/extra/httpd-mpm.conf 前的#
修改./extra/httpd-mpm.conf 文件中 prefork MPM 项为:
<IfModule mpm_prefork_module>
ServerLimit 2000
StartServers 10
MinSpareServers 10
MaxSpareServers 15
MaxClients 1500
MaxRequestsPerChild 10000
</IfModule>



指定 404 错误网页
定制个性化的 404 错误页面,在这个页面上可以看到很友好的提示信息。
修改/data/apache/conf/httpd.conf 文件

#ErrorDocument 404 /missing.html
改为:
ErrorDocument 404 http://192.168.x.x/missing.html
说明:
http://192.168.x.x/missing.html 
为指定页面。


开启 deflate(Gzip)提升网页加载速度
加快 HTTP 请求返回内容的下载速度,增加用户体验, httpd.conf 配置文件中找到下面
行,将注释#去掉。
# LoadModule deflate_module modules/mod_deflate.so
在配置文件中最下方增加以下配置。
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plaintext/xml
AddOutputFilter DEFLATE css js
</IfModule>
重启 apache


使用.htaccess 文件缓存图片
打开网站所在的根目录的.htaccess文件,如没有,请新建。
编辑文件如下:
# Image and Flash content Caching for One Month
<FilesMatch".(flv|gif|jpg|jpeg|png|ico|swf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
说明:
以上代码,是浏览器缓存 flv,gif,jpg,jpeg,png,ico,swf 格式的文件一个月。如果想改
变缓存时间请修改 max-age 值。



日志分割
cronolog 
安装
目前项目中普遍采用Cronolog 工具实现 apache 日志分割。
上传安装包文件到服务器指定目录。
安装日志分割工具:
[root@AS5U2 root]#cd /data/soft
[root@AS5U2 hanweb_software]#tar -xvfzcronolog-1.6.2.tar.gz
[root@AS5U2 hanweb_software]#cd cronolog-1.6.2
[root@AS5U2 hanweb_software]#./configure–prefix=/data/cronolog
[root@AS5U2 hanweb_software]#make
[root@AS5U2 hanweb_software]#make install

安装完成之后然后将下面的命令添加到相应的主机里面(当然也可以放在配置文件的顶部,用于所有虚拟主机使用)。

或者

我们访问域名看下效果

至此,日志分割已经做完。

点击下方免费领取12个月云虚拟主机 。

    阅读原文
    阅读原文

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的, 仅供大家参考、学习,不存在任何商业目的与商业用途。
    若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法链接失效或侵犯版权,请给我们来信:1034252225@qq.com

    上一篇 微商打动客户的6个营销策略 ..

    下一篇 【廊坊微报·娱乐】2016年十大贺岁..

    转发到:
    >>进入 首页 VIP推广区,查看现在最火的微商!
    >>进入 行业热点 栏目,查看更多微商资讯!

    评论

    帐  号: 密码: (新用户注册)
    验 证 码:
    表  情:
    内  容:

    最新微商新闻
    童装一手货源
    童装一手货源品牌档案

    品牌类别:服装

    一件代发:

    童装一手货源联系方式

    联系人:未提供

    固定电话:未提供

    移动电话:未提供

    地址:广州

    扫描二维码了解更多
    童装一手货源
    品牌 女装
    优秀微商品牌 更多微商品牌

    免责声明:本站所展示信息均由会员自行提供,会员依法应对其提供的任何信息承担全部责任,微商货源网对此不承担任何责任。为保障您的利益,请注意可能的风险安全!

    首页 | 关于我们 | 业务合作 | 联系我们 | 免责声明 | 网站地图 | 网站地图 |

    粤ICP备17013716号-15  微商货源网©(2015)

    版权所有:广州睿东网络科技有限公司

    微商经验分享交流群: 430091627(直接点击加群)

    中国最具人气微商网站 世界微商品牌最具投资价值平台

    投诉、建议、删除信息联系QQ:2585181099处理!广告合作联系 QQ:2585181099

    平平安安 备案网站

    微商货源网官方微信号

    微信扫描二维码

    微商货源网官方唯一公众号

    微信扫描二维码