Self Introduction • Tatsuhiko Kubo / cubicdaiya@Mercari, Inc. • Software Engineer in Infrastructure Engineering • OSS Contributor (includes small contributions) • mruby, nginx, ngx_lua, ngx_mruby, h2o, etc.. • http://cccis.jp/
nginx-build • Seamless nginx builder in Go • Single-binary does everything for building nginx • Downloading sources • Embedding external libraries(PCRE, ZLIB, OpenSSL) • Embedding 3rd party modules • https://github.com/cubicdaiya/nginx-build
Background • I m 3rd party module developer for nginx • I used to operate many nginx servers • Many opportunities for building nginx • A little tired.. • Automatize the building of nginx!!!!!
nginx version: nginx/1.7.7 built by gcc 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) configure arguments: --add-module=../echo-nginx-module --add-module=../headers-more-nginx-module --add- module=../ngx_devel_kit —add-module=../lua-nginx-module
2014/11/29 23:36:49 Enter the following command for install nginx.
$ cd work/1.7.7/nginx-1.7.7 $ sudo make install $
Why nginx-build is written in Go？ • Go is my favorite language • I used to be responsible for heavily-loaded RTB engine in Go • my working language for ISUCON4 ﬁrst-round • Easy to write parallel download processing • Simplicity produced by single-binary • Go is suitable for CLI-tool
Summary • nginx-build simpliﬁes • build-process for nginx • maintenance of build-script for nginx • Go is suitable for CLI-tool • Single-binary is good!