LoginSignup
7
7

More than 5 years have passed since last update.

nginScriptを試す(1):nginxをソースコンパイル

Last updated at Posted at 2015-10-05

関連記事:

なんで突然nginx

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪


------------------- ↓ 余談はここから ↓-------------------

さて前回の記事で、
おもむろにnginxの環境を作ったわけだが、
なんで突然nginxを使うのかというと、

nginscriptを試したかった

のだ。
あとついでに

HTTP/2を試したかった

自動実行周りが煩雑で長くなったので分割。
補足欄にまとめてある。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪


------------------- ↓ 本題はここから ↓-------------------

nginxビルド

準備

前回記事ではパッケージ版を使用したが、
nginScriptを使うにはビルドが必要なので先にアンインストールをしておく。

sudo apt-get purge nginx

ビルドツールのインストール

sudo apt-get install build-essential # ビルド全般ツール
sudo apt-get install libpcre3-dev    # PCREライブラリ(nginxのビルドで必要)
sudo apt-get install zlib1g-dev      # zlibライブラリ(nginxのビルドで必要)
sudo apt-get install libssl-dev      # SSLライブラリ(nginxのビルドで必要)
省略形
sudo apt-get install build-essential libpcre3-dev zlib1g-dev libssl-dev

nginxインストール

nginscriptのビルド

wget http://hg.nginx.org/njs/archive/tip.tar.gz
tar xvfz tip.tar.gz
cd njs-3ed92ffa3f05
./configure
make
cd ..

nginxのビルド

wget http://nginx.org/download/nginx-1.9.5.tar.gz
tar xvfz nginx-1.9.5.tar.gz
cd nginx-1.9.5
./configure --add-module=../njs-3ed92ffa3f05/nginx --pid-path=/run/nginx.pid --user=www-data --group=www-data --with-http_ssl_module
make
sudo make install
cd ..

動作確認

sudo /usr/local/nginx/sbin/nginx

ブラウザで確認

nginx03.PNG

終了

sudo /usr/local/nginx/sbin/nginx -s quit

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪


------------------- ↓ 補足はここから ↓-------------------

自動起動登録

ソースビルドの自動実行周りの煩雑さは異常。

nginx.serviceの設置

/lib/systemd/system/nginx.service を作成し以下の呪文を記述

/lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

参考:https://www.nginx.com/resources/wiki/start/topics/examples/systemd/

init, defaultの設置

wget https://github.com/Fleshgrinder/nginx-sysvinit-script/archive/master.tar.gz
tar xvfz master.tar.gz
cd nginx-sysvinit-script-master
sudo make
sudo update-rc.d nginx enable
#make uninstall
cd ..

各種コマンド

sudo service nginx start # 起動
sudo service nginx stop # 終了
sudo service nginx restart # 再起動
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7