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.
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
apache_conf.png
sudo /usr/sbin/apachectl restartAt this point, you have already Port 80 is released.
Its content is as follows:
<?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>
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/launchdaemonssudo 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.<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 linesudo vim /usr/local/etc/nginx /nginx.conf<br>
nginx_conf.png<br><br>## Nodes under #server:
listen: Listen to port 80
server_name: Which address to forward toproxy_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 startRestart 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 reloadClose<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!