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>
apache_conf.png<br>
sudo /usr/sbin/apachectl restartAt this point, you have already Port 80 is released. <br>
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/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>
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!

NGINX improves performance through its event-driven architecture and asynchronous processing capabilities, enhances scalability through modular design and flexible configuration, and improves security through SSL/TLS encryption and request rate limiting.

NGINX is suitable for high concurrency and low resource consumption scenarios, while Apache is suitable for scenarios that require complex configurations and functional extensions. 1.NGINX is known for handling large numbers of concurrent connections with high performance. 2. Apache is known for its stability and rich module support. When choosing, it must be decided based on specific needs.

NGINXisessentialformodernwebapplicationsduetoitsrolesasareverseproxy,loadbalancer,andwebserver,offeringhighperformanceandscalability.1)Itactsasareverseproxy,enhancingsecurityandperformancebycachingandloadbalancing.2)NGINXsupportsvariousloadbalancingm

To ensure website security through Nginx, the following steps are required: 1. Create a basic configuration, specify the SSL certificate and private key; 2. Optimize the configuration, enable HTTP/2 and OCSPStapling; 3. Debug common errors, such as certificate path and encryption suite issues; 4. Application performance optimization suggestions, such as using Let'sEncrypt and session multiplexing.

Nginx is a high-performance HTTP and reverse proxy server that is good at handling high concurrent connections. 1) Basic configuration: listen to the port and provide static file services. 2) Advanced configuration: implement reverse proxy and load balancing. 3) Debugging skills: Check the error log and test the configuration file. 4) Performance optimization: Enable Gzip compression and adjust cache policies.

Nginx cache can significantly improve website performance through the following steps: 1) Define the cache area and set the cache path; 2) Configure the cache validity period; 3) Set different cache policies according to different content; 4) Optimize cache storage and load balancing; 5) Monitor and debug cache effects. Through these methods, Nginx cache can reduce back-end server pressure, improve response speed and user experience.

Using DockerCompose can simplify the deployment and management of Nginx, and scaling through DockerSwarm or Kubernetes is a common practice. 1) Use DockerCompose to define and run Nginx containers, 2) implement cluster management and automatic scaling through DockerSwarm or Kubernetes.

The advanced configuration of Nginx can be implemented through server blocks and reverse proxy: 1. Server blocks allow multiple websites to be run in one instance, each block is configured independently. 2. The reverse proxy forwards the request to the backend server to realize load balancing and cache acceleration.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use