启动、停止、重新加载Nginx
nginx 启动Nginx服务器,不需要任何参数u
nginx -s stop 快速(强制)关系Nginx服务器
nginx -s quit 优雅的关闭Nginx服务器
nginx -s reload 重新加载Nginx服务器的配置文件
nginx -s reopen 重新打开Nginx日志文件
- nginx -s quit 所谓优雅的关闭Nginx服务器是指等待所有的工作者进程处理还没处理完的请求之后再进行关闭
- 问题: reopen重新打开Nginx日志文件表示什么含义?意义在哪?即,这个命令产生的影响是什么?
主进程和工作进程
Nginx的工作模式是多进程工作模式,它分为一个主进程和一组工作者进程,主进程负责维护配置文件以及管理工作者进程。工作者进程负责响应请求,可以在主配置文件nginx.conf(一般位于/usr/local/nginx/conf)文件中设置工作进程数,工作进程数通常设置为跟物理机的CPU核数相同,如下设置工作进程数是1
worker_processes 1;
启动Nginx服务器
- 通过ps -ef|grep nginx可以得到如下的进程信息
root 31323 1 0 22:20 ? 00:00:00 nginx: master process ./nginx
nobody 31324 31323 0 22:20 ? 00:00:00 nginx: worker process
tom 31329 13070 0 22:21 pts/0 00:00:00 grep --color=auto nginx
说明:
- 此时,worker process的进程所有所有者是nobody,而master process的所有者是root,tom是当前用户。nobody是在主配置文件中设置,如果不设置就是nobody
#user nobody;
主进程PID(nginx.pid)
当Nginx启动后,Nginx主进程的id号写入nginx.pid文件,nginx.pid文件所在的目录是/usr/local/nginx/logs。这个id号在Nginx重新加载配置时用到,通过它,Nginx可以kill它所有的子进程(即工作者进程),然后重新启动
Nginx配置文件的结构
Nginx同Apache一样,它提供的功能是由模块(Modules)组成的,而这些模块是由配置文件中的指令(Directive)控制的。Nginx中,指令分为两类,一类是简单指令,一类是块指令
简单指令有指令名和几个参数组成,它们之间用空格隔开,最后以分号结束。比如下面的内容中,include,default_type都是简单指令名
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
块指令和简单指令有相似的结构,简单指令是以分号结尾,而块指令是以{}括起来的一组操作指令(instructions) 举例说明??下面的例子其实是上下文
location / {
root html;
index index.html index.htm;
}
如果块指令结尾的{}包含其他的指令,那么这个块指令称之为上下文。比如event、http、location和server。在配置文件中,每个Context都有一个父级Context,顶级的event和http context的父context称为main(main不是实际存在的Context),而server的父级context是http,location的父级context是server。
分享到:
相关推荐
在IT行业中,构建一个私有的npm(Node.js ...总体而言,`nginx-verdaccio.zip`的使用可以帮助你建立一个安全、高效的私有npm仓库,解决离线环境或网络受限情况下的包安装问题,尤其是对`node-sass`等特殊包的处理。
对于高可用性架构的构建,Nginx与Keepalived的结合使用是一种常见的解决方案,可以实现主辅切换,保证服务的连续性和稳定性。同时,Nginx的“安静”升级功能可以实现平滑升级,确保在升级过程中不中断服务。 Nginx...
总体而言,这个安装包提供了一个完整的、功能丰富的服务器环境,适合于开发和部署需要高效数据库处理、Web服务和GIS功能的应用程序。安装和配置过程中,需要注意各个组件之间的依赖关系,以及正确配置每个服务的启动...
本专题将深入探讨Nginx与Zookeeper结合实现的分布式限流策略,帮助理解如何在面试中有效地展示这方面的知识。 1. **Nginx**:Nginx是一款高性能的HTTP和反向代理服务器,广泛用于负载均衡、缓存和安全防护等场景。...
- **Nginx与Perl(FastCGI)**:Perl是一种广泛使用的脚本语言,可以通过FastCGI接口与Nginx交互。 - **Perl(FastCGI)的安装**:安装Perl环境和相关模块。 - **Nginx与Perl(FastCGI)的配置**:配置Nginx以代理...
1. **总体架构**:在 Keyless 架构中,客户端首先与 Cloudflare 的边缘节点建立连接。此时,边缘节点并不持有任何私钥,而是通过与客户端进行密钥交换协议来获取必要的加密材料。 2. **密钥交换算法**: - **...
3. 安装Nginx("3.安装nginx.txt"),并配置为反向代理,设置负载均衡策略。 4. 安装MySQL("4.安装MySQL、memcache.txt"),并进行数据安全和性能优化。 5. 安装Memcached,与PHP集成("5.安装Apache、PHP、...
Nginx是一款高性能的HTTP...总体而言,agentzh的Nginx教程为初学者和经验丰富的用户提供了一套完整的Nginx入门和进阶知识,不仅覆盖了Nginx的核心概念和功能,还注重实际应用和最佳实践,是学习和掌握Nginx的理想资源。
总体来说,Nginx+Tomcat+Memcached 的集群配置是一项复杂的系统工程,涉及到网络通信、负载均衡、缓存策略等多个方面。理解和掌握这一架构有助于构建高效、稳定且可扩展的 web 应用服务。通过深入学习和实践,我们...
Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件传输代理服务器,因其轻量级、稳定性和高并发处理能力而备受业界青睐。在"《Nginx高性能Web服务器详解-123》"这份文档中,我们可以期待深入学习Nginx的核心...
总体而言,本文是对如何在Nginx中通过JavaScript处理HTTP请求的一个入门级指南,重点介绍了Nginx和njs模块的安装流程、编写JavaScript脚本、以及如何在Nginx配置中使用NJS模块。这对于想要扩展Nginx功能的开发者来说...
本文将详细介绍如何使用Nginx实现基于客户端IP地址($remote_addr)的分发方法,即根据用户访问网站的IP地址将其请求转发至特定的服务器。 Nginx提供了一个灵活的配置系统,通过编辑配置文件可以控制其行为,包括...
总体而言,ctx是Nginx与Lua脚本交互中一个非常强大且灵活的功能,可以在不同的请求阶段共享和修改数据。但是,由于其性能开销较大,在使用时需要谨慎,避免滥用。 以上内容详细介绍了Nginx中ctx的数据共享和修改上...
Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力而闻名。在多核CPU环境中,正确配置Nginx的进程数和CPU亲和性(CPU affinity)设置能够显著提高其运行效率,充分利用硬件资源。 在Nginx...
负载均衡是IT领域中用来提高服务器...上述内容从负载均衡的概念出发,详细介绍了Nginx和Tomcat的安装与配置,以及负载均衡策略的应用和项目部署实践。掌握这些知识点对于搭建高性能、高可用性的互联网应用至关重要。
在Nginx服务器的配置中,限制数据传输速度是一项重要的功能,尤其对于高流量网站和防止DDoS攻击至关重要。本篇将详细讲解如何实现这一目标,包括使用Nginx内置的`ngx_http_limit_conn_module`模块以及第三方扩展`...
总体来说,文档为我们提供了一个在Nginx中使用ngx_lua模块进行服务器端脚本编写和配置的示例,这在提高Web服务器的性能和灵活性方面具有重要意义。特别是结合了OpenResty所集成了大量高性能Lua库,使得Nginx的应用...
总体来说,搭建Discuz论坛要求IT技术人员对Linux操作系统、Nginx、MySQL和PHP的安装与配置有深入的了解,以及对Web服务器的安全设置和网络服务管理有一定的实践经验。这些步骤需要在保证安全的前提下,根据实际环境...