vlambda博客
学习文章列表

Nginx常用功能配置实战

一、规范优化Nginx配置文件

    Apache主配置包含虚拟主机子文件的方法,Nginx也借鉴了Apache的这种包含方法。

    Nginx的主配置文件为nginx.conf,主配置文件包含的所有虚拟主机的子配置文件会统一放入extra目录中,虚拟主机的配置文件按照网站的域名或功能取名。子配置文件和主配置文件分开即可。

    子配置文件和主配置文件如何关联:

    include file |mask;

1、子配置文件

#mkdir /application/nginx/conf/extra

在/application/nginx/conf/extra里建子配置文件

#vim 01_www.conf

Nginx常用功能配置实战

2、把子配置文件写入主配置文件

[root@web02/application/nginx/conf]#vim nginx.conf

 include extra/01_www.conf;

Nginx常用功能配置实战

3、检验语法,测试

#nginx -t

#nginx -s reload

#curl mifengdiandi.xyz

Nginx常用功能配置实战

二、Nginx虚拟主机的别名配置

    所谓虚拟主机别名,就是为虚拟主机设置了除了主域名以外的一个或多个域名名字,这样能实现用户访问的多个域名对应同一个虚拟主机网站的功能。


Nginx常用功能配置实战

如不使用别名则很难通过域名URL的方式检测判断节点下面机器是否正常(因为这些集群节点域名是同一个)。通过别名可以方便查看那台服务器出现问题。

#nginx -t

#nginx -s reload

#vim /etc/hosts   #<==添加mifengdiandi_01的解析。

Nginx常用功能配置实战

#curl mifengdiandi_01  #<==测试别名是否成功。

Nginx常用功能配置实战

三、Nginx状态信息功能实战(为安全期间这些信息防止外部用户查看)

    Nginx软件的功能模块中有一个ngx_http_stub_status_module模块,这个模块的主要功能是记录Nginx的基本访问状态信息,让使用者了解nginx的工作状态,如连接数等信息。在编译安装时必须增加http_stub_status_module支持。

1、查看编制安装时是否设置:

#nginx -V    #<==V是大写。

Nginx常用功能配置实战

2、配置Nginx staus

[root@web02/application/nginx/conf/extra]#vim 02_status.conf

#status的状态设置

server{

        listen  80;

        server_name  status.mifengdiandi.xyz;

        location / {

            stub_status on;

            access_log   off;

        }

    }

Nginx常用功能配置实战

[root@web02/application/nginx/conf]#vim nginx.conf

Nginx常用功能配置实战

3、验证结果

#nginx -t                    #<==验证语法是否正确。

Nginx常用功能配置实战

#nginx -s reload    #<==重启服务。

#curl status.mifengdiandi.xyz    #<==查看结果。

Nginx常用功能配置实战

状态信息查看结果说明:

Active connections: 1  #<==表示Nginx正处理的活动链接数:1个

Server                         #<==表示Nginx启动到现在共处理了几个链接。

accepts                       #<==表示Nginx启动到现在共成功创建几次握手。

handled requests       #<==表示共处理了几次请求。

Reading                      #<==为Nginx读取到客户端的Header信息数。

Writing                       #<==为Nginx返回给客户端的Header信息数。

Waiting为Nginx已经处理完正在等候下一次请求指令的驻留连接。在开启keep-alive的情况下,这个值等于active–(reading+writing)。

四、为Nginx增加错误日志(error_log)配置

    配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(ngx_core_module)的参数,该参数名字为error_log。

   错误日志级别常见的有[debug|info|notice|warn|error|crit|alert|emerg]。

注意不要配置info等较低级别,会带来巨大磁盘I/O消耗。warn|error|crit一般会选择其中一种级别。

增加错误日志的配置方法如下:

#vim nginx.conf

error_log  logs/error.log;     #<==配置这一行即可,在主配置里增加,在所有虚拟主机生效。

Nginx常用功能配置实战

五、日志内容格式

日志格式关键参数:

Nginx常用功能配置实战

#vim nginx.conf

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                            '$status $body_bytes_sent "$http_referer" '

                            '"$http_user_agent" "$http_x_forwarded_for"';

#nginx -t

#nginx -s stop

#nginx

#cat access.log