Skip to content

Instantly share code, notes, and snippets.

@v0ctor
Last active October 11, 2017 12:08
Show Gist options
  • Save v0ctor/d6bee3d899cc3f0f1047e7b353407387 to your computer and use it in GitHub Desktop.
Save v0ctor/d6bee3d899cc3f0f1047e7b353407387 to your computer and use it in GitHub Desktop.
Compile Nginx with OpenSSL to support ALPN (and therefore HTTP/2)
@Zewy
Copy link

Zewy commented Jan 10, 2017

Can you add ngx_pagespeed to your install script?

@v0ctor
Copy link
Author

v0ctor commented Jan 27, 2017

I will try to add it soon. Thanks! :)

@Zewy
Copy link

Zewy commented Feb 3, 2017

I added a fork with ngx_pagespeed also added the last version zlib for 1.2.8 can't be downloaded anymore from zlib.net

@zhdanau
Copy link

zhdanau commented Feb 15, 2017

New Zlib should be:
ZLIB_VERSION="1.2.11" # 2017-01-17 (stable)

@v0ctor
Copy link
Author

v0ctor commented Feb 18, 2017

@Zewy I'm sorry, I didn't have time to do it. I would like to create a repo so that everyone can do pull requests.
@filedir Thank you! I've published a new revision with the latest version of Zlib and the other dependencies.

@jangotek
Copy link

not working bro on CentOS 6

@maszd
Copy link

maszd commented Feb 24, 2017

thank you @victordzmr
you save my day, hope you always update this :)

@TheSpanner
Copy link

TheSpanner commented Mar 28, 2017

Hi Guys
Help a noob out please. So if I look at my current nginx -V, my -path parameters are a little different, and I have fewer --with- modules.

If I use this .sh should I alter it to use my current paths?

nginx -V:

[root@server1 ~]# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib64/nginx/modules 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp 
--user=nginx 
--group=nginx 
--with-file-aio 
--with-threads 
--with-ipv6 
--with-http_addition_module 
--with-http_auth_request_module 
--with-http_dav_module 
--with-http_flv_module 
--with-http_gunzip_module 
--with-http_gzip_static_module 
--with-http_mp4_module 
--with-http_random_index_module 
--with-http_realip_module 
--with-http_secure_link_module 
--with-http_slice_module 
--with-http_ssl_module 
--with-http_stub_status_module 
--with-http_sub_module 
--with-http_v2_module 
--with-mail 
--with-mail_ssl_module 
--with-stream 
--with-stream_ssl_module 
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong 
--param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

(CentOS 7)

@v0ctor
Copy link
Author

v0ctor commented Mar 29, 2017

@palaboy Did you get any error? Remember that you have to install the development tools to use "make". In fact, it should work on any Linux distribution with the necessary dependencies installed.

@maszd I'm glad it was helpful! :)

@TheSpanner If you don't need the missing "with" modules, it is not necessary to add them. Specifically, the modules included in the script are the same ones that come with the binary that is distributed for CentOS 7. As for the paths, which ones are different? If you have installed Nginx via "yum", they should be the same.

@apachebcn
Copy link

Tío! Eres el puto Amo!!!!!
Lo he aplicado a Debian 9, siendo tu no recomendación, y en 2 minutos se me ha activado http/2 con ALPN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment