Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Mac

So verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Mac

WBOY
WBOYnach vorne
2023-05-11 21:49:161660Durchsuche

Umgebung

Mac OS-Version: 10.12.6
Nginx-Version: 1.12.1

Installation

Der Autor verwendet Homebrew, um die Bibliothek zu installieren

brew search nginx
brew install nginx

Nach der Installation auf diese Weise werden Sie feststellen, dass das Zuhören funktioniert Der Nginx-Port ist 8080 und nicht 80. Dieser Schritt ist sehr wichtig und kann nicht auf herkömmliche Weise geändert werden. Bitte lesen Sie diesen Teil sorgfältig durch.
Da Mac OS über einen eigenen Apache-Dienst verfügt, belegt es Port 80. Zuerst müssen Sie den Überwachungsport von Apache auf einen anderen ändern oder ihn direkt deinstallieren. Der Autor hat seinen Überwachungsport auf 8011 geändert.

Befehlszeile

sudo vim /etc/apache2/httpd.confsudo vim /etc/apache2/httpd.conf

图片中红色框打开原本是80端口,作者已将其改为8011。

So verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Mac
apache_conf.png

改动之后,将其重启 sudo /usr/sbin/apachectl restart
到这里,你已经将80端口释放掉了。

其次你需要了解的就是plist文件。plist就是property list format的意思,是苹果用来保存应用数据的格式,其实就是个xml。可以在/usr/local/opt/nginx 下找到nginx对应的plist文件,比如在作者电脑上是 homebrew.mxcl.nginx.plist 。
它的内容如下:

<?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/launchagents 也可以,但两者有区别。
前者是系统启动时启动,后者则是在用户登录时启动。 接着执行launchctl load -w,如下:

sudo cp /usr/local/opt/nginx/*.plist /library/launchdaemons
sudo launchctl load -w /library/launchdaemons/homebrew.mxcl.nginx.plist

最后,重启你的机器,你会发现nginx在80端口启动了,试着通过http://localhost直接访问,若出现下边图片的显示则意味着你的nginx的80端口已经配置完成,意味着你已经完成了六成的工作。

So verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Mac

如果你tomcat的端口是8080,此时你便要启动它,之所以在此时启动tomcat是为了先让tomcat占用8080端口,因为在后面配置nginx转发时需要配置8080端口的转发,为了在那个时候不被nginx抢先占用8080端口(这里也可以不启动tomcat,只要你在配置好nginx转发配置后不要立刻启动nginx服务即可,因为启动它便直接占用8080端口实现转发,而这时其实你还未使用8080端口)导致tomcat的启动的失败,因此可以先让tomcat占用端口而后在进行nginx对8080端口的映射转发。
此时你的tomcat已经启动好了,此时我们开始配置nginx的转发配置:

命令行

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

Das rote Kästchen im Bild öffnete ursprünglich Port 80, aber der Autor hat ihn in 8011 geändert.

So verwenden Sie Nginx, um Port 80 an Port 8080 auf dem Mac weiterzuleiten So verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Macapache_conf .png

Nachdem Sie Änderungen vorgenommen haben, starten Sie es neu sudo /usr/sbin/apachectl restart

An diesem Punkt haben Sie Port 80 freigegeben.

Das nächste, was Sie wissen müssen, ist die Plist-Datei. plist bedeutet Eigenschaftslistenformat. Es ist das Format, das Apple zum Speichern von Anwendungsdaten verwendet. Die Plist-Datei, die Nginx entspricht, befindet sich unter /usr/local/opt/nginx. Auf dem Computer des Autors ist sie beispielsweise homebrew.mxcl.nginx.plist.

Der Inhalt lautet wie folgt:

rrreee

Sie müssen diese Datei nach /library/launchdaemons kopieren, es ist auch in Ordnung, aber es gibt einen Unterschied zwischen den beiden.

Ersteres wird gestartet, wenn das System gestartet wird, und letzteres wird gestartet, wenn sich der Benutzer anmeldet. Führen Sie dann launchctl load -w wie folgt aus:

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

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

Starten Sie abschließend Ihren Computer neu und Sie werden feststellen, dass Nginx auf Port 80 gestartet ist. Versuchen Sie, direkt über http://localhost darauf zuzugreifen. Wenn das Bild unten angezeigt wird, bedeutet dies, dass Port 80 Ihres Nginx konfiguriert wurde dass Sie sechzig Prozent der Arbeiten abgeschlossen haben.


So verwenden Sie Nginx, um Port 80 an Port 8080 auf dem Mac weiterzuleiten

Wenn der Port Ihres Tomcat 8080 ist, müssen Sie ihn zu diesem Zeitpunkt starten. Der Grund, warum Sie Tomcat zu diesem Zeitpunkt starten, besteht darin, dass Tomcat zuerst den 8080-Port belegen muss, da Sie die Weiterleitung von 8080 konfigurieren müssen Port, wenn Sie die Nginx-Weiterleitung später konfigurieren. Zu diesem Zeitpunkt belegt Nginx nicht präventiv den 8080-Port (Sie können Tomcat hier auch nicht starten, solange Sie den Nginx-Dienst nicht sofort nach der Konfiguration der Nginx-Weiterleitung starten, weil Wenn Sie es starten, wird der 8080-Port direkt für die Weiterleitung belegt, und zu diesem Zeitpunkt wird der Start von Tomcat tatsächlich noch nicht ausgeführt (Port 8080 wird nicht verwendet). Daher können Sie Tomcat zunächst den Port belegen lassen und dann die Nginx-Zuordnung durchführen Weiterleitung von Port 8080.

An diesem Punkt wurde Ihr Tomcat gestartet. Jetzt beginnen wir mit der Konfiguration der Weiterleitungskonfiguration von nginx:


Befehlszeile

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

Sie müssen sich nur um die Konfiguration im Serverknoten kümmern🎜🎜🎜🎜nginx_conf.png🎜🎜🎜Der Knoten unter dem Server: 🎜🎜listen: Hören Sie auf Port 80 🎜server_name: welche Adresse weitergeleitet werden soll 🎜proxy_pass: welche Adresse zum Proxy an 🎜 🎜Nachdem mehrere Konfigurationen abgeschlossen sind, starten wir Nginx neu (zum Neustart müssen Sie in das Nginx-Verzeichnis wechseln) sudo /usr/local/cellar/nginx/1.12.1/bin/nginx -s reload🎜 🎜Alle Vorgänge hier Alles ist abgeschlossen. Jetzt können Sie und andere Partner im selben Netzwerksegment auf Ihr Tomcat-Projekt zugreifen, indem Sie direkt auf die IP-Adresse/ zugreifen. 🎜🎜Verwandte Befehlsoperationen Apache-Befehl🎜🎜Stoppen Sie den Dienst: sudo /usr/sbin/apachectl stop🎜Starten Sie den Dienst: sudo /usr/sbin/apachectl start🎜Starten Sie den Dienst neu: sudo /usr/sbin/apachectl restart🎜🎜nginx Befehl (erfordert Ausführen im Nginx-Verzeichnis, Verzeichnis:/usr/local/cellar/nginx/1.12.1/bin/)🎜🎜Öffnen: sudo nginx🎜Neustart: sudo nginx -s reload🎜Schließen🎜Fragen Sie zunächst den Nginx-Hauptordner ab Prozessnummer (Prozess mit Master-Logo): ps -ef|grep nginx🎜Normalerweise stoppen sudo kill -quit Hauptprozess-ID🎜Sudo kill -term Hauptprozess-ID schnell stoppen🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Mac. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen