如果配置文件设为单进程工作模式(master_process为off),将调用ngx_single_process_cycle函数。在该函数中调用所有模块的init_process方法,该方法保存在ngx_module_t->init_process函数指针中。系统进入单进程模循环工作。 如果配置文件设为master-worker工作模式(master_process为on),则调用ngx_master_process_cycle函数。
15. if (ngx_process == NGX_PROCESS_SINGLE) //判断nginx运行模式 16.ngx_single_process_cycle //如果是单进程模式,就调用这个函数 17.ngx_master_process_cycle //如果是多进程模式,就会调用这个 18.cycle->modules[i]->init_process //不管是哪种方式,都会调用模块的init_process函数 1. 2. 3. 4. ...
调用ngx_create_pidfile() 创建进程记录文件;( 非 NGX_PROCESS_MASTER = 1 进程,不创建该文件 ) 进入进程主循环; 若为NGX_PROCESS_SINGLE=1模式,则调用 ngx_single_process_cycle() 进入进程循环; 否则为 master-worker 模式,调用 ngx_master_process_cycle() 进入进程循环; ...
我们这里以单进程启动为例 nginx.c中的main 函数调用ngx_single_process_cycle 这个函数回循环调用 ngx_process_cycle.c 中的 代码语言:javascript 代码运行次数:0 运行 AI代码解释 for ( ;; ) { ... ngx_process_events_and_timers ... } 事件循环的核心函数是 ngx_process_events_and_timers 。这个函数...
如果不想每次都敲命令,可以在nginx安装目录下新添一个启动批处理文件startup.bat,双击即可运行。内容如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 @echo off rem 如果启动前已经启动nginx并记录下pid文件,会kill指定进程 nginx.exe -s stop rem 测试配置文件语法正确性 nginx.exe -t -c conf/ngi...
[root@caochenlei ~]# /usr/local/tomcat/bin/startup.sh 添加到防火墙: [root@caochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [root@caochenlei ~]# /etc/rc.d/init.d/iptables save 如果关闭请用: [root@caochenlei ~]# /usr/local/...
if (ngx_create_pidfile(cycle, NULL) == NGX_ERROR) { return 1; } if (ngx_process == NGX_PROCESS_MASTER) { // master/worker 模式下要执行的代码 ngx_master_process_cycle(cycle, &ctx); } else { // 单进程模式下要执行的代码 ngx_single_process_cycle(cycle, &ctx); } return 0; } ...
NGX_PROCESS_RESPAWN); /*创建有关cache的子进程*/ ngx_start_cache_manager_processes(cycle, 0); ngx_new_binary = 0; delay = 0; sigio = 0; live = 1; for ( ;; ) { if (delay) { if (ngx_sigalrm) { sigio = 0; delay *= 2; ...
5.开启防火墙,安装命令:service firewalld start 6.添加http服务到firewalld,pemmanent表示永久生效,若不加--permanent系统下次启动后就会失效。 sudo firewall-cmd --permanent --add-service=http 7.重启防火墙,安装命令:sudo systemctl reload firewalld ...
= NGX_PROCESS_SINGLE,即主进程处理,则进入ngx_master_process_cycle函数。同样也是先进行进程的初始化操作,然后调用ngx_start_worker_processes函数启动工作进程,调用ngx_start_cache_manager_processes函数启动cache管理进程,最后同样进入了无限循环for(;;),主进程的主要工作是接收用户命令并发送给各工作进程,同时也对...