Difference between revisions of "Nginx.conf"

From wikieduonline
Jump to navigation Jump to search
Tags: Mobile web edit, Mobile edit
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Nginx]]
 
[[Nginx]]
  
 +
/etc/nginx/nginx.conf
  
* Error log file: <code>/var/log/nginx/error.log</code>
+
* Error log file: <code>/var/log/nginx/[[Error.log (Nginx)|error.log]]</code>
* Access log file: <code>/var/log/nginx/access.log</code>
+
* Access log file: <code>/var/log/nginx/[[access.log]]</code>
  
  
==Directives ==
+
== Examples ==
+
* [[Track Application Response time in Nginx]]
[[server_name]] YOUR_DOMAIN.COM;<ref>http://nginx.org/en/docs/http/server_names.html</ref>
+
* [[Nginx Sample Configurations]]
root /var/www/your_domain;
 
 
 
:<code>listen</code><ref>http://nginx.org/en/docs/http/ngx_http_core_module.html#listen</ref>
 
::<code>listen 443 ssl;</code>
 
::<code>listen 80;</code>
 
 
 
:<code>[[try_files]] $uri $uri/ @rewrite;</code>
 
 
 
:<code>[[fastcgi_pass]]</code> (Used for [[PHP]])
 
 
 
:<code>[[rewrite]]</code>
 
 
 
:<code>[[location]]</code>
 
 
 
:<code>[[upstream]]</code>
 
:<code>[[proxy_pass]]</code>
 
 
 
:<code>[[return]]</code>
 
 
 
:<code>worker_processes auto;</code>
 
:<code>sendfile on;</code><ref>https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/#enabling-sendfile</ref>
 
:<code>include /etc/nginx/mime.types;</code>
 
:<code>tcp_nopush on;</code>
 
:<code>tcp_nodelay on;</code>
 
:<code>[[chunked_transfer_encoding]]</code>
 
 
 
:<code>server_tokens off;</code> (in http context)
 
 
 
[[Proxy]] (Nginx can proxy requests using http, [[FastCGI]], uwsgi, SCGI, or memcached.)
 
:<code>proxy_read_timeout 2400s;</code>
 
:<code>proxy_connect_timeout 75s;</code>
 
:<code>proxy_send_timeout 2400s;</code>
 
:<code>proxy_buffer_size 32k;</code>
 
:<code>proxy_buffers 40 32k;</code>
 
:<code>proxy_busy_buffers_size 64k;</code>
 
:<code>proxy_temp_file_write_size 250m;</code>
 
:<code>proxy_http_version 1.1;</code>
 
:<code>proxy_redirect [default|off|redirect replacement]</code><ref>http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect</ref>
 
 
 
 
 
[[SSL]] (See also: <code>[[certbot]]</code>)
 
{{nginx SSL directives}}
 
 
 
== Track Application Response time in Nginx <ref>https://lincolnloop.com/blog/tracking-application-response-time-nginx/</ref> ==
 
 
 
1) Add to <code>/etc/nginx/nginx.conf</code>
 
 
 
http://nginx.org/en/docs/http/ngx_http_log_module.html
 
<pre>
 
log_format timed_combined '$remote_addr - $remote_user [$time_local] '
 
    '"$request" $status $body_bytes_sent '
 
    '"$http_referer" "$http_user_agent" '
 
    '$request_time $upstream_response_time $pipe';
 
</pre>
 
:::<code>$pipe</code> “p” if request was [[pipelined]], “.” otherwise
 
:::<code>$request_time</code>
 
:::<code>$upstream_response_time</code>
 
 
 
2) Modify access_log directive to use new format:
 
<pre>
 
access_log /var/log/nginx/yourdomain.com.access.log timed_combined;
 
</pre><ref>https://stackoverflow.com/a/39260524</ref>
 
 
 
:<code>request_time</code> This shows how long Nginx dealt with the request
 
:<code>upstream_response_time</code> Gives us the time it took our upstream server (in this case Apache/mod_wsgi) to respond
 
:<code>pipe</code> Shows ‘p’ in case the request was pipelined.
 
  
 
== See also ==
 
== See also ==

Revision as of 04:34, 6 July 2020

Advertising: