Nginx不记录错误日志
error_log /dev/null; #[linux下] error_log null; #[Windows下]
Nginx不记录404等错误信息
error_log logs/error.log info;
Nginx允许html执行post[解决http/1.1 405 Method not allowed]
error_page 405 =200 @405; location @405 { root /opt/htdocs; }
Nginx虚拟主机+备机自动上线例子
http { upstream myCluster{ server 192.168.62.102:7001; server 192.168.62.101:7001 backup; #[备机,主机掉线后,备机自动响应] } upstream bbsCluster{ #[虚拟主机,可以绑定不同的域名] server 192.168.62.102; server 192.168.62.101 backup; } server { location /virtual { proxy_pass http://myCluster/; #这里的名字和上面的cluster的名字相同 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name bbs.knife.com; #绑定的第二个域名 location / { proxy_pass http://bbsCluster/; #这里的名字和上面的cluster的名字相同 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
以下是Nginx常用命令:
启动操作
命令:
写道
nginx
默认为:nginx -c /usr/nginx/conf/nginx.conf
-c参数指定了要加载的nginx配置文件路径。
停止操作
写道
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx
另外,若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'
平滑重启
写道
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
例如:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
例如:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
平滑升级
写道
如果服务器正在运行的Nginx要进行升级、添加或删除模块时,我们需要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx可以在不停机的情况下进行各种升级动作而不影响服务器运行。
步骤1:
如果升级Nginx程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到Nginx安装目录中。
步骤2:执行命令
kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版Nginx。新旧Nginx会同市运行,共同处理请求。
这时要逐步停止旧版Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版工作进程。
此时,我们可以决定使用新版还是恢复到旧版。
不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
这样下来,如果要恢复到旧版本,只需要上面的几个步骤都是操作新版主进程号,如果要用新版本就上面的几个步骤都操作旧版主进程号就行了。
步骤1:
如果升级Nginx程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到Nginx安装目录中。
步骤2:执行命令
kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版Nginx。新旧Nginx会同市运行,共同处理请求。
这时要逐步停止旧版Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版工作进程。
此时,我们可以决定使用新版还是恢复到旧版。
不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
这样下来,如果要恢复到旧版本,只需要上面的几个步骤都是操作新版主进程号,如果要用新版本就上面的几个步骤都操作旧版主进程号就行了。
相关推荐
在“基于Nginx的应用网关”中,将会讲解如何使用Nginx作为多种应用协议的网关,而在“基于Nginx的反向代理”中,则会探讨如何将Nginx配置为反向代理服务器,以增强后端应用服务器的安全性和性能。 除了标准模块外,...
例如,由淘宝工程师开发的`nginx_lua_module`模块允许用户在Nginx配置文件中嵌入Lua脚本来处理复杂的逻辑,大大增强了Nginx的编程能力。此外,`ngx_openresty`项目则进一步将LuaJIT集成到了Nginx中,使得Nginx成为了...
**Windows版Nginx安装与配置详解** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,广泛应用于互联网...随着经验的积累,还可以深入学习更高级的Nginx特性,如负载均衡、缓存等功能,提升网站的性能和可靠性。
- **安全防护**:无论是Apache还是Nginx,在配置得当时都能提供强大的安全防护机制,包括但不限于SSL/TLS加密、防火墙规则等。 #### 六、社区支持与生态系统 - **文档与教程**:Apache拥有更为丰富的文档和教程...
在本文中,我们将深入探讨如何使用C++进行实战开发,以创建一个名为NginxModule的自定义Nginx扩展。这个扩展是一个简单的Nginx echo模块,它将...通过不断学习和实践,你将在C/C++和Nginx开发方面积累丰富的经验。
本文讨论了在线上环境中,服务端长连接和客户端短连接配置不当导致Nginx服务器产生大量“TIME_WAIT”状态线程的问题,同时提供了问题的分析和解决方法。本文主要涉及的网络编程知识点包括长连接与短连接的定义和区别...
在编译Nginx之前,需要先安装一些必要的依赖库。这些库通常包括`pcre`, `openssl`, 和 `zlib`。执行以下命令来安装: ```shell sudo apt-get update sudo apt-get install -y build-essential libpcre3-dev libssl-...
**Nginx 知识详解** Nginx 是一款高性能的 HTTP 和反向代理服务器,...对于初学者来说,理解 Nginx 的工作原理和配置方式是首要任务,随着经验积累,逐步深入源码和模块开发,将能够更好地驾驭这个强大的服务器软件。
更为可贵的是,作者在实际工作中一行行阅读Nginx源代码,不断尝试和探索,从而积累了大量宝贵经验,在本书中无私地和读者分享。这也成就了Nginx这方面的巨作——覆盖了Nginx的安装、配置、模块开发、架构解析和深度...
### Nginx 伪静态与重定向配置详解 #### 一、引言 在网站建设和维护过程中,常常会遇到需要更改网页目录结构、重命名网页、改变网页扩展名或者更换网站域名等情况。这些变更如果不加以适当处理,将会导致用户收藏...
尽管Nginx拥有诸多优点,但在实际应用中也可能面临一些挑战: 1. **复杂配置的学习曲线** - 对于高级的配置规则,需要一定的学习时间和实践经验积累。 - 新手可能需要花费更多时间来熟悉这些高级配置选项。 2. ...
但这些日志如不及时清理,日渐积累,对服务器的磁盘空间占用也将是比较恐怖的。为了解决这个问题,利用shell脚本对nginx日志文件定时备份和删除,只保留一段时间。 图1: #!/bin/bash #auth:lzq #desc:把当前日志...
随着经验的积累,你还可以进一步学习如何优化Nginx配置,提升服务器性能,以及如何与PHP-FPM、FastCGI等动态处理模块协同工作,搭建完整的Web应用环境。 这个“Nginx从入门到实践-基础视频教程”将详细讲解这些内容...
6. 优化Nginx配置文件结构:为了避免配置文件过于庞大而难以管理,推荐将不同域名或不同服务的配置放在不同的配置文件中,然后通过include指令引入到主配置文件中。这样可以使配置更加清晰,便于管理和维护。 在...
Nginx的配置文件通常位于`/etc/nginx/nginx.conf`。你需要为每个PHP应用创建一个独立的虚拟主机配置,这样可以更好地管理不同的站点。例如: ``` server { listen 80; server_name example.com; root /var/...
2. **Nginx配置**: Nginx作为负载均衡器,需要配置session亲和性(sticky session),确保用户的后续请求会被转发到处理其初始请求的相同服务器上。这可以通过设置`hash`策略实现,例如: ```nginx upstream ...
Java和Nginx是两种非常重要的IT技术,广泛应用于企业级软件开发和互联网服务部署。这份"笔记资料.zip"包含了作者在...通过深入阅读和实践,你可以提升自己在Java编程和Nginx配置方面的技能,为职业发展打下坚实的基础。
在高并发的网络环境中,Web服务器的性能优化是一个至关重要的话题。尤其是对于使用广泛的Nginx服务器,正确地...这些配置项的优化,都是基于实践经验的积累,能够在生产环境中解决实际问题,提高系统的稳定性和可靠性。