ホームページ  >  記事  >  運用・保守  >  Nginx を使用して Mac でポート 80 をポート 8080 に転送する方法

Nginx を使用して Mac でポート 80 をポート 8080 に転送する方法

WBOY
WBOY転載
2023-05-11 21:49:161614ブラウズ

環境

mac osバージョン: 10.12.6<br>nginxバージョン: 1.12.1

インストール

#作者は homebrew インストール ライブラリを使用しています

brew search nginx
brew install nginx

インストール後、nginx のリスニング ポートが 80 ではなく 8080 であることがわかります。この時点で nginx のリスニング ポートを変更する必要があります。この手順は次のとおりです。非常に重要です。従来の方法では変更できません。読者はこの部分を注意深く読んでください。 <br>Mac OS にはポート 80 を占有する独自の Apache サービスが付属しているため、最初に Apache のリスニング ポートを別のポートに変更するか、直接アンインストールする必要があります。作成者はそのリスニング ポートを 8011 に変更しました。

コマンドライン

##sudo vim /etc/apache2/httpd.conf<br>

の赤いボックスを開きます。写真 元々はポート 80 でしたが、作者が 8011 に変更しました。

Nginx を使用して Mac でポート 80 をポート 8080 に転送する方法apache_conf.png<br>

変更を加えた後、再起動します

sudo /usr/sbin/apachectl restartこの時点で、すでにポート 80 は解放されています。 <br>

2 番目に知っておく必要があるのは、plist ファイルです。 plist はプロパティ リスト形式を意味し、Apple がアプリケーション データを保存するために使用する形式で、実際には xml です。 nginx に対応する plist ファイルは /usr/local/opt/nginx にあります。たとえば、作成者のコンピュータでは homebrew.mxcl.nginx.plist です。

内容は以下の通り: <br><br>

<?xml version="1.0" encoding="utf-8"?>
<!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/propertylist-1.0.dtd">
<plist version="1.0">
<dict>
<key>label</key>
<string>homebrew.mxcl.nginx</string>
<key>runatload</key>
<true/>
<key>keepalive</key>
<false/>
<key>programarguments</key>
<array>
<string>/usr/local/opt/nginx/bin/nginx</string>
<string>-g</string>
<string>daemon off;</string>
</array>
<key>workingdirectory</key>
<string>/usr/local</string>
</dict>
</plist>

このファイルを/library/launchdaemonsにコピーする必要がありますが、~/library/launchdaemonsでもOKですが、二つ。

前者はシステム起動時に開始され、後者はユーザーのログイン時に開始されます。次に、次のように launchctl load -w を実行します。 <br>

sudo cp /usr/local/opt/nginx/*.plist /library/launchdaemons

sudo launchctl load -w /library/launchdaemons/homebrew.mxcl .nginx.plist<br>

最後に、マシンを再起動します。nginx がポート 80 で起動していることがわかります。http://localhost 経由で直接アクセスしてみてください。下の図が表示された場合は、nginx がポート 80 が構成されました。これは、作業の 60% が完了したことを意味します。

Nginx を使用して Mac でポート 80 をポート 8080 に転送する方法<br>

Tomcat ポートが 8080 の場合、この時点で Tomcat を開始する必要があります。この時点で Tomcat を開始する理由は、Tomcat に 8080 を占有させるためです。後で nginx 転送を設定するときに、nginx が最初にポート 8080 を占有するのを防ぐために、ポート 8080 の転送を設定する必要があるため (nginx を起動しない限り、ここで Tomcat を起動することもできません)サービスを開始すると、転送用に 8080 ポートが直接占有され、この時点では実際には 8080 ポートが使用されていないため、Tomcat の起動に失敗します。 tomcat にポートを占有させて、nginx マッピングと 8080 ポートの転送を実行させます。

この時点で、Tomcat は開始されています。この時点で、nginx の転送構成の構成を開始します: <br>

コマンド ライン

sudo vim /usr/local/etc /nginx /nginx.conf<br>

サーバー ノード内の構成のみに注意する必要があります

Nginx を使用して Mac でポート 80 をポート 8080 に転送する方法nginx_conf.png<br><br>

server の下のノード:

listen: ポート 80 をリッスンする

server_name: 転送するアドレス <br>proxy_pass: プロキシするアドレス <br>

これらの構成のいくつかnginx を再起動します (再起動するには、nginx ディレクトリに切り替える必要があります) sudo /usr/local/cellar/nginx/1.12.1/bin/nginx -s reload

ここでのすべての操作が完了しました。 , これで、あなたと同じネットワーク セグメント内の他のパートナーは、IP アドレス/ に直接アクセスすることで、Tomcat プロジェクトにアクセスできるようになります。

関連コマンド操作 apache コマンド

サービスの停止: sudo /usr/sbin/apachectl stop

サービスの開始: sudo /usr/sbin/apachectl start<br>サービスの再起動: sudo / usr/sbin/apachectl restart<br>

nginx コマンド (nginx ディレクトリ、ディレクトリ:/usr/local/cellar/nginx/1.12.1/bin/)

## で実行する必要があります。 #Enable: sudo nginx

Restart: sudo nginx -s reload

Close<br>まず、nginx メインプロセス番号 (マスターロゴのあるプロセス) をクエリします: ps -ef|grep nginx<br>通常どおり停止しますsudo kill -quit master プロセス番号<br>すぐに停止 sudo kill -term メインプロセス番号<br>

以上がNginx を使用して Mac でポート 80 をポート 8080 に転送する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。