Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
nginx-build
Search
Tatsuhiko Kubo
November 30, 2014
Programming
3
3.4k
nginx-build
Seamless nginx builder in Go.
Tatsuhiko Kubo
November 30, 2014
Tweet
Share
More Decks by Tatsuhiko Kubo
See All by Tatsuhiko Kubo
Mackerel in さくらのクラウド
cubicdaiya
1
890
Handling a tremendous amount of images with Fastly / Yamagoya Traverse 2020
cubicdaiya
2
1.6k
System Integration with Fastly
cubicdaiya
0
650
実例で学ぶ画像最適化集 with ImageFlux / ImageFlux meetup#2
cubicdaiya
4
19k
Software Engineer, Infrastructure
cubicdaiya
4
3.3k
High Performance Count Up!
cubicdaiya
0
400
ImageFluxを利用した画像配信の最適化 / ImageFlux meetup 201801
cubicdaiya
0
3.1k
Building high performance push notification server in Go
cubicdaiya
5
3.4k
メルカリのデータ分析基盤 / mercari data analysis infrastructure
cubicdaiya
11
12k
Other Decks in Programming
See All in Programming
SourceGeneratorのマーカー属性問題について
htkym
0
120
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
520
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
850
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
CSC307 Lecture 10
javiergs
PRO
1
690
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
320
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
490
AIプロダクト時代のQAエンジニアに求められること
imtnd
1
520
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
330
atmaCup #23でAIコーディングを活用した話
ml_bear
4
720
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
390
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
2.2k
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
Designing for Performance
lara
611
70k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
620
Making Projects Easy
brettharned
120
6.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
170
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
220
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
Done Done
chrislema
186
16k
Transcript
nginx-build ʙseamless nginx builderʙ Tatsuhiko Kubo@cubicdaiya GoCon autumn@2014/11/30
Self Introduction w 5BUTVIJLP,VCPDVCJDEBJZB!.FSDBSJ *OD w 4PGUXBSF&OHJOFFSJO*OGSBTUSVDUVSF &OHJOFFSJOH w 044$POUSJCVUPS
JODMVEFTTNBMMDPOUSJCVUJPOT w NSVCZ OHJOY OHY@MVB OHY@NSVCZ IP FUD w IUUQDDDJTKQ
nginx-build
nginx-build w 4FBNMFTTOHJOYCVJMEFSJO(P w 4JOHMFCJOBSZEPFTFWFSZUIJOHGPSCVJMEJOHOHJOY w %PXOMPBEJOHTPVSDFT w &NCFEEJOHFYUFSOBMMJCSBSJFT 1$3&
;-*# 0QFO44- w &NCFEEJOHSEQBSUZNPEVMFT w IUUQTHJUIVCDPNDVCJDEBJZBOHJOYCVJME
Background w *`NSEQBSUZNPEVMFEFWFMPQFSGPSOHJOY w *VTFEUPPQFSBUFNBOZOHJOYTFSWFST w .BOZPQQPSUVOJUJFTGPSCVJMEJOHOHJOY w "MJUUMFUJSFE w
"VUPNBUJ[FUIFCVJMEJOHPGOHJOY
Tasks for building nginx
Tasks for building nginx XHFUIUUQOHJOYPSHEPXOMPBEOHJOYUBSH[ UBS[YWGOHJOYUBSH[ DEOHJOY DPOpHVSF NBLF TVEPNBLFJOTUBMM
In acutual…
Download many files w 4PVSDFDPEFPGOHJOY w &YUFSOBMMJCSBSJFT w 1$3& ;-*#
0QFO44- w SEQBSUZNPEVMFT w FDIP IFBEFST@NPSF MVB FUD
Add many configure options DPOpHVSF= TCJOQBUIVTSTCJOOHJOY= NBOZPQUJPOT ʜ XJUIIUUQ@TTM@NPEVMF=
XJUIIUUQ@TQEZ@NPEVMF= NBOZPQUJPOT ʜ XJUIQDSFQDSF= XJUI[MJC[MJC= XJUIPQFOTTMPQFOTTMK= BEENPEVMF= NBOZPQUJPOT ʜ
Continuous tasks w .BJOUBJOBODFGPSCVJMETDSJQU w 7FSTJPODPOUSPM w OHJOYDPSF w FYUFSOBMMJCSBSJFT
w SEQBSUZNPEVMFT
nginx-build 4JOHMFCJOBSZEPFTFWFSZUIJOHGPSCVJMEJOHOHJOY
Install nginx-build HPHFUVHJUIVCDPNDVCJDEBJZBOHJOYCVJME #JOBSZpMFTBSFIFSF ˣ IUUQTHJUIVCDPNDVCJDEBJZBOHJOYCVJMESFMFBTFT
Build nginx with nginx-build NLEJSXPSL OHJOYCVJMEEXPSL nginx-build: 0.0.6 Compiler: gc
go1.3.3 2014/11/29 23:23:56 [warn]configure option is empty. 2014/11/29 23:23:56 Download nginx-1.7.7….. 2014/11/29 23:23:59 Extract nginx-1.7.7.tar.gz….. 2014/11/29 23:23:59 Generate configure script for nginx-1.7.7….. 2014/11/29 23:23:59 Configure nginx-1.7.7….. 2014/11/29 23:24:04 Build nginx-1.7.7….. 2014/11/29 23:24:13 Complete building nginx! nginx version: nginx/1.7.7 built by gcc 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) configure arguments: 2014/11/29 23:24:13 Enter the following command for install nginx. $ cd work/1.7.7/nginx-1.7.7 $ sudo make install
Build nginx embedded libraries NLEJSXPSL OHJOYCVJMEEXPSLQDSF[MJCPQFOTTM Compiler: gc go1.3.3 2014/11/29
23:25:55 [warn]configure option is empty. 2014/11/29 23:25:55 Download pcre-8.36….. 2014/11/29 23:25:55 Download zlib-1.2.8….. 2014/11/29 23:25:55 Download openssl-1.0.1j….. 2014/11/29 23:25:55 Download nginx-1.7.7….. 2014/11/29 23:25:56 Extract zlib-1.2.8.tar.gz….. 2014/11/29 23:26:00 Extract nginx-1.7.7.tar.gz….. 2014/11/29 23:26:00 Extract pcre-8.36.tar.gz….. 2014/11/29 23:26:02 Extract openssl-1.0.1j.tar.gz….. 2014/11/29 23:26:02 Generate configure script for nginx-1.7.7….. 2014/11/29 23:26:02 Configure nginx-1.7.7….. 2014/11/29 23:26:06 Build nginx-1.7.7….. 2014/11/29 23:28:46 Complete building nginx! nginx version: nginx/1.7.7 built by gcc 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) TLS SNI support enabled configure arguments: --with-pcre=../pcre-8.36 --with-openssl=../openssl-1.0.1j --with-zlib=../zlib-1.2.8 — with-http_ssl_module 2014/11/29 23:28:46 Enter the following command for install nginx. $ cd work/1.7.7/nginx-1.7.7 $ sudo make install
Prepare configure.sh CJOTI DPOpHVSFa TCJOQBUIVTSTCJOOHJOYa DPOGQBUIFUDOHJOYOHJOYDPOGa
Build nginx with configure.sh NLEJSXPSL OHJOYCVJMEEXPSLDDPOpHVSFTI nginx-build: 0.0.6 Compiler: gc
go1.3.3 2014/11/29 23:30:41 Download nginx-1.7.7….. 2014/11/29 23:30:45 Extract nginx-1.7.7.tar.gz….. 2014/11/29 23:30:45 Generate configure script for nginx-1.7.7….. 2014/11/29 23:30:45 Configure nginx-1.7.7….. 2014/11/29 23:30:48 Build nginx-1.7.7….. 2014/11/29 23:30:56 Complete building nginx! nginx version: nginx/1.7.7 built by gcc 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) configure arguments: --sbin-path=/usr/sbin/nginx —conf-path=/etc/nginx/nginx.conf 2014/11/29 23:30:56 Enter the following command for install nginx. $ cd work/1.7.7/nginx-1.7.7 $ sudo make install
Prepare modules3rd.ini <FDIPOHJOYNPEVMF> GPSNHJU VSMIUUQTHJUIVCDPNPQFOSFTUZFDIPOHJOYNPEVMFHJU SFWW <IFBEFSTNPSFOHJOYNPEVMF> GPSNHJU VSMIUUQTHJUIVCDPNPQFOSFTUZIFBEFSTNPSFOHJOYNPEVMFHJU
SFWW <OHY@EFWFM@LJU> GPSNHJU VSMIUUQTHJUIVCDPNTJNQMOHY@EFWFM@LJUHJU SFWW <MVBOHJOYNPEVMF> GPSNHJU VSMIUUQTHJUIVCDPNPQFOSFTUZMVBOHJOYNPEVMFHJU SFGW
Build nginx with modules3rd.ini NLEJSXPSL OHJOYCVJMEEXPSLNNPEVMFTSEJOJ nginx-build: 0.0.6 Compiler: gc
go1.3.3 2014/11/29 23:36:03 [warn]configure option is empty. 2014/11/29 23:36:03 Download nginx-1.7.7….. 2014/11/29 23:36:03 Download headers-more-nginx-module-v0.25….. 2014/11/29 23:36:03 Download echo-nginx-module-v0.54….. 2014/11/29 23:36:03 Download ngx_devel_kit-v0.2.19….. 2014/11/29 23:36:03 Download lua-nginx-module….. 2014/11/29 23:36:07 Extract nginx-1.7.7.tar.gz….. 2014/11/29 23:36:33 Generate configure script for nginx-1.7.7….. 2014/11/29 23:36:33 Configure nginx-1.7.7….. 2014/11/29 23:36:37 Build nginx-1.7.7….. 2014/11/29 23:36:49 Complete building 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ʁ w (PJTNZGBWPSJUFMBOHVBHF w *VTFEUPCFSFTQPOTJCMFGPSIFBWJMZMPBEFE
35#FOHJOFJO(P w NZXPSLJOHMBOHVBHFGPS*46$0/pSTUSPVOE w &BTZUPXSJUFQBSBMMFMEPXOMPBEQSPDFTTJOH w 4JNQMJDJUZQSPEVDFECZTJOHMFCJOBSZ w (PJTTVJUBCMFGPS$-*UPPM
Summary w OHJOYCVJMETJNQMJpFT w CVJMEQSPDFTTGPSOHJOY w NBJOUFOBODFPGCVJMETDSJQUGPSOHJOY w (PJTTVJUBCMFGPS$-*UPPM w
4JOHMFCJOBSZJTHPPE
Thanks! IUUQTHJUIVCDPNDVCJDEBJZBOHJOYCVJME