Home >Operation and Maintenance >Nginx >How to use Nginx to forward port 80 to port 8080 on Mac

How to use Nginx to forward port 80 to port 8080 on Mac

WBOY
WBOYforward
2023-05-11 21:49:161714browse

Environment

mac os version: 10.12.6<br>nginx version: 1.12.1

Installation

The author uses homebrew installation library

brew search nginx
brew install nginx

After installation, you will find that the listening port of nginx is 8080, not 80, then you need to change the listening port of nginx at this time, then this step is very critical. It cannot be changed in the traditional way. Readers please read this part carefully. <br>Since mac os comes with its own apache service, which occupies port 80, first you need to change the listening port of apache to another one or uninstall it directly. The author changed its listening port to 8011.

Command line

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

Open the red box in the picture Originally it was port 80, but the author has changed it to 8011.

How to use Nginx to forward port 80 to port 8080 on Macapache_conf.png<br>

After making changes, restart it

sudo /usr/sbin/apachectl restartAt this point, you have already Port 80 is released. <br>

The second thing you need to know is the plist file. plist means property list format. It is the format used by Apple to save application data. It is actually xml. The plist file corresponding to nginx can be found under /usr/local/opt/nginx. For example, on the author's computer it is homebrew.mxcl.nginx.plist.

Its content is as follows: <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>

You need to copy this file to /library/launchdaemons. It is also OK if it is ~/library/launchagents, but there is a difference between the two.

The former is started when the system starts, and the latter is started when the user logs in. Then execute launchctl load -w, as follows: <br>

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

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

Finally, restart your machine. You will find that nginx is started on port 80. Try to access it directly through http://localhost. If the picture below appears, it means that your nginx Port 80 has been configured, which means you have completed 60% of the work.

How to use Nginx to forward port 80 to port 8080 on Mac<br>

If your tomcat port is 8080, you have to start it at this time. The reason why you start tomcat at this time is to let tomcat occupy the 8080 port first. Because you need to configure the forwarding of port 8080 when configuring nginx forwarding later, in order to prevent nginx from occupying port 8080 first at that time (you can also not start tomcat here, as long as you do not start the nginx service immediately after configuring the nginx forwarding configuration. Because when you start it, it directly occupies the 8080 port for forwarding, and you have not actually used the 8080 port at this time), causing tomcat to fail to start. Therefore, you can first let tomcat occupy the port and then perform nginx mapping and forwarding of the 8080 port.

At this point your tomcat has been started. At this time we start to configure the forwarding configuration of nginx: <br>

Command line

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

You only need to care about the configuration within the server node

How to use Nginx to forward port 80 to port 8080 on Macnginx_conf.png<br><br>## Nodes under #server:

listen: Listen to port 80

server_name: Which address to forward to

proxy_pass: Which address to proxy to <br><br> Several of these configurations are completed, we Restart nginx (you need to switch to the nginx directory to restart) sudo /usr/local/cellar/nginx/1.12.1/bin/nginx -s reload

All operations here have been completed, now You and other partners in the same network segment can access your tomcat project by directly accessing the IP address/.

Related command operations apache command

Stop the service: sudo /usr/sbin/apachectl stop

Start the service: sudo /usr/sbin/apachectl start

Restart the service: sudo / usr/sbin/apachectl restart<br><br>nginx command (needs to be executed in the nginx directory, directory:/usr/local/cellar/nginx/1.12.1/bin/)

Enable: sudo nginx

Restart: sudo nginx -s reload

Close<br>First, query the nginx main process number (the process with the master logo): ps -ef|grep nginx<br>Stop normally sudo kill -quit master Process number<br>Quickly stop sudo kill -term Main process number<br>

The above is the detailed content of How to use Nginx to forward port 80 to port 8080 on Mac. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete