nginx 1.9.10に更新しました | no news.

nginx 1.9.10に更新しました

今回はSecurity fixが多めの印象です。resolverディレクティブを使っている場合はアップデートしておいたほうがいいでしょう。

*) Security: invalid pointer dereference might occur during DNS server
response processing if the “resolver” directive was used, allowing an
attacker who is able to forge UDP packets from the DNS server to
cause segmentation fault in a worker process (CVE-2016-0742).

*) Security: use-after-free condition might occur during CNAME response
processing if the “resolver” directive was used, allowing an attacker
who is able to trigger name resolution to cause segmentation fault in
a worker process, or might have potential other impact
(CVE-2016-0746).

*) Security: CNAME resolution was insufficiently limited if the
“resolver” directive was used, allowing an attacker who is able to
trigger arbitrary name resolution to cause excessive resource
consumption in worker processes (CVE-2016-0747).

*) Feature: the “auto” parameter of the “worker_cpu_affinity” directive.

*) Bugfix: the “proxy_protocol” parameter of the “listen” directive did
not work with IPv6 listen sockets.

*) Bugfix: connections to upstream servers might be cached incorrectly
when using the “keepalive” directive.

*) Bugfix: proxying used the HTTP method of the original request after
an “X-Accel-Redirect” redirection.

。。。いやそもそもresolverディレクティブってなんなんだ?初耳なんですが。ということで見てみました。

Configures name servers used to resolve names of upstream servers into addresses, for example:

resolver 127.0.0.1 [::1]:5353;
An address can be specified as a domain name or IP address, and an optional port (1.3.1, 1.2.2). If port is not specified, the port 53 is used. Name servers are queried in a round-robin fashion.

upstreamディレクティブで、IPアドレスでなくFQDNを指定した場合に使うDNSを指定するみたいです。はてupstreamとは。昔どこかで聞いたことがありますが。

Defines a group of servers. Servers can listen on different ports. In addition, servers listening on TCP and UNIX-domain sockets can be mixed.

Example:

upstream backend {
server backend1.example.com:12345 weight=5;
server 127.0.0.1:12345 max_fails=3 fail_timeout=30s;
server unix:/tmp/backend2;
server backend3.example.com:12345 resolve;

server backup1.example.com:12345 backup;
}

fastcgiなどを使った場合にアプリサーバー(バックエンドサーバ)を指定するディレクティブのようです。主に負荷分散のためにバックエンドを複数指定する場合に使われます。ハイパフォーマンスHTTPサーバ Nginx入門より抜粋した例を載せておきます。

構 文
このモジュールが導入されると、次のようにサーバのリストを定義するupstreamというブロック
を宣言できるようになる。

upstream phpfpm {
server192.168.0.50:9000;
server192.168.0.51:9000;
server192.168.0.52:9000;

FastCGIの設定を定義するときに、接続先をupstreamブロックにする。

server {
server_name website.com;
location ~* /.php$ {
fast_cgi_pass phpfpm ;
}
}

ただしこのサーバーはupstream使ってないしそもそもresolverディレクティブ使ってないので今回は関係なさそうです。

久々なのでインストールプロセスを書いていきます。

nginxのインストール

スポンサーリンク
レクタングル大

ソースの取得

まずrootでログインしておきます。nginx1.9.10のソースはhttp://nginx.org/download/nginx-1.9.10.tar.gzですのでこれをダウンロードします。

# cd /usr/local/src/
# wget http://nginx.org/download/nginx-1.9.10.tar.gz
--2016-01-31 16:28:54--  http://nginx.org/download/nginx-1.9.10.tar.gz
Resolving nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2606:7100:1:69::3f, ...
Connecting to nginx.org (nginx.org)|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 889267 (868K) [application/octet-stream]
Saving to: 'nginx-1.9.10.tar.gz'

100%[==========================================================>] 889,267      430KB/s   in 2.0s   

2016-01-31 16:28:57 (430 KB/s) - 'nginx-1.9.10.tar.gz' saved [889267/889267]

#

ソースの展開

取得したソースは圧縮されているので展開します。

# tar zxf nginx-1.9.10.tar.gz

さて展開できたか確認してみます。

# cd nginx-1.9.10/
# ls
CHANGES  CHANGES.ru  LICENSE  README  auto  conf  configure  contrib  html  man  src
#

できてますね。

onfigureの実行

とりあえず指定しているパラメータは下記のとおりです。

オプションスイッチ意味備考
--with-http_realip_module要求ヘッダデータから実際のIPアドレスを読み出すRealIPモジュールを有効にするリバースプロクシとして使いたい場合はかなり必須
--with-http_addition_module応答本体の前または後ろにデータを追加するAdditionモジュールを有効にする
--with-http_gzip_static_module圧縮前のファイルを送るGZip Precompressionモジュールを有効にする
--with-http_gunzip_modulegzip圧縮データに対応していないブラウザに対して、応答データを解凍してから送るためのモジュールを有効にする
--with-http_image_filter_moduleイメージに変換をかけられるImageFilterモジュールを有効にするlibgdライブラリが必要
--with-http_stub_status_moduleサーバ統計・情報ページを生成するStub Statusモジュールを有効にする
--with-http_ssl_moduleSSLモジュールを有効にする
--with-http_sub_modulewebページのテキストを置換するSubstitutionモジュールを有効にする
--with-http_xslt_moduleXMLドキュメントにXSL変kンをかけるXSLTモジュールを有効にするlibxml2、libxsltライブラリが必要
--with-sha1=/usr/include/opensslSHA1ライブラリのソースコードのパスを指定する
--with-md5=/usr/include/opensslMD5ライブラリのソースコードのパスを指定する
--with-http_v2_moduleHTTP/2を有効にする
--with-debugデバッグを有効にする
--prefix=/usr/local/nginx-1.9.10nginxがインストールされるベースディレクトリを指定する
# time ./configure --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_image_filter_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-http_v2_module --with-debug --prefix=/usr/local/nginx-1.9.10      
checking for OS
 + Linux 3.13.0-74-generic x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) 
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for sched_setaffinity() ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for nobody group ... not found
checking for nogroup group ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for eventfd() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for OpenSSL library ... found
checking for zlib library ... found
checking for libxslt ... found
checking for libexslt ... found
checking for GD library ... found
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx-1.9.10"
  nginx binary file: "/usr/local/nginx-1.9.10/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx-1.9.10/conf"
  nginx configuration file: "/usr/local/nginx-1.9.10/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx-1.9.10/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx-1.9.10/logs/error.log"
  nginx http access log file: "/usr/local/nginx-1.9.10/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"


real    0m9.109s
user    0m4.007s
sys     0m4.161s
#

OKみたいですね。

コンパイル

さてコンパイル。

# time make
make -f objs/Makefile
make[1]: Entering directory /usr/local/src/nginx-1.9.10'
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/nginx.o \
                src/core/nginx.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_log.o \
                src/core/ngx_log.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_palloc.o \
                src/core/ngx_palloc.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_array.o \
                src/core/ngx_array.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_list.o \
                src/core/ngx_list.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_hash.o \
                src/core/ngx_hash.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_buf.o \
                src/core/ngx_buf.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_queue.o \
                src/core/ngx_queue.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_output_chain.o \
                src/core/ngx_output_chain.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_string.o \
                src/core/ngx_string.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_parse.o \
                src/core/ngx_parse.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_parse_time.o \
                src/core/ngx_parse_time.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_inet.o \
                src/core/ngx_inet.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_file.o \
                src/core/ngx_file.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_crc32.o \
                src/core/ngx_crc32.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_murmurhash.o \
                src/core/ngx_murmurhash.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_md5.o \
                src/core/ngx_md5.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_rbtree.o \
                src/core/ngx_rbtree.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_radix_tree.o \
                src/core/ngx_radix_tree.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_slab.o \
                src/core/ngx_slab.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_times.o \
                src/core/ngx_times.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_shmtx.o \
                src/core/ngx_shmtx.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_connection.o \
                src/core/ngx_connection.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_cycle.o \
                src/core/ngx_cycle.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_spinlock.o \
                src/core/ngx_spinlock.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_rwlock.o \
                src/core/ngx_rwlock.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_cpuinfo.o \
                src/core/ngx_cpuinfo.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_conf_file.o \
                src/core/ngx_conf_file.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_resolver.o \
                src/core/ngx_resolver.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_open_file_cache.o \
                src/core/ngx_open_file_cache.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_crypt.o \
                src/core/ngx_crypt.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_proxy_protocol.o \
                src/core/ngx_proxy_protocol.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_syslog.o \
                src/core/ngx_syslog.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event.o \
                src/event/ngx_event.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_timer.o \
                src/event/ngx_event_timer.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_posted.o \
                src/event/ngx_event_posted.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_accept.o \
                src/event/ngx_event_accept.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_connect.o \
                src/event/ngx_event_connect.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_pipe.o \
                src/event/ngx_event_pipe.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_time.o \
                src/os/unix/ngx_time.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_errno.o \
                src/os/unix/ngx_errno.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_alloc.o \
                src/os/unix/ngx_alloc.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_files.o \
                src/os/unix/ngx_files.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_socket.o \
                src/os/unix/ngx_socket.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_recv.o \
                src/os/unix/ngx_recv.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_readv_chain.o \
                src/os/unix/ngx_readv_chain.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_udp_recv.o \
                src/os/unix/ngx_udp_recv.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_send.o \
                src/os/unix/ngx_send.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_writev_chain.o \
                src/os/unix/ngx_writev_chain.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_channel.o \
                src/os/unix/ngx_channel.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_shmem.o \
                src/os/unix/ngx_shmem.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_process.o \
                src/os/unix/ngx_process.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_daemon.o \
                src/os/unix/ngx_daemon.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_setaffinity.o \
                src/os/unix/ngx_setaffinity.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_setproctitle.o \
                src/os/unix/ngx_setproctitle.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_posix_init.o \
                src/os/unix/ngx_posix_init.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_user.o \
                src/os/unix/ngx_user.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_process_cycle.o \
                src/os/unix/ngx_process_cycle.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_linux_init.o \
                src/os/unix/ngx_linux_init.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/modules/ngx_epoll_module.o \
                src/event/modules/ngx_epoll_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/os/unix/ngx_linux_sendfile_chain.o \
                src/os/unix/ngx_linux_sendfile_chain.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_openssl.o \
                src/event/ngx_event_openssl.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/event/ngx_event_openssl_stapling.o \
                src/event/ngx_event_openssl_stapling.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/src/core/ngx_regex.o \
                src/core/ngx_regex.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http.o \
                src/http/ngx_http.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_core_module.o \
                src/http/ngx_http_core_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_special_response.o \
                src/http/ngx_http_special_response.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_request.o \
                src/http/ngx_http_request.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_parse.o \
                src/http/ngx_http_parse.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_header_filter_module.o \
                src/http/ngx_http_header_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_write_filter_module.o \
                src/http/ngx_http_write_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_copy_filter_module.o \
                src/http/ngx_http_copy_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_log_module.o \
                src/http/modules/ngx_http_log_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_request_body.o \
                src/http/ngx_http_request_body.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_variables.o \
                src/http/ngx_http_variables.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_script.o \
                src/http/ngx_http_script.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_upstream.o \
                src/http/ngx_http_upstream.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_upstream_round_robin.o \
                src/http/ngx_http_upstream_round_robin.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_static_module.o \
                src/http/modules/ngx_http_static_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_index_module.o \
                src/http/modules/ngx_http_index_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_chunked_filter_module.o \
                src/http/modules/ngx_http_chunked_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_range_filter_module.o \
                src/http/modules/ngx_http_range_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_headers_filter_module.o \
                src/http/modules/ngx_http_headers_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_not_modified_filter_module.o \
                src/http/modules/ngx_http_not_modified_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_file_cache.o \
                src/http/ngx_http_file_cache.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_gzip_filter_module.o \
                src/http/modules/ngx_http_gzip_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/ngx_http_postpone_filter_module.o \
                src/http/ngx_http_postpone_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_ssi_filter_module.o \
                src/http/modules/ngx_http_ssi_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_charset_filter_module.o \
                src/http/modules/ngx_http_charset_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_xslt_filter_module.o \
                src/http/modules/ngx_http_xslt_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_image_filter_module.o \
                src/http/modules/ngx_http_image_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_sub_filter_module.o \
                src/http/modules/ngx_http_sub_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_addition_filter_module.o \
                src/http/modules/ngx_http_addition_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_gunzip_filter_module.o \
                src/http/modules/ngx_http_gunzip_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_userid_filter_module.o \
                src/http/modules/ngx_http_userid_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/v2/ngx_http_v2.o \
                src/http/v2/ngx_http_v2.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/v2/ngx_http_v2_table.o \
                src/http/v2/ngx_http_v2_table.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/v2/ngx_http_v2_huff_decode.o \
                src/http/v2/ngx_http_v2_huff_decode.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/v2/ngx_http_v2_huff_encode.o \
                src/http/v2/ngx_http_v2_huff_encode.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/v2/ngx_http_v2_module.o \
                src/http/v2/ngx_http_v2_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/v2/ngx_http_v2_filter_module.o \
                src/http/v2/ngx_http_v2_filter_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_gzip_static_module.o \
                src/http/modules/ngx_http_gzip_static_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_autoindex_module.o \
                src/http/modules/ngx_http_autoindex_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_auth_basic_module.o \
                src/http/modules/ngx_http_auth_basic_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_access_module.o \
                src/http/modules/ngx_http_access_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_limit_conn_module.o \
                src/http/modules/ngx_http_limit_conn_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_limit_req_module.o \
                src/http/modules/ngx_http_limit_req_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_realip_module.o \
                src/http/modules/ngx_http_realip_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_geo_module.o \
                src/http/modules/ngx_http_geo_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_map_module.o \
                src/http/modules/ngx_http_map_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_split_clients_module.o \
                src/http/modules/ngx_http_split_clients_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_referer_module.o \
                src/http/modules/ngx_http_referer_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_rewrite_module.o \
                src/http/modules/ngx_http_rewrite_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_ssl_module.o \
                src/http/modules/ngx_http_ssl_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_proxy_module.o \
                src/http/modules/ngx_http_proxy_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_fastcgi_module.o \
                src/http/modules/ngx_http_fastcgi_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_uwsgi_module.o \
                src/http/modules/ngx_http_uwsgi_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_scgi_module.o \
                src/http/modules/ngx_http_scgi_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_memcached_module.o \
                src/http/modules/ngx_http_memcached_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_empty_gif_module.o \
                src/http/modules/ngx_http_empty_gif_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_browser_module.o \
                src/http/modules/ngx_http_browser_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_upstream_hash_module.o \
                src/http/modules/ngx_http_upstream_hash_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
                src/http/modules/ngx_http_upstream_ip_hash_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
                src/http/modules/ngx_http_upstream_least_conn_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
                src/http/modules/ngx_http_upstream_keepalive_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_upstream_zone_module.o \
                src/http/modules/ngx_http_upstream_zone_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
                -o objs/src/http/modules/ngx_http_stub_status_module.o \
                src/http/modules/ngx_http_stub_status_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs \
                -o objs/ngx_modules.o \
                objs/ngx_modules.c
cc -o objs/nginx \
        objs/src/core/nginx.o \
        objs/src/core/ngx_log.o \
        objs/src/core/ngx_palloc.o \
        objs/src/core/ngx_array.o \
        objs/src/core/ngx_list.o \
        objs/src/core/ngx_hash.o \
        objs/src/core/ngx_buf.o \
        objs/src/core/ngx_queue.o \
        objs/src/core/ngx_output_chain.o \
        objs/src/core/ngx_string.o \
        objs/src/core/ngx_parse.o \
        objs/src/core/ngx_parse_time.o \
        objs/src/core/ngx_inet.o \
        objs/src/core/ngx_file.o \
        objs/src/core/ngx_crc32.o \
        objs/src/core/ngx_murmurhash.o \
        objs/src/core/ngx_md5.o \
        objs/src/core/ngx_rbtree.o \
        objs/src/core/ngx_radix_tree.o \
        objs/src/core/ngx_slab.o \
        objs/src/core/ngx_times.o \
        objs/src/core/ngx_shmtx.o \
        objs/src/core/ngx_connection.o \
        objs/src/core/ngx_cycle.o \
        objs/src/core/ngx_spinlock.o \
        objs/src/core/ngx_rwlock.o \
        objs/src/core/ngx_cpuinfo.o \
        objs/src/core/ngx_conf_file.o \
        objs/src/core/ngx_resolver.o \
        objs/src/core/ngx_open_file_cache.o \
        objs/src/core/ngx_crypt.o \
        objs/src/core/ngx_proxy_protocol.o \
        objs/src/core/ngx_syslog.o \
        objs/src/event/ngx_event.o \
        objs/src/event/ngx_event_timer.o \
        objs/src/event/ngx_event_posted.o \
        objs/src/event/ngx_event_accept.o \
        objs/src/event/ngx_event_connect.o \
        objs/src/event/ngx_event_pipe.o \
        objs/src/os/unix/ngx_time.o \
        objs/src/os/unix/ngx_errno.o \
        objs/src/os/unix/ngx_alloc.o \
        objs/src/os/unix/ngx_files.o \
        objs/src/os/unix/ngx_socket.o \
        objs/src/os/unix/ngx_recv.o \
        objs/src/os/unix/ngx_readv_chain.o \
        objs/src/os/unix/ngx_udp_recv.o \
        objs/src/os/unix/ngx_send.o \
        objs/src/os/unix/ngx_writev_chain.o \
        objs/src/os/unix/ngx_channel.o \
        objs/src/os/unix/ngx_shmem.o \
        objs/src/os/unix/ngx_process.o \
        objs/src/os/unix/ngx_daemon.o \
        objs/src/os/unix/ngx_setaffinity.o \
        objs/src/os/unix/ngx_setproctitle.o \
        objs/src/os/unix/ngx_posix_init.o \
        objs/src/os/unix/ngx_user.o \
        objs/src/os/unix/ngx_process_cycle.o \
        objs/src/os/unix/ngx_linux_init.o \
        objs/src/event/modules/ngx_epoll_module.o \
        objs/src/os/unix/ngx_linux_sendfile_chain.o \
        objs/src/event/ngx_event_openssl.o \
        objs/src/event/ngx_event_openssl_stapling.o \
        objs/src/core/ngx_regex.o \
        objs/src/http/ngx_http.o \
        objs/src/http/ngx_http_core_module.o \
        objs/src/http/ngx_http_special_response.o \
        objs/src/http/ngx_http_request.o \
        objs/src/http/ngx_http_parse.o \
        objs/src/http/ngx_http_header_filter_module.o \
        objs/src/http/ngx_http_write_filter_module.o \
        objs/src/http/ngx_http_copy_filter_module.o \
        objs/src/http/modules/ngx_http_log_module.o \
        objs/src/http/ngx_http_request_body.o \
        objs/src/http/ngx_http_variables.o \
        objs/src/http/ngx_http_script.o \
        objs/src/http/ngx_http_upstream.o \
        objs/src/http/ngx_http_upstream_round_robin.o \
        objs/src/http/modules/ngx_http_static_module.o \
        objs/src/http/modules/ngx_http_index_module.o \
        objs/src/http/modules/ngx_http_chunked_filter_module.o \
        objs/src/http/modules/ngx_http_range_filter_module.o \
        objs/src/http/modules/ngx_http_headers_filter_module.o \
        objs/src/http/modules/ngx_http_not_modified_filter_module.o \
        objs/src/http/ngx_http_file_cache.o \
        objs/src/http/modules/ngx_http_gzip_filter_module.o \
        objs/src/http/ngx_http_postpone_filter_module.o \
        objs/src/http/modules/ngx_http_ssi_filter_module.o \
        objs/src/http/modules/ngx_http_charset_filter_module.o \
        objs/src/http/modules/ngx_http_xslt_filter_module.o \
        objs/src/http/modules/ngx_http_image_filter_module.o \
        objs/src/http/modules/ngx_http_sub_filter_module.o \
        objs/src/http/modules/ngx_http_addition_filter_module.o \
        objs/src/http/modules/ngx_http_gunzip_filter_module.o \
        objs/src/http/modules/ngx_http_userid_filter_module.o \
        objs/src/http/v2/ngx_http_v2.o \
        objs/src/http/v2/ngx_http_v2_table.o \
        objs/src/http/v2/ngx_http_v2_huff_decode.o \
        objs/src/http/v2/ngx_http_v2_huff_encode.o \
        objs/src/http/v2/ngx_http_v2_module.o \
        objs/src/http/v2/ngx_http_v2_filter_module.o \
        objs/src/http/modules/ngx_http_gzip_static_module.o \
        objs/src/http/modules/ngx_http_autoindex_module.o \
        objs/src/http/modules/ngx_http_auth_basic_module.o \
        objs/src/http/modules/ngx_http_access_module.o \
        objs/src/http/modules/ngx_http_limit_conn_module.o \
        objs/src/http/modules/ngx_http_limit_req_module.o \
        objs/src/http/modules/ngx_http_realip_module.o \
        objs/src/http/modules/ngx_http_geo_module.o \
        objs/src/http/modules/ngx_http_map_module.o \
        objs/src/http/modules/ngx_http_split_clients_module.o \
        objs/src/http/modules/ngx_http_referer_module.o \
        objs/src/http/modules/ngx_http_rewrite_module.o \
        objs/src/http/modules/ngx_http_ssl_module.o \
        objs/src/http/modules/ngx_http_proxy_module.o \
        objs/src/http/modules/ngx_http_fastcgi_module.o \
        objs/src/http/modules/ngx_http_uwsgi_module.o \
        objs/src/http/modules/ngx_http_scgi_module.o \
        objs/src/http/modules/ngx_http_memcached_module.o \
        objs/src/http/modules/ngx_http_empty_gif_module.o \
        objs/src/http/modules/ngx_http_browser_module.o \
        objs/src/http/modules/ngx_http_upstream_hash_module.o \
        objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
        objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
        objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
        objs/src/http/modules/ngx_http_upstream_zone_module.o \
        objs/src/http/modules/ngx_http_stub_status_module.o \
        objs/ngx_modules.o \
        -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz -lxml2 -lxslt -lexslt -lgd
make[1]: Leaving directory /usr/local/src/nginx-1.9.10'
make -f objs/Makefile manpage
make[1]: Entering directory /usr/local/src/nginx-1.9.10'
sed -e "s|%%PREFIX%%|/usr/local/nginx-1.9.10|" \
                -e "s|%%PID_PATH%%|/usr/local/nginx-1.9.10/logs/nginx.pid|" \
                -e "s|%%CONF_PATH%%|/usr/local/nginx-1.9.10/conf/nginx.conf|" \
                -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx-1.9.10/logs/error.log|" \
                < man/nginx.8 > objs/nginx.8
make[1]: Leaving directory /usr/local/src/nginx-1.9.10'

real    0m53.313s
user    0m47.615s
sys     0m7.563s
root@www4273gj:/usr/local/src/nginx-1.9.10#

こちらも問題なさそう。

インストール

# time make install
make -f objs/Makefile install
make[1]: Entering directory /usr/local/src/nginx-1.9.10'
test -d '/usr/local/nginx-1.9.10' || mkdir -p '/usr/local/nginx-1.9.10'
test -d '/usr/local/nginx-1.9.10/sbin'          || mkdir -p '/usr/local/nginx-1.9.10/sbin'
test ! -f '/usr/local/nginx-1.9.10/sbin/nginx'          || mv '/usr/local/nginx-1.9.10/sbin/nginx' '/usr/local/nginx-1.9.10/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx-1.9.10/sbin/nginx'
test -d '/usr/local/nginx-1.9.10/conf'          || mkdir -p '/usr/local/nginx-1.9.10/conf'
cp conf/koi-win '/usr/local/nginx-1.9.10/conf'
cp conf/koi-utf '/usr/local/nginx-1.9.10/conf'
cp conf/win-utf '/usr/local/nginx-1.9.10/conf'
test -f '/usr/local/nginx-1.9.10/conf/mime.types'               || cp conf/mime.types '/usr/local/nginx-1.9.10/conf'
cp conf/mime.types '/usr/local/nginx-1.9.10/conf/mime.types.default'
test -f '/usr/local/nginx-1.9.10/conf/fastcgi_params'           || cp conf/fastcgi_params '/usr/local/nginx-1.9.10/conf'
cp conf/fastcgi_params          '/usr/local/nginx-1.9.10/conf/fastcgi_params.default'
test -f '/usr/local/nginx-1.9.10/conf/fastcgi.conf'             || cp conf/fastcgi.conf '/usr/local/nginx-1.9.10/conf'
cp conf/fastcgi.conf '/usr/local/nginx-1.9.10/conf/fastcgi.conf.default'
test -f '/usr/local/nginx-1.9.10/conf/uwsgi_params'             || cp conf/uwsgi_params '/usr/local/nginx-1.9.10/conf'
cp conf/uwsgi_params            '/usr/local/nginx-1.9.10/conf/uwsgi_params.default'
test -f '/usr/local/nginx-1.9.10/conf/scgi_params'              || cp conf/scgi_params '/usr/local/nginx-1.9.10/conf'
cp conf/scgi_params             '/usr/local/nginx-1.9.10/conf/scgi_params.default'
test -f '/usr/local/nginx-1.9.10/conf/nginx.conf'               || cp conf/nginx.conf '/usr/local/nginx-1.9.10/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx-1.9.10/conf/nginx.conf.default'
test -d '/usr/local/nginx-1.9.10/logs'          || mkdir -p '/usr/local/nginx-1.9.10/logs'
test -d '/usr/local/nginx-1.9.10/logs' ||               mkdir -p '/usr/local/nginx-1.9.10/logs'
test -d '/usr/local/nginx-1.9.10/html'          || cp -R html '/usr/local/nginx-1.9.10'
test -d '/usr/local/nginx-1.9.10/logs' ||               mkdir -p '/usr/local/nginx-1.9.10/logs'
make[1]: Leaving directory /usr/local/src/nginx-1.9.10'

real    0m0.108s
user    0m0.038s
sys     0m0.052s
#

こちらもOKです。

その他

うちの環境ではこんなことをやっています。

まず、configureで指定したようにインストール先が/usr/local/nginx-1.9.10になっています。このままでもいいんですが、なんかアレなんで/usr/local/nginxにシンボリックリンクを作成するようにしています。

# cd /usr/local/
# ls -l
total 100
drwxr-xr-x  2 root root 4096 Jun 26  2015 bin
drwxr-xr-x  2 root root 4096 Oct 20  2014 etc
drwxr-xr-x  2 root root 4096 Oct 20  2014 games
drwxr-xr-x  3 root root 4096 Mar 27  2015 include
drwxr-xr-x  4 root root 4096 Mar 27  2015 lib
lrwxrwxrwx  1 root root    9 Oct 20  2014 man -> share/man
lrwxrwxrwx  1 root root   23 Dec 15 11:07 nginx -> /usr/local/nginx-1.9.9/
drwxr-xr-x 11 root root 4096 Mar  2  2015 nginx-1.7.10
drwxr-xr-x 11 root root 4096 Apr 16  2015 nginx-1.7.12
drwxr-xr-x 11 root root 4096 Oct 20  2014 nginx-1.7.6
drwxr-xr-x  6 root root 4096 Oct 29  2014 nginx-1.7.7
drwxr-xr-x 11 root root 4096 Dec  9  2014 nginx-1.7.8
drwxr-xr-x 11 root root 4096 Dec 25  2014 nginx-1.7.9
drwxr-xr-x 11 root root 4096 May 19  2015 nginx-1.9.0
drwxr-xr-x 11 root root 4096 Jun  1  2015 nginx-1.9.1
drwxr-xr-x  6 root root 4096 Jan 31 16:46 nginx-1.9.10
drwxr-xr-x 11 root root 4096 Jul  2  2015 nginx-1.9.2
drwxr-xr-x 11 root root 4096 Jul 28  2015 nginx-1.9.3
drwxr-xr-x 11 root root 4096 Aug 24 20:40 nginx-1.9.4
drwxr-xr-x 11 root root 4096 Sep 23 03:34 nginx-1.9.5
drwxr-xr-x 11 root root 4096 Nov 10 00:28 nginx-1.9.6
drwxr-xr-x 11 root root 4096 Dec  9 22:08 nginx-1.9.8
drwxr-xr-x 11 root root 4096 Dec 15 11:09 nginx-1.9.9
lrwxrwxrwx  1 root root   23 May 14  2015 nikto -> /usr/local/nikto-2.1.5/
drwxr-xr-x  6 root root 4096 Sep 17  2012 nikto-2.1.5
drwxr-xr-x  2 root root 4096 Oct 20  2014 sbin
drwxr-xr-x  7 root root 4096 Oct 21  2014 share
drwxr-xr-x 24 root root 4096 Jan 31 16:29 src
# 

今は1.9.9にリンクされてますね。そういやniktoもアップデートしてない。後でしておこう。

既存のリンクを消してしまいます。

# rm /usr/local/nginx
# ls -l
total 100
略
drwxr-xr-x  6 root root 4096 Jan 31 16:46 nginx-1.9.10
drwxr-xr-x 11 root root 4096 Dec 15 11:09 nginx-1.9.9
# 

リンクを改めて作り直します。

# ln -s /usr/local/nginx-1.9.10/ nginx
# ls -l  |grep nginx
lrwxrwxrwx  1 root root   24 Feb  1 16:19 nginx -> /usr/local/nginx-1.9.10/
略

このままだと設定ファイルやログファイル、podファイルがデフォルトのままです。少々面倒くさいですが、それらをnginx-1.9.10以下にコピーします。てかこのへん本来ならconfigureオプションで適切なディレクトリを指定してやるべきなんですが、なんだか面倒で放置されています。次のバージョンが出たらちゃんとやります。

# cp -a /usr/local/nginx-1.9.9/logs/* /usr/local/nginx/logs/
# cp -a /usr/local/nginx-1.9.9/conf/nginx.conf /usr/local/nginx/conf/
# 

ここまで来たらnginxの再起動。

# nginx -t
nginx: the configuration file /usr/local/nginx-1.9.10/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.9.10/conf/nginx.conf test is successful
# nginx -s stop
# nginx
#

しかしこうやって書いてみると最後のところは相当カッコ悪い。次ちゃんとやろう。。

スポンサーリンク
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大