2.4 編譯安裝 : configure / make / make install
./configure
檢測(cè)系統(tǒng)內(nèi)核和已經(jīng)安裝的軟件熔恢,參數(shù)解析倦挂,生成MakeFile文件等等 — 編譯nginx - 編譯不通過(guò)會(huì)包缺少軟件远搪; 依次安裝軟件
問(wèn)題:
the HTTP rewrite module requires the PCRE library
make
根據(jù)configure生成的MakeFile編譯Nginx工程岩灭,并生成目標(biāo)文件漩怎,最終的二進(jìn)制文件
make insatll
根據(jù)configure執(zhí)行配置的參數(shù),把nginx部署到指定的文件目錄(包括相關(guān)目錄的創(chuàng)建辖源;二進(jìn)制文件竭缝、配置文件的復(fù)制)
生成配置的參數(shù)
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
configure執(zhí)行成功生成的objs的路徑
├── autoconf.err //保存編譯過(guò)程產(chǎn)生的結(jié)果
├── autotest.c
├── Makefile //用于make命令來(lái)編譯鞍恢,以及make install 根據(jù)參數(shù)來(lái)部署
├── ngx_auto_config.h
├── ngx_auto_headers.h
├── ngx_modules.c
└── src //存放編譯時(shí)產(chǎn)生的目標(biāo)文件
├── core
├── event
│ └── modules
├── http
│ ├── modules
│ │ └── perl
│ └── v2
├── mail
├── misc
├── os
│ ├── unix
│ └── win32
└── stream
ngx_modules.c 結(jié)構(gòu)
char *ngx_module_names[] = {
"ngx_core_module",
"ngx_errlog_module",
"ngx_conf_module",
"ngx_regex_module",
"ngx_events_module",
"ngx_event_core_module",
"ngx_epoll_module",
"ngx_http_module",
"ngx_http_core_module",
"ngx_http_log_module",
"ngx_http_upstream_module",
"ngx_http_static_module",
"ngx_http_autoindex_module",
"ngx_http_index_module",
"ngx_http_mirror_module",
"ngx_http_try_files_module",
"ngx_http_auth_basic_module",
"ngx_http_access_module",
"ngx_http_limit_conn_module",
"ngx_http_limit_req_module",
"ngx_http_geo_module",
"ngx_http_map_module",
"ngx_http_split_clients_module",
"ngx_http_referer_module",
"ngx_http_rewrite_module",
"ngx_http_proxy_module",
"ngx_http_fastcgi_module",
"ngx_http_uwsgi_module",
"ngx_http_scgi_module",
"ngx_http_memcached_module",
"ngx_http_empty_gif_module",
"ngx_http_browser_module",
"ngx_http_upstream_hash_module",
"ngx_http_upstream_ip_hash_module",
"ngx_http_upstream_least_conn_module",
"ngx_http_upstream_random_module",
"ngx_http_upstream_keepalive_module",
"ngx_http_upstream_zone_module",
"ngx_http_write_filter_module",
"ngx_http_header_filter_module",
"ngx_http_chunked_filter_module",
"ngx_http_range_header_filter_module",
"ngx_http_gzip_filter_module",
"ngx_http_postpone_filter_module",
"ngx_http_ssi_filter_module",
"ngx_http_charset_filter_module",
"ngx_http_userid_filter_module",
"ngx_http_headers_filter_module",
"ngx_http_copy_filter_module",
"ngx_http_range_body_filter_module",
"ngx_http_not_modified_filter_module",
NULL
};