使用mod_spdy与Apache2在CentOS 6.3

使用mod_spdy与Apache2 On CentOS 6.3

SPDY(发音为“SPeeDY”)是一种新的网络协议,其目标是加快网络速度。 Google是HTTP协议的替代品,也是HTTP / 2.0的候选者。 SPDY增加了HTTP与多种速度相关的功能,如流多路复用和报头压缩。 要使用SPDY,您需要支持SPDY的Web服务器和浏览器(如Google Chrome和即将推出的Firefox)。 mod_spdy是一个开源的Apache模块,它将对SPDY协议的支持添加到Apache HTTPD服务器。 本教程将介绍如何在CentOS 6.3上使用mod_spdy与Apache2。

我不会保证这将为您工作!

1初步说明

SPDY通过HTTPS运行,因此我们需要一个支持HTTPS的网站来测试SPDY。 请注意,如果用户的浏览器不支持SPDY或出现问题,SPDY将返回HTTPS,因此安装mod_spdy不会损害您现有的设置。

我假设你有一个工作的LAMP设置,如在CentOS 6.3(LAMP)使用PHP5安装Apache2和MySQL支持中所述

为了测试目的,我将简单地使用CentOS附带的Apache软件包附带的默认SSL网站(如果您的服务器上已经有一个SSL网站,则不需要这样做)。 如果您没有SSL网站,可以按如下方式启用默认SSL网站:

yum install mod_ssl openssl
openssl genrsa -out ca.key 4096
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
cp ca.crt /etc/pki/tls/certs
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
[...]
SSLCertificateFile /etc/pki/tls/certs/ca.crt
[...]
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
[...]
/etc/init.d/httpd restart

转到默认的SSL网站的URL(例如https://www.example.com )并测试它是否工作(我在这里使用默认的自签名证书,这就是为什么我有证书警告,但是这没有使用SPDY的效果):

2安装mod_spdy

首先确保安装:

yum install at

Google在https://developers.google.com/speed/spdy/mod_spdy/上为mod_spdy提供Fedora / CentOS软件包。 只需下载正确的架构(32位或64位)到您的服务器...

64位:

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm

32位:

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm

...并安装如下:

rpm -U mod-spdy-*.rpm

之后重新启动Apache:

/etc/init.d/httpd restart

好的是,mod_spdy不需要配置,它开箱即用!

(其实有一个配置文件,/ etc/httpd/conf.d/spdy.conf ,但默认设置应该是可以的。

cat /etc/httpd/conf.d/spdy.conf
LoadModule spdy_module /usr/lib64/httpd/modules/mod_spdy.so
<IfModule spdy_module>
    # Turn on mod_spdy. To completely disable mod_spdy, you can set
    # this to "off".
    SpdyEnabled on

    # In order to support concurrent multiplexing of requests over a
    # single connection, mod_spdy maintains its own thread pool in
    # each Apache child process for processing requests.  The default
    # size of this thread pool is very conservative; you can override
    # it with a larger value (as below) to increase concurrency, at
    # the possible cost of increased memory usage.
    #
    #SpdyMaxThreadsPerProcess 30

    # Memory usage can also be affected by the maximum number of
    # simultaneously open SPDY streams permitted for each client
    # connection.  Ideally, this limit should be set as high as
    # possible, but you can tweak it as necessary to limit memory
    # consumption.
    #
    #SpdyMaxStreamsPerConnection 100
</IfModule>

您可以在https://developers.google.com/speed/spdy/mod_spdy/install上了解有关配置选项的更多信息。

3测试

现在我们来测试SPDY是否正常工作。 我们需要一个支持SPDY的浏览器。 例如Google Chrome。 打开Chrome并重新加载您的SSL网站(例如https://www.example.com ) - 重要的是重新加载它,以便它可以使用SPDY(首次在第1章中加载它使用普通的HTTPS)。 之后,打开一个新的标签并输入URL

chrome://net-internals/#spdy

如果一切顺利,您的SSL vhost现在应该列在表中,这意味着SPDY支持正在运行。

(由于SPDY对HTTPS的回退机制,您的SSL vhost仍然可以在不支持SPDY的任何其他浏览器中使用。)

4链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏