在Apache2上使用SPDY + PHP

老早以前就知道谷歌的HTTPS链接下内容使用了SPDY协议加载。粗略的看了下意思就是谷歌为了提高SSL加载时间和安全性做出的一种应用层协议:

SPDY是Google开发的基于传输控制协议(TCP)的应用层协议 。Google最早是在Chromium中提出的SPDY协议。目前已经被用于Google Chrome浏览器中来访问Google的SSL加密服务。 SPDY当前并不是一个标准协议,但SPDY的开发组已经开始推动SPDY成为正式标准(现为互联网草案),Google Chrome,Mozilla Firefox,Opera和Internet Explorer均已支持SPDY协议。SPDY协议类似于HTTP,但旨在缩短网页的加载时间和提高安全性。SPDY协议通过压缩、多路复用和优先级来缩短加载时间[1]。SPDY并不是首字母缩略字,而仅仅是”speedy”的缩写。SPDY现为Google的商标。

(引用来自维基百科,地址在这里) 本着好奇爱折腾不怕搞坏服务器的原则,闲的无聊的时候给博客的服务器配了下SPDY(反正就是为了装逼,你懂的),查了半天谷歌发现Apache2现在版本似乎只支持到2.2,所以2.4的Apache2要用到话还要自己去编译,然后一步步来。 于是按照国外某大虾给的步骤,复制源代码,自己编译,并修改SSL模块链接库文件,开启Apache2的SSL功能 (原文在这里

$ cd /tmp
$ sudo apt-get -y install git g++ libapr1-dev libaprutil1-dev curl patch binutils make devscripts
$ git clone https://github.com/eousphoros/mod-spdy.git
$ cd mod-spdy/src
$ ./build_modssl_with_npn.sh
$ chmod +x ./build/gyp_chromium
$ make BUILDTYPE=Release
$ service apache2 stop
$ cd /usr/lib/apache2/modules
$ mv mod_ssl.so mod_ssl.so.bak
$ cd /tmp/mod-spdy/src
$ sudo cp mod_ssl.so /usr/lib/apache2/modules
$ service apache2 start
$ sudo a2enmod ssl
$ service apache2 restart
$ sudo cp out/Release/libmod_spdy.so /usr/lib/apache2/modules/mod_spdy.so
$ echo “LoadModule spdy_module /usr/lib/apache2/modules/mod_spdy.so” | sudo tee /etc/apache2/mods-available/spdy.load
$ echo “SpdyEnabled on” | sudo tee /etc/apache2/mods-available/spdy.conf
$ sudo a2enmod spdy
$ service apache2 restart

在看了putty跳了大半天的编译代码和各种之后,总算完了,然后兴致冲冲重启apache2 巴特(but),这尼玛是个什么鬼?

ubuntu@ip-172-31-12-8:~/mod-spdy/src$ service apache2 restart * Restarting web server apache2 [fail]

于是回过头来看原作者原文。。。。 20150315182303 瞬间心里千万只草泥马在奔腾。。。。。。。 卧槽,你不能这么玩儿我啊,我特么用的就是PHP你不给我用这个我还玩儿个蛋啊 然后只好滚回去继续找谷哥,然后谷歌的开发人员网站给了一些步骤。。。。。。 ——没错,要用可以,乖乖滚去CGI 然后又开始配Apache2用CGI

sudo a2dismod php5
sudo apt-get install php5 php5-cgi libapache2-mod-fcgid

然后修改apache2.conf,加上这一段,把PHP处理器交给CGI

AddHandler fcgid-script .php Options +ExecCGI FcgidWrapper /usr/bin/php-cgi .php

谷歌要我滚回去重启,好嘞,重启 这下总算可以了,但是。。。。。 就在我写这篇文章准备记录下的时候。。。WP没法传图片了。。。。 我了个大擦?????? 好吧,按照某些人给的办法,修改.htaccess,关掉文件的安全检查 然后。。。整个网站都500了 你他妈在逗我 回SSH CAT错误记录,= =,CGI限制文件大小上传失败。。。 我去。。。。 又是改apache2.conf,加一段

AddHandler fcgid-script .fcgi FcgidConnectTimeout 20 # to get around upload errors when uploading images increase the MaxRequestLen size to 15MB MaxRequestLen 15728640

好吧,老老实实再去检查一次还有别的问题没。。。。。