Nginxで任意のポート番号をconfファイルに正しく設定したのに
以下のエラーが出てしまった場合の原因はSELinuxの可能性があります。
bind() to 0.0.0.0:<任意のポート番号> failed (13: Permission denied)
Redhatのドキュメントでは以下のように説明されています。
ポリシー設定に応じて、サービスの実行が許可されるのは特定のポート番号に限られます。ポリシーを変更せず、サービスが実行されるポートを変えようとすると、サービスの起動に失敗する場合があります。
(引用:3.4.4. ポート番号を変更する)
この場合、SELinuxを解除するのではなく
SELinuxが許可しているポートに、任意のポート番号を追加しましょう。
ポート番号の確認
# semanage port -l | grep -w http_port_t
ポート番号の追加
# semanage port -a -t http_port_t -p tcp <任意のポート番号>
ポート番号の削除
# semanage port -d -t http_port_t -p tcp <任意のポート番号>
ぜひ参考にしてください。
ちなみに実践した環境はRHEL7.7、Nginx1.16となります。