2013-03-01 14 views
13

Mam aplikację szyny i chcę skonfigurować obsługę protokołu Google SPDY. Ale po zainstalowaniu Nginx z łatką SPDY, a następnie włączeniu spdy w wirtualnym hoście, nie pozwala mi to zrestartować nginx zamiast tego zgłasza następujący błąd.Jak skonfigurować protokół SPDY przez Nginx?

Restarting nginx: nginx: [emerg] invalid parameter "spdy" in /etc/nginx/sites-enabled/default:112 
nginx: configuration file /etc/nginx/nginx.conf test failed 

Mam przygotował najnowszą nginx 1.3.13 z SPDY poprawki, ja tu wspomnieć moje kroki zainstalować

wget http://nginx.org/download/nginx-1.3.13.tar.gz 
tar xvfz nginx-1.3.13.tar.gz 
cd nginx-1.3.13 

# Fetch the SPDY patch and apply it 
wget http://nginx.org/patches/spdy/patch.spdy.txt 
patch -p1 < patch.spdy.txt 

./configure \ 
--sbin-path=/usr/local/sbin/nginx \ 
--prefix=/etc/nginx \ 
--conf-path=/etc/nginx/nginx.conf \ 
--error-log-path=/var/log/nginx/error.log \ 
--http-client-body-temp-path=/var/lib/nginx/body \ 
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ 
--http-log-path=/var/log/nginx/access.log \ 
--http-proxy-temp-path=/var/lib/nginx/proxy \ 
--http-scgi-temp-path=/var/lib/nginx/scgi \ 
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \ 
--lock-path=/var/lock/nginx.lock \ 
--pid-path=/var/run/nginx.pid \ 
--with-debug \ 
--with-http_addition_module \ 
--with-http_dav_module \ 
--with-http_gzip_static_module \ 
--with-http_realip_module \ 
--with-http_stub_status_module \ 
--with-http_ssl_module \ 
--with-http_sub_module \ 
--with-http_xslt_module \ 
--with-http_spdy_module \ 
--with-ipv6 \ 
--with-sha1=/usr/include/openssl \ 
--with-md5=/usr/include/openssl \ 
--with-mail \ 
--with-mail_ssl_module \ 

# wget https://you.googlecode.com/files/ngx_cache_purge-1.6.tar.gz 
--add-module=/software/ngx_cache_purge-1.6 \ 

#http://www.openssl.org/source/openssl-1.0.1e.tar.gz 
--with-openssl='/software/openssl-1.0.1e' 

# Build and install nginx 
make && sudo make install 

To kompiluje pomyślnie bez żadnych błędów. Wynik 0F nginx -V daje następujące

nginx version: nginx/1.3.13 
built by gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 
TLS SNI support enabled 
configure arguments: --sbin-path=/usr/local/sbin/nginx --prefix=/etc/nginx --conf-   path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-http_spdy_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/software/ngx_cache_purge-1.6 --with-openssl=/software/openssl-1.0.1e 

mój/etc/nginx/site-config musi być włączona

server { 
     listen 443 ssl spdy; 

     ssl_certificate  server.crt; 
     ssl_certificate_key server.key; 

     ... 
    } 

Wszakże ta instalacja powiodła nginx nie uruchamia się z SPDY param w bloku serwera miejscu -przyłączony plik.

Wszelkie sugestie? Jestem pewien, że czegoś tu nie ma, ale nie potrafię tego rozgryźć.

+1

SPDY nie jest duży bonus przez siebie, ale z połączeniu TCP/IP strojenie https://coderwall.com/p/8igwqa – Anatoly

+0

Śledź ten artykuł http://www.liberiangeek.net/2014/10/install-latest-version-nginx-ubuntu-14-10/ – AntonAL

Odpowiedz

13

UPDATE (19 listopada 2013): Zmodyfikowany skrypt dla nginx 1.4.3 (nie trzeba SPDY patcha)

https://gist.github.com/deepak-kumar/7541199#file-compile_nginx_1-4-3_with-spdy-sh

pisałem Shell Script dla konfiguracji

https://gist.github.com/deepak-kumar/5069550#file-compile_nginx_with_spdy-sh

Znalazłem rozwiązanie problemu.

Mam już pakiet nginx zainstalowany na moim Ubuntu 12.04, nawet przed kompilacją tego 1.3.13, który był przyczyną problemu. $ sudo apt-get install nginx

Aby rozwiązać ten problem, zrobiłem pewien, że /etc/init.d/nginx należy używać odpowiedniego pliku binarnego.

ja nie opierając się na terminalu:

$ which nginx 
$ /usr/local/sbin/nginx 

sprawdzone moje istniejące /etc/init.d/nginx skrypt został używając źle DAEMON ścieżka więc zmieniłem ją wyglądać następująco (robót)

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
DAEMON=/usr/local/sbin/nginx # $which nginx 

Wcześniej powyżej wartości były (nie działa)

#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
#DAEMON=/usr/sbin/nginx 

Reszta fi le pozostaje takie samo. Więc zasadniczo użyłem poprawnej wersji binarnej.

Aktualizacja: Ten blog jest również bardzo dobrym punktem odniesienia, jeśli jesteście zainteresowani. http://blog.bubbleideas.com/2012/08/How-to-set-up-SPDY-on-nginx-for-your-rails-app-and-test-it.html

+0

Może być łatwiejsze "apt-get remove nginx" .. chociaż ten rodzaj spala twój most, jeśli pracujesz nad systemem produkcyjnym. – Julian

+0

Czy jest aktualizacja tego skryptu powłoki dla nginx 1.6.2.Wydaje się, że skrypt nie działa na Ubuntu 14.0.4 dla najnowszego nginx. – marvindanig

+1

@ marvindanig to powinno pomóc, więcej nie potrzebujesz już łatki po prostu przekazuj --with-http_spdy_module opcję podczas kompilowania http://blog.glaucocustodio.com/2014/11/24/adding-support-to-spdy- Protokół-na-nginx-z-zero-przestoju/ –

Powiązane problemy