blob: 51920bc2bc205d80d4241c2064af3cb4d4e48c58 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
NGX_PAGESPEED_VERSION=1.9.32.3
NGX_VERSION=1.6.2
BUILD_DIR=nginx-$(NGX_VERSION)
all: fetch build
fetch: fetch_core pagespeed fetch_dep
fetch_core:
# Downloading source
test -f nginx-$(NGX_VERSION).tar.gz || wget http://nginx.org/download/nginx-$(NGX_VERSION).tar.gz
# Downloading signature
test -f nginx-$(NGX_VERSION).tar.gz.asc || wget http://nginx.org/download/nginx-$(NGX_VERSION).tar.gz.asc
# Getting public key
gpg --keyserver keyserver.ubuntu.com --recv-keys A1C052F8
# Verifying archiv
gpg --verify nginx-$(NGX_VERSION).tar.gz.asc nginx-$(NGX_VERSION).tar.gz
mkdir -p $(BUILD_DIR)
tar xzf nginx-$(NGX_VERSION).tar.gz
fetch_dep:
cd $(BUILD_DIR) && git clone https://github.com/agentzh/headers-more-nginx-module.git
cd $(BUILD_DIR) && git clone https://github.com/nbs-system/naxsi.git
cd $(BUILD_DIR) && git clone https://github.com/FRiCKLE/ngx_cache_purge.git
cd $(BUILD_DIR) && git clone https://github.com/simpl/ngx_devel_kit.git
cd $(BUILD_DIR) && git clone https://github.com/agentzh/echo-nginx-module.git
cd $(BUILD_DIR) && git clone https://github.com/chaoslawful/lua-nginx-module.git
cd $(BUILD_DIR) && git clone https://github.com/wandenberg/nginx-push-stream-module.git
cd $(BUILD_DIR) && git clone https://github.com/arut/nginx-rtmp-module.git
cd $(BUILD_DIR) && git clone https://github.com/masterzen/nginx-upload-progress-module.git
cd $(BUILD_DIR) && git clone https://github.com/gnosek/nginx-upstream-fair.git
cd $(BUILD_DIR) && git clone https://github.com/aperezdc/ngx-fancyindex.git
cd $(BUILD_DIR) && git clone https://github.com/tony2001/ngx_http_pinba_module.git
cd $(BUILD_DIR) && git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
cd $(BUILD_DIR) && git clone https://github.com/pagespeed/ngx_pagespeed.git
cd $(BUILD_DIR) && git clone https://github.com/alibaba/nginx-http-concat/
cd $(BUILD_DIR) && git clone https://github.com/zebrafishlabs/nginx-statsd
cd $(BUILD_DIR) && git clone https://github.com/newobj/nginx-x-rid-header
cd $(BUILD_DIR) && git clone https://github.com/openresty/redis2-nginx-module
mkdir $(BUILD_DIR)/nginx-syslog && wget -O $(BUILD_DIR)/nginx-syslog/config https://raw.githubusercontent.com/gplessis/dotdeb-nginx/wheezy/debian/modules/nginx-syslog/config
build:
cd $(BUILD_DIR) && ./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--user=www-data \
--group=www-data \
--with-ipv6 \
--with-pcre-jit \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_auth_request_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_flv_module \
--with-http_secure_link_module \
--with-http_spdy_module \
--with-http_sub_module \
--with-http_addition_module \
--with-google_perftools_module \
--with-http_gunzip_module \
--add-module=headers-more-nginx-module \
--add-module=naxsi/naxsi_src \
--add-module=ngx_cache_purge \
--add-module=ngx_devel_kit \
--add-module=echo-nginx-module \
--add-module=lua-nginx-module \
--add-module=nginx-push-stream-module \
--add-module=nginx-rtmp-module \
--add-module=nginx-syslog \
--add-module=nginx-upload-progress-module \
--add-module=nginx-upstream-fair \
--add-module=ngx-fancyindex \
--add-module=ngx_http_pinba_module \
--add-module=ngx_http_substitutions_filter_module \
--add-module=./ngx_pagespeed \
--add-module=./nginx-http-concat \
--with-cc-opt=-I/usr/include/ossp \
--with-ld-opt=-lossp-uuid \
--add-module=./nginx-x-rid-header \
--add-module=./redis2-nginx-module \
--add-module=./nginx-statsd $(NGX_CONFIGURE)
cd $(BUILD_DIR)/ && \
bash -c "make -j $$(grep -c processor /proc/cpuinfo)"
install:
cd $(BUILD_DIR)/ && make install
clean:
rm nginx-$(NGX_VERSION).tar.gz
rm nginx-$(NGX_VERSION).tar.gz.asc
prepare:
@(lsb_release -a | grep Debian || ! test -z $(DEBIAN)) || (echo "You don't run Debian, do you? This section is optimized for the Debian GNU/Linux distro.\nOverwrite it with 'DEBIAN=1 make prepare'.\n" && exit 1)
dpkg -l | grep build-essential || apt-get install build-essential
dpkg -l | grep zlib1g-dev || apt-get install zlib1g-dev
dpkg -l | grep -E '^libpcre3$$' || apt-get install libpcre3
dpkg -l | grep -E '^libpcre3-dev$$' || apt-get install libpcre3-dev
dpkg -l | grep liblua5.1-0-dev || apt-get install liblua5.1-0-dev
dpkg -l | grep libossp-uuid-dev || apt-get install libossp-uuid-dev
dpkg -l | grep uuid-dev || apt-get install uuid-dev
dpkg -l | grep libgoogle-perftools-dev || apt-get install libgoogle-perftools-dev
dpkg -l | grep libssl-dev || apt-get install libssl-dev
pagespeed:
@(test -d $(BUILD_DIR)/ngx_pagespeed && cd $(BUILD_DIR)/ngx_pagespeed && \
echo "Downloading pagespeed library." && \
wget https://dl.google.com/dl/page-speed/psol/$(NGX_PAGESPEED_VERSION).tar.gz && \
tar -xzvf $(NGX_PAGESPEED_VERSION).tar.gz) || \
echo "You need to run 'make fetch_dep' first to download ngx_pagespeed."
help:
@echo "This is a Makefile to automatize compiling nginx from source.\n"
@echo "Run 'make fetch' to fetch the core and addons."
@echo "Run 'make build' to configure and compile nginx. If you want to pass options to ./configure you can do this with 'NGX_CONFIGURE=options... make build' on the commmand line."
@echo "'make install' will install it system wide (needs root privileges)."
@echo "If you are on GNU/Debian, you can run 'make prepare' to install some needed libraries."
|