Difference between revisions of "/etc/nginx/nginx.conf"

From wikieduonline
Jump to navigation Jump to search
Line 21: Line 21:
 
}
 
}
 
</pre>
 
</pre>
 +
 +
== Features ==
 +
Nginx can be deployed to serve dynamic [[HTTP]] content on the network using [[FastCGI]], [[SCGI]] handlers for [[scripting language|scripts]], [[Web Server Gateway Interface|WSGI]] application servers or [[Phusion Passenger]] modules, and it can serve as a software [[Load balancing (computing)|load balancer]].<ref name="Kleinman" />
 +
 +
Nginx uses an [[asynchronous system|asynchronous]] [[event (computing)|event-driven]] approach, rather than threads, to handle requests.<ref name="Welcome" /> Nginx's modular [[event-driven architecture]] can provide more predictable performance under high loads.<ref name="aosabook" /><ref name="Configuration" />
 +
 +
Nginx default configuration file is <code>nginx.conf</code>.<ref name="Beginner" />
 +
 +
=== HTTP proxy and Web server features ===
 +
* Ability to handle [[c10k problem|more than 10,000 simultaneous connections]] with a low memory footprint (~2.5&nbsp;MB per 10k inactive [[HTTP persistent connection|HTTP keep-alive connections]])
 +
* Handling of static files, index files and auto-indexing
 +
* [[Reverse proxy]] with caching
 +
* [[Load balancing (computing)|Load balancing]] with in-band health checks<ref name="Load balancing" />
 +
* [[Transport Layer Security|TLS/SSL]] with [[Server Name Indication|SNI]] and [[OCSP stapling]] support, via [[OpenSSL]]
 +
* [[FastCGI]], [[SCGI]], [[uWSGI]] support with caching
 +
* [[gRPC]] support since March 2018, version 1.13.10.<ref>https://www.nginx.com/blog/nginx-1-13-10-grpc/</ref>
 +
* Name- and IP address-based virtual servers
 +
* [[IPv6]]-compatible
 +
* [[WebSocket]]s since 1.3.13,<ref>http://nginx.org/en/docs/http/websocket.html</ref><ref>https://nginx.org/en/docs/http/websocket.html</ref> including acting as a reverse proxy and do load balancing of WebSocket applications.<ref>https://www.nginx.com/blog/websocket-nginx/</ref>
 +
* [[HTTP/1.1 Upgrade header|HTTP/1.1 Upgrade (101 Switching Protocols)]],<ref name="101 Switching Protocols" /> [[HTTP/2]] protocol support
 +
* [[rewrite engine|URL rewriting]] and [[URL redirection|redirection]]<ref name="mdoc-intro" /><ref name="mdoc" />
 +
 +
=== Mail proxy features ===
 +
* [[Transport Layer Security|TLS/SSL]] support
 +
* [[STARTTLS]] support
 +
* [[SMTP]],<ref>https://docs.nginx.com/nginx/admin-guide/mail-proxy/mail-proxy/</ref> [[POP3]], and [[IMAP]] [[Proxy server|proxy]]
 +
* Requires Authentication using an external HTTP server or by an authentication script<ref name="Authentication" /><ref>https://docs.nginx.com/nginx/admin-guide/mail-proxy/mail-proxy/#mail_auth</ref>
 +
 +
Other features include upgrading executable and configuration without client connections loss,<ref name="Controlling nginx" /> and a module-based architecture with both core<ref name="documentation" /> and third-party module support.<ref name="3rdPartyModules" />
 +
 +
The paid Plus product includes additional features such as advanced load balancing and access to an expanded suite of metrics for performance monitoring.<ref name="Plus metrics" /><ref name="Plus load balancing" />
  
  
Line 43: Line 74:
  
 
[[Category:Web server software]]
 
[[Category:Web server software]]
 +
 +
 +
{{CC license}}
 +
Source: https://en.wikipedia.org/wiki/Nginx

Revision as of 11:01, 29 December 2019

wikipedia:Nginx web server that was written in 2004 as an alternative to popular Apache web server.

/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf

Nginx logs (See also Nginx change log)

  • Error log file: /var/log/nginx/error.log
  • Access log file: /var/log/nginx/access.log
  • Logrotate: /etc/logrotate.d/nginx
  • journalctl -u nginx
journalctl -u nginx | grep emerg

Nginx Sample Configurations

Example of the simplest nginx possible configuration file, listening on default http port: 80.

/etc/nginx/conf.d/default.conf
server {
    listen 80;
    root /path/to/your/html_files;
}

Features

Nginx can be deployed to serve dynamic HTTP content on the network using FastCGI, SCGI handlers for scripts, WSGI application servers or Phusion Passenger modules, and it can serve as a software load balancer.[1]

Nginx uses an asynchronous event-driven approach, rather than threads, to handle requests.[2] Nginx's modular event-driven architecture can provide more predictable performance under high loads.[3][4]

Nginx default configuration file is nginx.conf.[5]

HTTP proxy and Web server features

Mail proxy features

Other features include upgrading executable and configuration without client connections loss,[17] and a module-based architecture with both core[18] and third-party module support.[19]

The paid Plus product includes additional features such as advanced load balancing and access to an expanded suite of metrics for performance monitoring.[20][21]


Linux Nginx Operation on systemd distributions

  • Verify/Test Configuration: nginx -t
  • Status: systemctl status nginx
  • Start: systemctl start nginx
  • Stop: systemctl stop nginx
  • Restart: systemctl restart nginx (See also: nginx -t)

Activities

See also


Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.

Source: https://en.wikipedia.org/wiki/Nginx

  1. Cite error: Invalid <ref> tag; no text was provided for refs named Kleinman
  2. Cite error: Invalid <ref> tag; no text was provided for refs named Welcome
  3. Cite error: Invalid <ref> tag; no text was provided for refs named aosabook
  4. Cite error: Invalid <ref> tag; no text was provided for refs named Configuration
  5. Cite error: Invalid <ref> tag; no text was provided for refs named Beginner
  6. Cite error: Invalid <ref> tag; no text was provided for refs named Load balancing
  7. https://www.nginx.com/blog/nginx-1-13-10-grpc/
  8. http://nginx.org/en/docs/http/websocket.html
  9. https://nginx.org/en/docs/http/websocket.html
  10. https://www.nginx.com/blog/websocket-nginx/
  11. Cite error: Invalid <ref> tag; no text was provided for refs named 101 Switching Protocols
  12. Cite error: Invalid <ref> tag; no text was provided for refs named mdoc-intro
  13. Cite error: Invalid <ref> tag; no text was provided for refs named mdoc
  14. https://docs.nginx.com/nginx/admin-guide/mail-proxy/mail-proxy/
  15. Cite error: Invalid <ref> tag; no text was provided for refs named Authentication
  16. https://docs.nginx.com/nginx/admin-guide/mail-proxy/mail-proxy/#mail_auth
  17. Cite error: Invalid <ref> tag; no text was provided for refs named Controlling nginx
  18. Cite error: Invalid <ref> tag; no text was provided for refs named documentation
  19. Cite error: Invalid <ref> tag; no text was provided for refs named 3rdPartyModules
  20. Cite error: Invalid <ref> tag; no text was provided for refs named Plus metrics
  21. Cite error: Invalid <ref> tag; no text was provided for refs named Plus load balancing

Advertising: