Heim > Artikel > Betrieb und Instandhaltung > So verwenden Sie Nginx zum Weiterleiten von Port 80 an Port 8080 auf einem Mac
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.conf
sudo vim /etc/apache2/httpd.conf
图片中红色框打开原本是80端口,作者已将其改为8011。
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端口已经配置完成,意味着你已经完成了六成的工作。
如果你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.
apache_conf .png
Nachdem Sie Änderungen vorgenommen haben, starten Sie es neu sudo /usr/sbin/apachectl restart
Der Inhalt lautet wie folgt:
rrreee
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.
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:
Befehlszeilesudo vim /usr/local/etc/nginx/nginx.conf<br>
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!