Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

関連記事:

なんで突然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 # 再起動
dozo
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away