Cover image for Nginx Module Extension.
Nginx Module Extension.
Title:
Nginx Module Extension.
Author:
Dar, Usama.
ISBN:
9781782163053
Personal Author:
Physical Description:
1 online resource (141 pages)
Contents:
Nginx Module Extension -- Table of Contents -- Nginx Module Extension -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Errata -- Piracy -- Questions -- 1. Installing Nginx Core and Modules from Source -- Installing binary distribution -- Red Hat, Fedora, and CentOS -- Official Debian/Ubuntu packages -- FreeBSD -- OpenBSD -- Official Win32 binaries -- Installing source distribution -- Nginx library dependencies -- Configuring options -- Files and permissions -- The Event loop -- Optional modules -- Compilation controls -- Example -- The Custom module -- Debugging -- Installing on other platforms -- Verifying your Nginx installation -- Summary -- 2. Configuring Core Modules -- Understanding the Main module -- Explaining directives -- daemon -- master_process -- timer_resolution -- pid -- lock_file -- worker_processes -- debug_points -- user -- worker_priority -- worker_cpu_affinity -- worker_rlimit_nofile -- worker_rlimit_core -- worker_rlimit_sigpending -- working_directory -- env -- Understanding the Events module -- Explaining directives -- accept_mutex -- accept_mutex_delay -- debug_connection -- devpoll_changes and devpoll_events -- kqueue_changes and kqueue_events -- epoll_events -- multi_accept -- rtsig_signo -- rtsig_overflow_events, rtsig_overflow_test, and rtsig_overflow_threshold -- use -- worker_connections -- Summary -- 3. Installing and Configuring HTTP Modules -- Standard HTTP modules -- The core module (HttpCoreModule) -- Explaining directives -- server -- server_name -- listen -- SSL -- default_server -- location -- server_names_hash_bucket_size.

server_names_hash_max_size -- tcp_nodelay/tcp_nopush -- sendfile -- sendfile_max_chunk -- root -- resolver/resolver_timeout -- aio -- alias -- error_page -- keepalive_disable, keepalive_timeout, and keepalive_requests -- Controlling access (HttpAccessModule) -- Authenticating users (HttpBasicAuthModule) -- Explaining directives -- auth_basic -- auth_basic_user_file -- Load balancing (HttpUpstreamModule) -- Explaining directives -- ip_hash -- server -- upstream -- Acting as a proxy (HttpProxyModule) -- Explaining directives -- proxy_pass -- proxy_pass_header -- proxy_connect_timeout -- proxy_next_upstream -- proxy_redirect -- proxy_set_header -- proxy_store -- proxy_cache -- Compressing content (HttpGzipModule) -- Explaining directives -- gzip -- gzip_buffers -- gzip_comp_level -- gzip_disable -- gzip_http_version -- gzip_min_length -- gzip_proxied -- gzip_types -- Controlling logging (HttpLogModule) -- Explaining directives -- access_log -- log_format -- Setting response headers (HttpHeadersModule) -- Explaining directives -- add_header -- expires -- Rewriting requests (HttpRewriteModule) -- Explaining directives -- break -- if -- return -- rewrite -- rewrite_log -- set -- uninitialized_variable_warn -- Interacting with FastCGI (HttpFastcgiModule) -- Simple caching (HttpMemcachedModule) -- Explaining directives -- memcached_pass -- memcached_connect_timeout -- memcached_read_timeout -- memcached_send_timeout -- memcached_buffer_size -- memcached_next_upstream -- Limiting requests (HttpLimitReqModule) -- Explaining directives -- limit_req -- limit_req_log_level -- limit_req_zone -- Limiting connections (HttpLimitConnModule) -- Explaining directives -- limit_conn -- limit_conn_zone -- limit_conn_log_level -- limit_conn_status -- Summary -- 4. Installing Third-party Modules -- Compiling third-party modules -- Communicating with PostgreSQL (ngx_postgres).

Explaining directives -- postgres_server -- postgres_keepalive -- postgres_pass -- postgres_query -- postgres_rewrite -- postgres_output -- postgres_set -- postgres_escape -- postgres_connect_timeout -- postgres_result_timeout -- Communicating with MySQL and drizzle (drizzle-nginx) -- Explaining directives -- drizzle_server -- drizzle_keepalive -- drizzle_query -- drizzle_pass -- drizzle_connect_timeout -- drizzle_send_query_timeout -- drizzle_recv_cols_timeout -- drizzle_recv_rows_timeout -- drizzle_buffer_size -- drizzle_module_header -- Digest Authentication (ngx_http_auth_digest) -- Explaining directives -- auth_digest -- auth_digest_user_file -- auth_digest_timeout -- auth_digest_expires -- auth_digest_replays -- auth_digest_shm_size -- Speeding up web pages (ngx_pagespeed) -- Configuring handlers -- Lua scripting (ngx_lua) -- Explaining directives -- lua_package_path -- set_by_lua or set_by_lua_file -- content_by_lua or content_by_lua_file -- rewrite_by_lua or rewrite_by_lua_file -- access_by_lua or access_by_lua_file -- Reverse IP lookup using the GeoIP module (ngx_http_geoip_module) -- Explaining directives -- geoip_country -- geoip_city -- geoip_org -- geoip_proxy -- geoip_proxy_recursive -- Doing healthchecks -- ngx_http_healthcheck_module -- Explaining directives -- healthcheck_enabled -- healthcheck_delay -- healthcheck_timeout -- healthcheck_failcount -- healthcheck_send -- healthcheck_expected -- healthcheck_buffer -- Load balancing -- Consistent hashing -- Least busy -- Configuration variable hashing -- Summary -- 5. Creating Your Own Module -- Nginx module delegation -- Handlers -- Load balancers -- Filters -- Order of execution -- The extended "Hello world" module -- Writing and compiling a module -- The "Hello world" source code -- Components of the Nginx module -- Module configuration structures -- Module directives.

The module context -- create_loc_conf -- merge_loc_conf -- The module definition -- The handler function -- Nginx Development Toolkit (NDK) -- Summary -- Index.
Abstract:
This book is a step-by-step, example-oriented tutorial that will teach you to implement Nginx modules, as well as how to extend Nginx with core and third party modules.Nginx Module Extension is intended for advanced users, system administrators, and developers of Nginx modules. You need to have prior experience with using Nginx as a web server and basic Nginx configuration changes. You also need basic understanding of GNU tools like configure and make, in order to be able to compile the source code. Proficiency in C programming and advanced operating system knowledge on Linux kernel, for example, would also come in handy.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: