nginx にモジュールを追加してアップデート (apt-get から ソースコードのインストールに変更)

お母ちゃん  2017.4.25 
Home > Web > WordPress > nginx にモジュールを追加してアップデート (apt-get から ソースコードのインストールに変更)
すき 0
うんこ 1

モジュールを追加する為、ビルドし直し

apt-get でインストールしたnginx と、DLしてinstall したnginxでは場所が違うので、色々調整

  • apt-get:/etc/nginx/
  • make install:/usr/local/nginx/

DL〜インストール

現在のバージョン・モジュール確認

DL

nginx: download から Mainline version を確認

DL、解凍
今回、RTMPモジュールを付けたかったので、こちらも一緒に

ビルド、インストール

必要なモジュールを付けてビルド、インストール

インストールされたか確認

現在の nginx.conf で大丈夫か確認

warn が出てる・・(後でconfファイル編集時に /24 を削除)

※ 最初、–with-http_realip_module モジュールを付け忘れ下記エラーメッセージが出てしまったので、モジュールを付けビルドし直しました。

realipを設定した時の記事:Nginx リバースプロキシで正しいIPアドレスを取得 | Home Made Garbage

nginx.conf

デフォルトのnginx.conf をバックアップして、編集

元の /etc/nginx/nginx.conf を参考に変更して行きました。

必須なのは user www-data; と、pid   /var/run/nginx.pid; だと思います。あとはプロキシキャッシュの設定を移行しました。

最初は nginx.conf に server {} 設定を全て書いたのですが、長くなってしまったので、 include /usr/local/nginx/conf.d/*.conf; として読み込むようにしました。

nginx.conf の server 設定

conf.d ディレクトリを作成

そこに 元々使用していた /etc/nginx/sites-available 配下の設定を移動していきました。

ファイル名はとりあえずポート別に分けました。

※ まずは今動いているポートと違うポートで動作確認しました。

listen 80…フロント

listen 8080…バックエンド

※ fastcgi あたりの設定が上手く行ってないと、表示されなかったり下記のエラーが出たりしていました。

PHP7について

これを機にPHP7にしてみようと思いましたが、いくつかプラグインが動かないようでだめでした。WordPressのプラグイン一覧から「停止」「有効」も出来ない状態になってしまったので、やむなく戻しました。 

構文チェック

起動

試行錯誤しつつ起動出来るようになりました。

ブラウザで 192.168.0.XX:8090/ にアクセスすると無事表示されるようでした。

プロセスの確認、終了など

8090 ポートが動いているプロセスを確認して、

kill します。

ポートの設定を変更

wordpress 記事編集など諸々動作確認を終えたら、ポートを変更して切り替えます。

nginx.conf

80.conf

8080.conf

nginx バージョン切替

nginx 1.6.2 から、nginx 1.11.13 へ切り替えます。

現在の nginx(1.6.2)を停止

nginx 1.11.13 を起動

プロセスの終了

上手く行かなかった場合は終了してやり直したりします。

master process /usr/local/nginx/sbin/nginx のプロセスを終了

無事表示されたら、自動起動の設定などを変更していきます。

パスを通す

パス自体は元々通っているので反映させたい…

パスの場所とかを確認してみる

/usr/sbin/ の nginx を、バックアップしてからコピーしてみる

無事バージョンが変更されましたがこのやり方は良かったんですかね…。/usr/sbin/nginx を削除して、/usr/local/nginx/sbin/nginx にパスを通し治した方が良いのでしょうか。

サービス登録

こちらを参考にさせていただきました

nginxの自動起動の設定と起動ユーザの設定 – No:1337 – Linuxで自宅サーバ構築(新森からの雑記)

現在の設定をバックアップして新規作成しました。

参考にさせて頂いたブログ記事のファイルをそのまま使用させて頂きました。

これで、無事 service コマンドが使えるようになりました。

※ 最初、/usr/local/nginx/conf/nginx.conf の pid の設定を忘れていたため、service コマンドをすると、nginxが動作はするけどコマンドが終了しない状態になり、直接起動すると下記のエラーメッセージが出ていました(´・ω・`)

 

ラズパイの再起動後も大丈夫そうです。

参考にさせて頂きました

 

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください