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
アクセスできる場合は、モジュールを作成します。
確認
https://qiita.com/snaka/items/b51c309d74d7bdf4072a
$ 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
※生成されたファイルは消しても大丈夫です