NginxをSourceからBuildする
- May 29, 2019
- Linux
nginxによるTCPロードバランサー - Mercari Engineering Blogを試してみたくて、Emacsと同様サクッとソースコードからビルドしてみようかなーって思い立ったのでやった.
repo: http://hg.nginx.org/nginx/
多くの記事では wget
で持ってくるが、今回はせっかくなのでちゃんとrepoからビルドしてみる.
Mercurial
で管理されてるみたいなので git
ではなく、 hg
を使うみたいだ. なお、takeokunn
は motemen/ghq
使ってるので関係がなかった.
Ubuntu18.04
を使っているための先に以下をinstall:
$ sudo apt install -y build-essential
# 入れとくと良いらしい
$ sudo add-apt-repository -y ppa:maxmind/ppa
$ sudo apt update && sudo apt upgrade -y
$ sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
以下を叩く:
$ hg clone http://hg.nginx.org/nginx
$ cd nginx
$ ./auto/configure
$ make
$ sudo make install
./auto/configure
部分で引数に色々渡すことができる.
生成された Makefile
には以下のようなコードがあり、手軽に make upgrade
出来るようになっているようだ.
upgrade:
/usr/local/nginx/sbin/nginx -t
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
このブログでもソースコードからビルドしたものを使おうかなと思う.