ウェブサイト検索

Linux で Nginx ポートを変更する方法


Nginx は、今日のインターネットで最もトラフィックの多い Web サイトのいくつかに電力を供給する、オープンソースの安定したサーバーです。 Web サービスの中でも、Nginx Web サーバーは、ロード バランサー、Web リバース プロキシ、または POP および IMAP プロキシ サーバーとして正常に展開できます。

デフォルトでは、Nginx HTTP サーバーは受信接続をリッスンし、標準 Web ポートを表すポート 80 にバインドします。ただし、Nginx ではデフォルトで有効になっていない TLS 構成は、ポート443 で安全な接続をリッスンします。

Nginx HTTP サーバーが他の非標準ポートで受信 Web 接続をリッスンできるようにするには、メイン設定ファイルを編集し、この事実を反映するように新しいステートメントを変更または追加する必要があります。

Ubuntu および Debian ベースのシステムでは、/etc/nginx/sites-enabled/default ファイルと RHEL を変更する必要があります。 および CentOS ベースのディストリビューションは、/etc/nginx/nginx.conf ファイルを編集します。

まず、テキストエディタでNginx設定ファイルを開き、以下の抜粋に示すようにポート番号を変更します。

vi /etc/nginx/sites-enabled/default  [On Debian/Ubuntu]
vi /etc/nginx/nginx.conf             [On CentOS/RHEL]

この抜粋では、ポート 3200 で受信接続をリッスンするように Nginx HTTP サーバーを構成します。以下の図に示すように、サーバー ディレクティブで listen ステートメントで始まる行を検索し、ポートを 80 から 3200 に変更します。

listen 3200 default_server;

Nginx ポート ステートメントを変更した後、Debian ベースの Linux ディストリビューション上の新しいポートにバインドするために Web サーバーを再起動する必要があります。 netstat またはss コマンドを使用して、ローカル ネットワーク ソケット テーブルを確認します。ポート 3200 がサーバーのローカル ネットワーク テーブルに表示されるはずです。

systemctl restart nginx
netstat -tlpn| grep nginx
ss -tlpn| grep nginx

CentOS または RHEL ベースの Linux ディストリビューションでは、policycoreutils パッケージをインストールし、Nginx が新しいポートにバインドするために SELinux に必要な以下のルールを追加する必要があります。 。

yum install policycoreutils
semanage port -a -t http_port_t -p tcp 3200
semanage port -m -t http_port_t -p tcp 3200

最後に、Nginx HTTP サーバーを再起動して、変更を適用します。

systemctl restart nginx.service 

ソケットをリッスンしているネットワーク テーブルを確認します。

netstat -tlpn| grep nginx
ss -tlpn| grep nginx

ネットワーク内のコンピュータから Web サーバーにアクセスできるかどうかを確認するには、ブラウザを開き、ポート 3200 でサーバーの IP アドレスまたはドメイン名に移動します。以下のスクリーンショットに示すように、Nginx のデフォルト Web ページが表示されるはずです。

http://sever.ip:3200 

ただし、Nginx Web ページを閲覧できない場合は、サーバー コンソールに戻り、ポート 3200/tcp での受信トラフィックを許可するファイアウォール ルールを確認してください。