`
xiaolin0199
  • 浏览: 573361 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Nginx一些配置积累

 
阅读更多

 

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

 

 

另外,若在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

 

 

平滑升级

写道
如果服务器正在运行的Nginx要进行升级、添加或删除模块时,我们需要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx可以在不停机的情况下进行各种升级动作而不影响服务器运行。
步骤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配置为反向代理服务器,以增强后端应用服务器的安全性和性能。 除了标准模块外,...

    Nginx模块开发入门

    例如,由淘宝工程师开发的`nginx_lua_module`模块允许用户在Nginx配置文件中嵌入Lua脚本来处理复杂的逻辑,大大增强了Nginx的编程能力。此外,`ngx_openresty`项目则进一步将LuaJIT集成到了Nginx中,使得Nginx成为了...

    windows版nginx

    **Windows版Nginx安装与配置详解** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,广泛应用于互联网...随着经验的积累,还可以深入学习更高级的Nginx特性,如负载均衡、缓存等功能,提升网站的性能和可靠性。

    apache与nginx区别

    - **安全防护**:无论是Apache还是Nginx,在配置得当时都能提供强大的安全防护机制,包括但不限于SSL/TLS加密、防火墙规则等。 #### 六、社区支持与生态系统 - **文档与教程**:Apache拥有更为丰富的文档和教程...

    cpp-实战开发一个Nginx扩展NginxModule

    在本文中,我们将深入探讨如何使用C++进行实战开发,以创建一个名为NginxModule的自定义Nginx扩展。这个扩展是一个简单的Nginx echo模块,它将...通过不断学习和实践,你将在C/C++和Nginx开发方面积累丰富的经验。

    [线上问题] “服务端长连接与客户端短连接引起Nginx产生大量\"TIME_WAIT\"状态的线程”的问题分析解决

    本文讨论了在线上环境中,服务端长连接和客户端短连接配置不当导致Nginx服务器产生大量“TIME_WAIT”状态线程的问题,同时提供了问题的分析和解决方法。本文主要涉及的网络编程知识点包括长连接与短连接的定义和区别...

    Nginx编译安装保姆级教程

    在编译Nginx之前,需要先安装一些必要的依赖库。这些库通常包括`pcre`, `openssl`, 和 `zlib`。执行以下命令来安装: ```shell sudo apt-get update sudo apt-get install -y build-essential libpcre3-dev libssl-...

    nginx文档.doc

    **Nginx 知识详解** Nginx 是一款高性能的 HTTP 和反向代理服务器,...对于初学者来说,理解 Nginx 的工作原理和配置方式是首要任务,随着经验积累,逐步深入源码和模块开发,将能够更好地驾驭这个强大的服务器软件。

    深入理解Nginx:模块开发与架构解析.陶辉(带详细书签)

    更为可贵的是,作者在实际工作中一行行阅读Nginx源代码,不断尝试和探索,从而积累了大量宝贵经验,在本书中无私地和读者分享。这也成就了Nginx这方面的巨作——覆盖了Nginx的安装、配置、模块开发、架构解析和深度...

    nginx-伪静态-重定向-包括域名、目录、文件等配置方法.pdf

    ### Nginx 伪静态与重定向配置详解 #### 一、引言 在网站建设和维护过程中,常常会遇到需要更改网页目录结构、重命名网页、改变网页扩展名或者更换网站域名等情况。这些变更如果不加以适当处理,将会导致用户收藏...

    Nginx 是一款高性能的开源 Web 服务器和反向代理服务器

    尽管Nginx拥有诸多优点,但在实际应用中也可能面临一些挑战: 1. **复杂配置的学习曲线** - 对于高级的配置规则,需要一定的学习时间和实践经验积累。 - 新手可能需要花费更多时间来熟悉这些高级配置选项。 2. ...

    详解nginx日志定时备份和删除

    但这些日志如不及时清理,日渐积累,对服务器的磁盘空间占用也将是比较恐怖的。为了解决这个问题,利用shell脚本对nginx日志文件定时备份和删除,只保留一段时间。 图1: #!/bin/bash #auth:lzq #desc:把当前日志...

    Nginx从入门到实践-基础视频教程.txt.rar

    随着经验的积累,你还可以进一步学习如何优化Nginx配置,提升服务器性能,以及如何与PHP-FPM、FastCGI等动态处理模块协同工作,搭建完整的Web应用环境。 这个“Nginx从入门到实践-基础视频教程”将详细讲解这些内容...

    详解Nginx 出现 403 Forbidden 的解决办法

    6. 优化Nginx配置文件结构:为了避免配置文件过于庞大而难以管理,推荐将不同域名或不同服务的配置放在不同的配置文件中,然后通过include指令引入到主配置文件中。这样可以使配置更加清晰,便于管理和维护。 在...

    更快捷更方便的phpnginx环境定制化方案

    Nginx的配置文件通常位于`/etc/nginx/nginx.conf`。你需要为每个PHP应用创建一个独立的虚拟主机配置,这样可以更好地管理不同的站点。例如: ``` server { listen 80; server_name example.com; root /var/...

    使用redis解决nginx+tomcat8负载均衡集群session共享问题jar包

    2. **Nginx配置**: Nginx作为负载均衡器,需要配置session亲和性(sticky session),确保用户的后续请求会被转发到处理其初始请求的相同服务器上。这可以通过设置`hash`策略实现,例如: ```nginx upstream ...

    笔记资料.zip

    Java和Nginx是两种非常重要的IT技术,广泛应用于企业级软件开发和互联网服务部署。这份"笔记资料.zip"包含了作者在...通过深入阅读和实践,你可以提升自己在Java编程和Nginx配置方面的技能,为职业发展打下坚实的基础。

    详解nginx高并发场景下的优化

    在高并发的网络环境中,Web服务器的性能优化是一个至关重要的话题。尤其是对于使用广泛的Nginx服务器,正确地...这些配置项的优化,都是基于实践经验的积累,能够在生产环境中解决实际问题,提高系统的稳定性和可靠性。

Global site tag (gtag.js) - Google Analytics