上一篇和这一篇都是基于nginx源代码包自带的配置文件,加上之前调试环境搭建里面贴出来的配置
创建目录 /home/liuwb/Desktop/code/nginx-code/client_body_temp /home/liuwb/Desktop/code/nginx-code/proxy_temp /home/liuwb/Desktop/code/nginx-code/fastcgi_temp /home/liuwb/Desktop/code/nginx-code/uwsgi_temp /home/liuwb/Desktop/code/nginx-code/scgi_temp 打开log文件 /home/liuwb/Desktop/code/nginx-code/logs/error.log /home/liuwb/Desktop/code/nginx-code/logs/host.access.log /home/liuwb/Desktop/code/nginx-code/logs/access.log 创建共享内存 ngx_list_part_t *part = &cycle->shared_memory.part; shm_zone = part->elts; part->elts = 0,part->next == NULL直接跳出循环 ls = cycle->listening.elts; (gdb) p ls[0] $23 = {fd = -1, sockaddr = 0x75c0b0, socklen = 16, addr_text_max_len = 15, addr_text = {len = 10, data = 0x75c0c0 "0.0.0.0:80"}, type = 1, backlog = 511, rcvbuf = -1, sndbuf = -1, keepidle = 0, keepintvl = 0, keepcnt = 0, handler = 0x4648a5 <ngx_http_init_connection>, servers = 0x75c0d0, log = {log_level = 0, file = 0x0, connection = 0, disk_full_time = 0, handler = 0x4459c2 <ngx_accept_log_error>, data = 0x72dbd8, writer = 0x0, wdata = 0x0, action = 0x0, next = 0x0}, logp = 0x72d548, pool_size = 512, post_accept_buffer_size = 0, post_accept_timeout = 60000, previous = 0x0, connection = 0x0, worker = 0, open = 0, remain = 0, ignore = 0, bound = 0, inherited = 0, nonblocking_accept = 0, listen = 0, nonblocking = 0, shared = 0, addr_ntop = 1, wildcard = 0, ipv6only = 1, reuseport = 0, add_reuseport = 0, keepalive = 0, deferred_accept = 0, delete_deferred = 0, add_deferred = 0, fastopen = -1} ngx_open_listening_sockets(cycle) 创建socket,监听80 ngx_configure_listening_sockets(cycle); 配置连接属性 ngx_init_modules(cycle) 这次不分core,还是http,只要有init_module,就调用之 ngx_destroy_pool(conf.temp_pool);销毁临时pool ngx_destroy_pool(old_cycle->pool);销毁old pool 返回cycle