【NGINX】nginx-1.19.6 のソースコード一覧

EXCEL

最近、nginxに興味がでてきた(コンフィグ設定で苦しんだ)ので、ソースを取得してみた。

C言語で作られていたんだ。全く知らなかった。

PS c:\nginx-1.19.6> tree /F .
フォルダー パスの一覧
ボリューム シリアル番号は B247-D316 です
c:\NGINX-1.19.6
│  CHANGES
│  CHANGES.ru
│  configure
│  LICENSE
│  README
│
├─auto
│  │  define
│  │  endianness
│  │  feature
│  │  have
│  │  have_headers
│  │  headers
│  │  include
│  │  init
│  │  install
│  │  make
│  │  module
│  │  modules
│  │  nohave
│  │  options
│  │  sources
│  │  stubs
│  │  summary
│  │  threads
│  │  unix
│  │
│  ├─cc
│  │      acc
│  │      bcc
│  │      ccc
│  │      clang
│  │      conf
│  │      gcc
│  │      icc
│  │      msvc
│  │      name
│  │      owc
│  │      sunc
│  │
│  ├─lib
│  │  │  conf
│  │  │  make
│  │  │
│  │  ├─geoip
│  │  │      conf
│  │  │
│  │  ├─google-perftools
│  │  │      conf
│  │  │
│  │  ├─libatomic
│  │  │      conf
│  │  │      make
│  │  │
│  │  ├─libgd
│  │  │      conf
│  │  │
│  │  ├─libxslt
│  │  │      conf
│  │  │
│  │  ├─openssl
│  │  │      conf
│  │  │      make
│  │  │      makefile.bcc
│  │  │      makefile.msvc
│  │  │
│  │  ├─pcre
│  │  │      conf
│  │  │      make
│  │  │      makefile.bcc
│  │  │      makefile.msvc
│  │  │      makefile.owc
│  │  │
│  │  ├─perl
│  │  │      conf
│  │  │      make
│  │  │
│  │  └─zlib
│  │          conf
│  │          make
│  │          makefile.bcc
│  │          makefile.msvc
│  │          makefile.owc
│  │
│  ├─os
│  │      conf
│  │      darwin
│  │      freebsd
│  │      linux
│  │      solaris
│  │      win32
│  │
│  └─types
│          sizeof
│          typedef
│          uintptr_t
│          value
│
├─conf
│      fastcgi.conf
│      fastcgi_params
│      koi-utf
│      koi-win
│      mime.types
│      nginx.conf
│      scgi_params
│      uwsgi_params
│      win-utf
│
├─contrib
│  │  geo2nginx.pl
│  │  README
│  │
│  ├─unicode2nginx
│  │      koi-utf
│  │      unicode-to-nginx.pl
│  │      win-utf
│  │
│  └─vim
│      ├─ftdetect
│      │      nginx.vim
│      │
│      ├─ftplugin
│      │      nginx.vim
│      │
│      ├─indent
│      │      nginx.vim
│      │
│      └─syntax
│              nginx.vim
│
├─html
│      50x.html
│      index.html
│
├─man
│      nginx.8
│
└─src
    ├─core
    │      nginx.c
    │      nginx.h
    │      ngx_array.c
    │      ngx_array.h
    │      ngx_buf.c
    │      ngx_buf.h
    │      ngx_config.h
    │      ngx_conf_file.c
    │      ngx_conf_file.h
    │      ngx_connection.c
    │      ngx_connection.h
    │      ngx_core.h
    │      ngx_cpuinfo.c
    │      ngx_crc.h
    │      ngx_crc32.c
    │      ngx_crc32.h
    │      ngx_crypt.c
    │      ngx_crypt.h
    │      ngx_cycle.c
    │      ngx_cycle.h
    │      ngx_file.c
    │      ngx_file.h
    │      ngx_hash.c
    │      ngx_hash.h
    │      ngx_inet.c
    │      ngx_inet.h
    │      ngx_list.c
    │      ngx_list.h
    │      ngx_log.c
    │      ngx_log.h
    │      ngx_md5.c
    │      ngx_md5.h
    │      ngx_module.c
    │      ngx_module.h
    │      ngx_murmurhash.c
    │      ngx_murmurhash.h
    │      ngx_open_file_cache.c
    │      ngx_open_file_cache.h
    │      ngx_output_chain.c
    │      ngx_palloc.c
    │      ngx_palloc.h
    │      ngx_parse.c
    │      ngx_parse.h
    │      ngx_parse_time.c
    │      ngx_parse_time.h
    │      ngx_proxy_protocol.c
    │      ngx_proxy_protocol.h
    │      ngx_queue.c
    │      ngx_queue.h
    │      ngx_radix_tree.c
    │      ngx_radix_tree.h
    │      ngx_rbtree.c
    │      ngx_rbtree.h
    │      ngx_regex.c
    │      ngx_regex.h
    │      ngx_resolver.c
    │      ngx_resolver.h
    │      ngx_rwlock.c
    │      ngx_rwlock.h
    │      ngx_sha1.c
    │      ngx_sha1.h
    │      ngx_shmtx.c
    │      ngx_shmtx.h
    │      ngx_slab.c
    │      ngx_slab.h
    │      ngx_spinlock.c
    │      ngx_string.c
    │      ngx_string.h
    │      ngx_syslog.c
    │      ngx_syslog.h
    │      ngx_thread_pool.c
    │      ngx_thread_pool.h
    │      ngx_times.c
    │      ngx_times.h
    │
    ├─event
    │  │  ngx_event.c
    │  │  ngx_event.h
    │  │  ngx_event_accept.c
    │  │  ngx_event_connect.c
    │  │  ngx_event_connect.h
    │  │  ngx_event_openssl.c
    │  │  ngx_event_openssl.h
    │  │  ngx_event_openssl_stapling.c
    │  │  ngx_event_pipe.c
    │  │  ngx_event_pipe.h
    │  │  ngx_event_posted.c
    │  │  ngx_event_posted.h
    │  │  ngx_event_timer.c
    │  │  ngx_event_timer.h
    │  │  ngx_event_udp.c
    │  │
    │  └─modules
    │          ngx_devpoll_module.c
    │          ngx_epoll_module.c
    │          ngx_eventport_module.c
    │          ngx_kqueue_module.c
    │          ngx_poll_module.c
    │          ngx_select_module.c
    │          ngx_win32_poll_module.c
    │          ngx_win32_select_module.c
    │
    ├─http
    │  │  ngx_http.c
    │  │  ngx_http.h
    │  │  ngx_http_cache.h
    │  │  ngx_http_config.h
    │  │  ngx_http_copy_filter_module.c
    │  │  ngx_http_core_module.c
    │  │  ngx_http_core_module.h
    │  │  ngx_http_file_cache.c
    │  │  ngx_http_header_filter_module.c
    │  │  ngx_http_parse.c
    │  │  ngx_http_postpone_filter_module.c
    │  │  ngx_http_request.c
    │  │  ngx_http_request.h
    │  │  ngx_http_request_body.c
    │  │  ngx_http_script.c
    │  │  ngx_http_script.h
    │  │  ngx_http_special_response.c
    │  │  ngx_http_upstream.c
    │  │  ngx_http_upstream.h
    │  │  ngx_http_upstream_round_robin.c
    │  │  ngx_http_upstream_round_robin.h
    │  │  ngx_http_variables.c
    │  │  ngx_http_variables.h
    │  │  ngx_http_write_filter_module.c
    │  │
    │  ├─modules
    │  │  │  ngx_http_access_module.c
    │  │  │  ngx_http_addition_filter_module.c
    │  │  │  ngx_http_auth_basic_module.c
    │  │  │  ngx_http_auth_request_module.c
    │  │  │  ngx_http_autoindex_module.c
    │  │  │  ngx_http_browser_module.c
    │  │  │  ngx_http_charset_filter_module.c
    │  │  │  ngx_http_chunked_filter_module.c
    │  │  │  ngx_http_dav_module.c
    │  │  │  ngx_http_degradation_module.c
    │  │  │  ngx_http_empty_gif_module.c
    │  │  │  ngx_http_fastcgi_module.c
    │  │  │  ngx_http_flv_module.c
    │  │  │  ngx_http_geoip_module.c
    │  │  │  ngx_http_geo_module.c
    │  │  │  ngx_http_grpc_module.c
    │  │  │  ngx_http_gunzip_filter_module.c
    │  │  │  ngx_http_gzip_filter_module.c
    │  │  │  ngx_http_gzip_static_module.c
    │  │  │  ngx_http_headers_filter_module.c
    │  │  │  ngx_http_image_filter_module.c
    │  │  │  ngx_http_index_module.c
    │  │  │  ngx_http_limit_conn_module.c
    │  │  │  ngx_http_limit_req_module.c
    │  │  │  ngx_http_log_module.c
    │  │  │  ngx_http_map_module.c
    │  │  │  ngx_http_memcached_module.c
    │  │  │  ngx_http_mirror_module.c
    │  │  │  ngx_http_mp4_module.c
    │  │  │  ngx_http_not_modified_filter_module.c
    │  │  │  ngx_http_proxy_module.c
    │  │  │  ngx_http_random_index_module.c
    │  │  │  ngx_http_range_filter_module.c
    │  │  │  ngx_http_realip_module.c
    │  │  │  ngx_http_referer_module.c
    │  │  │  ngx_http_rewrite_module.c
    │  │  │  ngx_http_scgi_module.c
    │  │  │  ngx_http_secure_link_module.c
    │  │  │  ngx_http_slice_filter_module.c
    │  │  │  ngx_http_split_clients_module.c
    │  │  │  ngx_http_ssi_filter_module.c
    │  │  │  ngx_http_ssi_filter_module.h
    │  │  │  ngx_http_ssl_module.c
    │  │  │  ngx_http_ssl_module.h
    │  │  │  ngx_http_static_module.c
    │  │  │  ngx_http_stub_status_module.c
    │  │  │  ngx_http_sub_filter_module.c
    │  │  │  ngx_http_try_files_module.c
    │  │  │  ngx_http_upstream_hash_module.c
    │  │  │  ngx_http_upstream_ip_hash_module.c
    │  │  │  ngx_http_upstream_keepalive_module.c
    │  │  │  ngx_http_upstream_least_conn_module.c
    │  │  │  ngx_http_upstream_random_module.c
    │  │  │  ngx_http_upstream_zone_module.c
    │  │  │  ngx_http_userid_filter_module.c
    │  │  │  ngx_http_uwsgi_module.c
    │  │  │  ngx_http_xslt_filter_module.c
    │  │  │
    │  │  └─perl
    │  │          Makefile.PL
    │  │          nginx.pm
    │  │          nginx.xs
    │  │          ngx_http_perl_module.c
    │  │          ngx_http_perl_module.h
    │  │          typemap
    │  │
    │  └─v2
    │          ngx_http_v2.c
    │          ngx_http_v2.h
    │          ngx_http_v2_encode.c
    │          ngx_http_v2_filter_module.c
    │          ngx_http_v2_huff_decode.c
    │          ngx_http_v2_huff_encode.c
    │          ngx_http_v2_module.c
    │          ngx_http_v2_module.h
    │          ngx_http_v2_table.c
    │
    ├─mail
    │      ngx_mail.c
    │      ngx_mail.h
    │      ngx_mail_auth_http_module.c
    │      ngx_mail_core_module.c
    │      ngx_mail_handler.c
    │      ngx_mail_imap_handler.c
    │      ngx_mail_imap_module.c
    │      ngx_mail_imap_module.h
    │      ngx_mail_parse.c
    │      ngx_mail_pop3_handler.c
    │      ngx_mail_pop3_module.c
    │      ngx_mail_pop3_module.h
    │      ngx_mail_proxy_module.c
    │      ngx_mail_smtp_handler.c
    │      ngx_mail_smtp_module.c
    │      ngx_mail_smtp_module.h
    │      ngx_mail_ssl_module.c
    │      ngx_mail_ssl_module.h
    │
    ├─misc
    │      ngx_cpp_test_module.cpp
    │      ngx_google_perftools_module.c
    │
    ├─os
    │  └─unix
    │          ngx_alloc.c
    │          ngx_alloc.h
    │          ngx_atomic.h
    │          ngx_channel.c
    │          ngx_channel.h
    │          ngx_daemon.c
    │          ngx_darwin.h
    │          ngx_darwin_config.h
    │          ngx_darwin_init.c
    │          ngx_darwin_sendfile_chain.c
    │          ngx_dlopen.c
    │          ngx_dlopen.h
    │          ngx_errno.c
    │          ngx_errno.h
    │          ngx_files.c
    │          ngx_files.h
    │          ngx_file_aio_read.c
    │          ngx_freebsd.h
    │          ngx_freebsd_config.h
    │          ngx_freebsd_init.c
    │          ngx_freebsd_sendfile_chain.c
    │          ngx_gcc_atomic_amd64.h
    │          ngx_gcc_atomic_ppc.h
    │          ngx_gcc_atomic_sparc64.h
    │          ngx_gcc_atomic_x86.h
    │          ngx_linux.h
    │          ngx_linux_aio_read.c
    │          ngx_linux_config.h
    │          ngx_linux_init.c
    │          ngx_linux_sendfile_chain.c
    │          ngx_os.h
    │          ngx_posix_config.h
    │          ngx_posix_init.c
    │          ngx_process.c
    │          ngx_process.h
    │          ngx_process_cycle.c
    │          ngx_process_cycle.h
    │          ngx_readv_chain.c
    │          ngx_recv.c
    │          ngx_send.c
    │          ngx_setaffinity.c
    │          ngx_setaffinity.h
    │          ngx_setproctitle.c
    │          ngx_setproctitle.h
    │          ngx_shmem.c
    │          ngx_shmem.h
    │          ngx_socket.c
    │          ngx_socket.h
    │          ngx_solaris.h
    │          ngx_solaris_config.h
    │          ngx_solaris_init.c
    │          ngx_solaris_sendfilev_chain.c
    │          ngx_sunpro_amd64.il
    │          ngx_sunpro_atomic_sparc64.h
    │          ngx_sunpro_sparc64.il
    │          ngx_sunpro_x86.il
    │          ngx_thread.h
    │          ngx_thread_cond.c
    │          ngx_thread_id.c
    │          ngx_thread_mutex.c
    │          ngx_time.c
    │          ngx_time.h
    │          ngx_udp_recv.c
    │          ngx_udp_send.c
    │          ngx_udp_sendmsg_chain.c
    │          ngx_user.c
    │          ngx_user.h
    │          ngx_writev_chain.c
    │
    └─stream
            ngx_stream.c
            ngx_stream.h
            ngx_stream_access_module.c
            ngx_stream_core_module.c
            ngx_stream_geoip_module.c
            ngx_stream_geo_module.c
            ngx_stream_handler.c
            ngx_stream_limit_conn_module.c
            ngx_stream_log_module.c
            ngx_stream_map_module.c
            ngx_stream_proxy_module.c
            ngx_stream_realip_module.c
            ngx_stream_return_module.c
            ngx_stream_script.c
            ngx_stream_script.h
            ngx_stream_set_module.c
            ngx_stream_split_clients_module.c
            ngx_stream_ssl_module.c
            ngx_stream_ssl_module.h
            ngx_stream_ssl_preread_module.c
            ngx_stream_upstream.c
            ngx_stream_upstream.h
            ngx_stream_upstream_hash_module.c
            ngx_stream_upstream_least_conn_module.c
            ngx_stream_upstream_random_module.c
            ngx_stream_upstream_round_robin.c
            ngx_stream_upstream_round_robin.h
            ngx_stream_upstream_zone_module.c
            ngx_stream_variables.c
            ngx_stream_variables.h
            ngx_stream_write_filter_module.c

C言語といえば、Main()関数を探したくなるので、ちょっと調査 今度読んでみよう!

PS c:\nginx-1.19.6> Get-ChildItem . -include *  -Recurse -Force | Select-String "main\(" -Encoding default

auto\cc\sunc:26:int main(void) {
auto\types\sizeof:28:int main(void) {
auto\types\typedef:30:int main(void) {
auto\types\uintptr_t:22:int main(void) {
auto\endianness:18:int main(void) {
auto\feature:34:int main(void) 
auto\include:23:int main(void) {
src\core\nginx.c:196:main(int argc, char *const *argv)
src\event\ngx_event_openssl.c:5166:ngx_ssl_get_client_v_remain(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
src\event\ngx_event_openssl.h:282:ngx_int_t ngx_ssl_get_client_v_remain(ngx_connection_t *c, ngx_pool_t *pool,
src\http\modules\ngx_http_proxy_module.c:213:static char *ngx_http_proxy_cookie_domain(ngx_conf_t *cf, ngx_command_t *cmd,
src\http\modules\ngx_http_proxy_module.c:4321:ngx_http_proxy_cookie_domain(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
src\http\modules\ngx_http_userid_filter_module.c:69:static char *ngx_http_userid_domain(ngx_conf_t *cf, void *post, void *data);
src\http\modules\ngx_http_userid_filter_module.c:790:ngx_http_userid_domain(ngx_conf_t *cf, void *post, void *data)


PS c:\nginx-1.19.6>
ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました