Nginx関連のまとめ

NGINX 開発関連
nginx
スポンサーリンク

Nginx関連で調べたことを随時追加していこうと思います。

スポンサーリンク

インストール

↓インストールについてのリファレンス。CentOS7にインストールする場合のbaseUrlは「http://nginx.org/packages/mainline/centos/7/$basearch/」とします。

自動起動を有効にする場合

$ chkconfig nginx on
スポンサーリンク

コマンド集

バージョンを調べる

$ nginx -V

設定ファイル変更後テストを実行する

$ nginx -t

強制的に設定のリロード

$ service nginx force-reload
スポンサーリンク

エラー集

起動するとPermission deniedエラー

インストール後すぐ起動した際に発生しました。OS再起動でなおりました。

2019/04/21 15:19:17 [emerg] 5404#5404: open() "/var/run/nginx.pid" failed (13: Permission denied)

それでもダメだった場合

SELinuxが悪さしてないか調べる(GCP上でnginxからDockerにproxyした際に発生)

$ fgrep nginx /var/log/audit/audit.log

ブロックしていたらスルーするように変更

$ setsebool -P httpd_can_network_connect 1

独自のunix socketを通したい場合

こんな感じのpermissionエラーが出た場合の対処方法です。

2020/02/02 10:31:27 [crit] 4631#4631: *216 connect() to unix:/hoge/nuxt/nuxt.sock failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: shimer-system.com, request: "GET /favicon.ico HTTP/2.0", upstream: "http://unix:/hoge/nuxt/nuxt.sock:/favicon.ico", host: "shimer-system.com", referrer: "https://shimer-system.com/"

SELinuxを一時的に解除してアクセスできるか確認します

# 設定をOFFに
$ setenforce 0

# 設定の確認(Permissiveだとモニタリングのみで制限なし)
$ getenforce

# もとに戻す場合
$ setenforce 1

アクセスできる場合は、モジュールを作成します。

確認
$ sudo cat /var/log/audit/audit.log | grep nginx | audit2allow -m nginx

問題なさそうならモジュール作成
$ sudo cat /var/log/audit/audit.log | grep nginx | audit2allow -M nginx

モジュールの適用
$ sudo semodule -i nginx.pp

※生成されたファイルは消しても大丈夫です

https://qiita.com/snaka/items/b51c309d74d7bdf4072a
タイトルとURLをコピーしました