我不知道 spdy 是否已经与 nginx 1.5.1 一起打包,或者我必须重新编译它。我使用以下命令安装了 nginx:passenger-install-nginx-module,此命令安装了 nginx 1.4.1,但没有将 spdy 模块编译到其中。
php-fpm 将在 nginx 安装上运行,但 Passenger 和 spdy 必须编译到二进制文件中。
我希望有人能给我指出正确的方向,关于如何编译支持 Passenger 和 Spdy 的 Nginx。
答案1
在阅读了有关其他版本 nginx 的多个博客后,我创建了我需要的版本。
- 停止之前的 nginx 实例
service nginx stop
- 获取新的 nginx 版本
wget http://nginx.org/download/nginx-1.5.1.tar.gz
- 解压 nginx 源码包
tar xvfz nginx-1.5.1.tar.gz
并cd nginx-1.5.1/
- 检查当前 nginx 编译选项
nginx -V
- 键入后将选项复制到新行
./configure {your-options}
- 添加 spdy 选项,因此我的选项是
./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-cc-opt=-Wno-error --add-module=/var/lib/gems/1.9.1/gems/passenger-4.0.5/ext/nginx --with-http_spdy_module
- 创建安装
make
- 安装新的 nginx
make install
- 验证 nginx 是否已安装
nginx -v
且具有正确的选项nginx -V
这为我创建了新版本的无缝覆盖安装。