导航:首页 > 源码编译 > 源码安装apache

源码安装apache

发布时间:2022-01-31 10:56:56

‘壹’ 编译安装apache 怎么关闭 gzip

先来了解一下GZIP ,gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。软件的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4。
gzip可以级大的加速网站.有时压缩比率高到80%,近来测试了一下,最少都有40%以上,还是相当不错的.在Apache2之后的版本,模块名不叫gzip,而叫mod_deflate
1、Apache启用gzip
如果要开启gzip的话,一定要打开下面二个模块.
LoadMole headers_mole moles/mod_headers.so
LoadMole deflate_mole moles/mod_deflate.so
设置压缩比率,取值范围在 1(最低) 到 9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源.
DeflateCompressionLevel 3
AddOutputFilter DEFLATE html xml php js css
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4/.0[678] no-gzip
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI //.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary #对代理的设置
</Location>

测试数据对css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%
测试数据js
Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%
测试数据php
Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%
上面只是随机拿的几个数据,看的出来,使用了gzip压缩后文件小多了.
另外讲一下,有关squid对gzip的处理
在squid中,对同一个URL只保留一份缓存。对于如果不同browser(是否支持压缩)如果频繁交替访问,例如:对某个cache住的目标,一个 http/1.0请求可能会导致squid强制更新其缓存。但接下来的另一个http/1.1请求又会导致squid再次更新缓存。这样那squid缓存 数据就要频繁更新,这就极大的降低了cache命中率。
不过还好,现实环境中不支持压缩的browser毕竟是很少的情况,所以对于缓存命中率的降低很有限.
这个神通广大的模块就是mod_gzip. 它通过用和gzip一样的压缩算法对apache发出的页面进行压缩,可能的话可以把页面压缩成为原来大小的十份之一。哪,如果10K的页面只要传1K这 不就是提速10倍嘛。当然一般网页只可以达到3-6倍。那也很不错。对吧。连google这样一个大的网站都采用这个技术。你还不快跟上?
这样一个好东东,来来来,我告诉你如何安装:分3步,1、下载,2、修改配置,3、测试。

安装, 配置
把mod_gzip放到你的apache的源代码目录下,新建一个mod_gzip目录如果需要补丁(针对1.3.17.la版) 还需运行:
patch mod_gizp.c
按你需要,在配置中选择动态DSO或静态编译进apache系统。如何处理在README中讲得很清楚,如-add-mole=mod_gzip.c, make,make install等等。这里不多讲。
把下列配置加入httpd.conf尾部。
# MOD_GZIP configuration
mod_gzip_on Yes
mod_gzip_minimum_file_size 1002
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 60000
mod_gzip_item_include mime "application/x-httpd-php"
mod_gzip_item_include mime text/*
mod_gzip_item_include mime "httpd/unix-directory"
mod_gzip_dechunk Yes
mod_gzip_temp_dir "/tmp"
mod_gzip_keep_workfiles No
mod_gzip_item_include file ".php3$"
mod_gzip_item_include file ".txt$"
mod_gzip_item_include file ".html$"
mod_gzip_item_exclude file ".css$"
mod_gzip_item_exclude file ".js$"
在保存修改后运行
…/bin/apachectl configtest确保配置修改无误。
然后用 apachectl restart 指令重起服务。
修改,测试
在宣布做好了之前在测试一下是优秀程序员的习惯。为了尽量不影响你的用户的浏览,我们可以用把新的apache驱动在8080端口上或者用指令控制mod_gzip起作用的目录,而不是一下子全用mod_gzip.
用法如下:
MOD_GZIP configuration
没有问题后你就可以让你的用户很开心的发现’XX网站现在好快哦。’
Mod_gzip真的很神奇,100K的HTML大 文档只要12K就可以传到用户端了。越先采用这个技术你的用户对你的网站的高速度印象就越深。不过有所得必有所失,由于解压是在客户端进行的,效果和用户 的浏览器有一定关系。
2、IIS启用gzip
现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。
IIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面。所以要打开这个选项,还要费些功夫。
首先,如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件(PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。
然后选中网站下面那个服务器扩展,新建一个服务器扩展。名字无所谓,下面的添加文件的路径是:
c:/windows/system32/inetsrv/gzip.dll,然后启用这个扩展。
这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。因为默认的可压缩文件并没有这个扩展名。而管理界面中你又找不到可以增加扩展名的地方,这时候只能去修改它的配置文件了。
在 c:/windows/system32/inetsrv/下面有个MetaBase.xml文件,可以用记事本打开,找到 IIsCompressionScheme,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。 HcDynamicCompressionLevel改成9,(0-10,9是性价比最高的一个)。
1.首先备份 IIS 的配置文件,
复制C:/Windows/system32/inetsrv/metabase.xml到另外的备份文件夹中.
C:/Windows/system32/inetsrv/metabase.xml是 IIS 的核心配置文件,该文件的完整性一但被破坏,IIS 将无法正常运行,严重到需要重新安装系统.
2. 在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击“网站”属性,打开“服务”选项卡,勾选“HTTP 压缩”的两个选项。“临时目录”和“临时目录最大容量”可根据需要自行设置。设置完成后点击确定。
3. 右键点击“网站”下方的 “Web服务扩展”,添加一个新的Web服务扩展,扩展名填写为“HTTP Compression”或其他,都可以。“要求的文件”添加:c:/windows/system32/inetsrv/gzip.dll ,并勾选“设置扩展状态为允许”,完成后点击确定。
4.下面的步骤有些复杂,如果没有确定的把握能理解,最好不要尝试,右键点击“Internet 信息服务的”“本地计算机”属性,勾选“允许直接编辑配置数据库”并确定。
5. 在开始菜单中运行 notepad C:/Windows/system32/inetsrv/metabase.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份。
6. 搜索并找到 metabase.xml 文件中的<IIsCompressionScheme 片段中的HcScriptFileExtensions,依照原有文件的格式添加你希 望进行 HTTP 压缩的文件扩展名,静态文件HcFileExtensions可添加 JS,CSS 等; 动态文件HcScriptFileExtensions可添加"ASPX"”ASMX”,如下:
<IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/deflate”
HcCompressionDll=”%windir%/system32/inetsrv/gzip.dll”
HcCreateFlags=”0″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”FALSE”
HcDynamicCompressionLevel=”9″
HcFileExtensions=”htm
html
js
css
txt”
HcOnDemandCompLevel=”10″
HcPriority=”1″
HcScriptFileExtensions=”asp
aspx
asmx
dll
exe”
>
</IIsCompressionScheme>
<IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/gzip”
HcCompressionDll=”%windir%/system32/inetsrv/gzip.dll”
HcCreateFlags=”1″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”TRUE”
HcDynamicCompressionLevel=”9″
HcFileExtensions=”htm
html
js
css
txt”
HcOnDemandCompLevel=”10″
HcPriority=”1″
HcScriptFileExtensions=”asp
aspx
asmx
dll
exe”
>
</IIsCompressionScheme>
注意“Compression/deflate”和“Compression/gzip”两个片段都需要修改。动态压缩等级,HcDynamicCompressionLevel建议设置为“9”
7. 保存并关闭 metabase.xml 文件。
8. 重新启动 IIS 服务,运行“IISReset”或重新启动 WWW 服务。
9. 其他:
如果你的服务器上某一个Web站点不希望启用 IIS 压缩,请运行以下脚本:
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoDynamicCompression False
如果想增加启用 HTTP 压缩的文件类型,请运行以下脚本:
“” 中为文件扩展名,别忘了把原有的扩展名加上。
静态文件压缩:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions “htm” “html” “txt” “doc” “ppt” “xls”
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions “htm” “html” “txt” “doc” “ppt” “xls”
动态文件压缩:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions “asp” “aspx” “asmx” “dll” “exe” “php”
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions “asp” “aspx” “asmx” “dll” “exe” “php”
将site#替换为该 Web 站点的 ID。Web 站点的 ID是什么到“日志记录属性”中看一下日志记录的“日志文件名”前面的路径就知道了。
运行以上脚本前务必备份,运行后再次执行“IISReset”使生效.

‘贰’ 编译安装apache 需要什么环境

编译Apache的要求如下:
磁盘空间
必须保证有50MB以上的自由临时磁盘空间。Apache安装完毕后会占据10MB左右的空间,实际的磁盘空间需求会因编译设置和是否安装第三方模块而有所不同。
ANSI-C编译器及编译环境
必须装有ANSI-C编译器,推荐使用自由软件基金会(FSF)的GCC。如果没有GCC,那么要确保使用的编译器符合ANSI标准,而且PATH中必须包含指向基本编译工具比如make的路径。
确保准确的时间
由于HTTP协议的元素都会用到时间,有必要了解一下你的系统所使用的时间同步机制。在基于网络时间协议(NTP)的系统中,一般是用ntpdate或xntpd来同步时间。有关NTP软件的资料请参见NTP主页。
Perl 5 [可选]
有些用Perl写的支持脚本,如apxs或dbmmanage ,需要Perl5解释器(5.003或以上的版本就足够了)。如果系统中存在多个Perl解释器,比如有系统提供的Perl 4,还有你自己安装的Perl 5,推荐你使用 --with-perl 选项来确保configure脚本使用正确的版本。如果configure没有没找到Perl 5也没关系,这并不影响Apache httpd的编译和安装,只是相关的支持脚本不能使用而已。
apr/apr-util >= 1.2
apr和apr-util包含在Apache httpd的发行源代码中,并且在绝大多数情况下使用都不会出现问题。当然,如果apr或apr-util的1.0或1.1版本已经安装在你的系统中了,则必须将你的apr/apr-util升级到1.2版本,或者将httpd单独分开编译。要使用发行源代码中自带的apr/apr-util源代码进行安装,你必须手动完成:
# 编译和安装 apr 1.2
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install

# 编译和安装 apr-util 1.2
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
make
make install

# 配置 httpd
cd ../../
./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/

‘叁’ 服务器的apache安装后怎么设置网站源码后面那些

运行 Terminal,输入命令:复制代码 代码如下:ssh username@ip,然后输入密码。2. 安装 Apache 软件:复制代码 代码如下:yum install httpd3. 设置 Apache 在服务器启动时运行:复制代码 代码如下:chkconfig --levels 235 httpd on4. 在 Apache 配置文件中配置域名:复制代码 代码如下:vi /etc/httpd/conf/httpd.conf,找到 ServerName ,添加“域名:80”,保存并退出。5. 重启 Apache:复制代码 代码如下:service httpd restart6. 浏览器中访问第4步配置的域名,如果出现“Apache 2 Test Page powered by CentOS”的页面,说明配置成功。

‘肆’ 如何将apache源码打成rpm安装包

这些命令一半都是制作rpm包和tar.gz调试时用的,一般的用户不会用到这些命令 一半安装rpm包时用命令: rpm -ivh XX.rpm 卸载命令: rpm -e XX.rpm 安装和卸载过程其实就已经执行了上面的命令,至于具体执行那些命令

‘伍’ yum安装的apache怎么加载源码编译的php

apache的apxs工具可以将php编译一个php.so模块文件出来,在配置文件中加载该模块就可以实现apache,php的整合。

‘陆’ 怎么彻底删除linux下编译安装的apache和php

啊 这个很容易删除吧.
源码编译安装,都会通过--prefix 参数安装目录的.
先停止所有服务直接把安装目录文件夹删除,然后再到/etc配置文件下删除配置文件 就可以了...

然后再通过find命令确定一下就可以了..一般都没这必要.只要删除安装目录和配置文件就可以了..

‘柒’ 源码安装apache报错如下,求助

如下:
ab.o: In function `main':
/APP/software/httpd-2.4.4/support/ab.c:2273: undefined reference to `TLSv1_2_client_method'
/APP/software/httpd-2.4.4/support/ab.c:2271: undefined reference to `TLSv1_1_client_method'
collect2: ld returned 1 exit status
make[2]: *** [ab] Error 1
make[2]: Leaving directory `/APP/software/httpd-2.4.4/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/APP/software/httpd-2.4.4/support'
make: *** [all-recursive] Error 1

‘捌’ rpm包安装的apache,连接源码包的php.5.3问题

年最具阿萨德vsdlvdafvdafvafs

‘玖’ 关于apache的一些疑惑

1、编译就是把高级语言变成底层计算机可以识别的2进制语言,计算机只认识1和0。比如编写php时,咱们的代码是有像if,else等词汇组成的,但是这些词汇是为了人们看、写起来方便,机器是不认识的。要顺利执行这些代码,就需要通过编译程序把if,else等高级语言编写的代码转换成机器能识别的0和1,这个过程就是编译。
2、为何安装好后的apache需要编译?这个不是很明白问题的意思。和3结合起来回答。通常从网上下载软件包后,根据他们的格式(比如rpm,tgz或tar.gz)会有不同的安装方式。rpm安装简单讲就是把已经编译好的(即预编译的)二进制文件自动放到对应的目录下。而像tgz,tar.gz等文件包含的是软件的源代码,即像前面提到的人能很容易看懂的php代码,需要编译成二进制之后才能安装。“安装预编译的apache服务器(1)”与“从apache服务器源代码开始安装(2)”的关系,简单点就是:(1)能直接安装(2)中源代码编译成的二进制文件。举个例子:比如你现在有两台一样的linux系统a和b,你在a中通过(2)源代码的方式编译安装某软件d,这个过程完成后会生产许多的二进制文件c(通常是借助以下命令./configure; make(编译); make install),如果这个时候你把这些生成的所有二进制文件c,都拷贝到b系统中对应的目录下,那么在b中也就成功安装了d软件。因为你拷贝的文件c已经是二进制文件了,系统能直接认到。换句话说就是可以直接把别人编译好的二进制文件(即预编译的文件)拿过来在自己的机器上安装,前提是你们linux系统要一样(或兼容)。
不知道说清楚没有

‘拾’ 如何在云主机上利用源代码安装Nginx服务器

1这些设置可能会有所不同,你需要根据不同情况进行修改。 2安装Apache2 2.切换管理员身份 在Ubuntu中需要用root身份进行操作,所以用下面的命令确保以root身份登录: sudo su 3.开始安装MySQL5 apt-get install mysql-server mysql-client 你将被要求提供一个MySQL的root用户的密码,我们需要在红色区域设置密码。 New password for the MySQL "root" user: <-- yourrootsqlpassword Repeat password for the MySQL "root" user: <-- yourrootsqlpassword 4.安装Apache2 Apache2的是作为一个Ubuntu的软件包,因此我们可以直接用下面命令安装它: apt-get install apache2 5.安装PHP5 我们可以直接安装PHP5和Apache的PHP5的模块,如下: apt-get install php5 libapache2-mod-php5 安装完需要重启 /etc/init.d/apache2 restart 6.测试的PHP5并获取PHP5安装的详细信息: 默认网站的文件根目录是在/var/www下中。现在我们将在该目录中创建一个小型PHP文件(info.php的)在浏览器中调用它。该文件将显示很多关于我们的PHP安装,如安装的PHP版本和有用的一些细节。 7.PHP5获得MySOL的支持 让PHP在MySQL中获得支持,我们可以安装的php-mysql软件包。安装一些其他的PHP5模块,以及您可能需要的应用程序,这是一个好主意: apt-cache search php5 还安装需要安装的 apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl 现在重新启动Apache2的: /etc/init.d/apache2 restart 8.安装phpMyAdmin phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。 apt-get install phpmyadmin 你会看到以下问题: Web server to reconfigure automatically: <-- apache2 Configure database for phpmyadmin with dbconfig-common? <-- No

阅读全文

与源码安装apache相关的资料

热点内容
linuxvi下一个 浏览:973
安卓手机的应用锁怎么解 浏览:733
linux增加路径 浏览:845
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:854
光遇安卓军大衣什么时候上线 浏览:838
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:13
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:823
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246
java马克思 浏览:118