ngnix相关

今天设置vsftpd和ngnix新建虚拟主机的时候出了很多错,究其本源,还是ngnix掌握不熟练,所以找些资料,时而复习之。

1.NGINX启动:首先找到NGINX执行文件。

 

-C参数代表制定的配置文件。不加的话,默认加载安装目录的conf目录的配置文件。

2.NGINX停止

我需要用KILL命令来做.

首先找到主进程号:

Ps -ef |grep ’nginx’

 

第一行:master process 表示主进程号。3176.为ID号

我们直接结束即可。

kill -QUIT 3176就OK了。

3.有时候我们修改配置文件。需要让它被使用。NGINX和APACHE有些不同。

NGINX有一个概念叫做平滑重启。其实就是发送信号给NGINX的主进程方式进行的。

再重启之前我们需要确认nginx配置文件是否正确。否则他不会加载新的配置文件。

 

如上图一样。配置文件没问题。

下面要做的是重启。Kill -HUP 主进程号 或者kill -HUP nginx.pid的路径

但是大家要注意。这里重启。主进程号是不变的,所以大家不要误会。没有重启成功.

4.NGINX有几个信号控制.:

QUIT 从容关闭

HUP 平滑重启,重新加载配置文件的

USER1 重新打开日志文件,主要用于日志文件的切割.

5.NGINX日志配置

NGINX 日志指令。有2个。一个是log-format(设置格式的),一个是access_log(存放路径等信息).

简单介绍下log_format.

语法:log-format name [format]

Name 表示格式的名称。Format表示格式的样式或者说有哪些内容。

wwwlogs是定义格式的名字.

$remote_addr 客户端名称

$remote_user 客户端账号。不过基本没啥用

[$time_local] 访问时间

$request请求的URL以及HTTP

$status 用于请求的状态:404,200之类的东西

$body_bytes_set 传输内容大小

$http_referer  从哪个页面访问过来的

$http_user_agent  浏览器信息

$http_x_forwarded-for 主要是记录客户端IP(当nginx作为负载均衡时候,反代理之后。我们获取的IP可能不正确。所以用这个获取真实的IP。)

$quest_time表示回应的时间,可以称作响应时间。(一般用于对程序分析效率)

 

Access_log

 

主要是存储目录。

 

 

 

6.NGINX日志切割

NGINX不知此像APACHE那样的cronlog

我们只能自己写脚本来控制。用crontab 来跑程序。

首先用mv 剪切

Mv /los/access.log  /totallog/20110101.log

Kill -user1 NGINX主进程号(会重新监理日志文件)

下面我写一个SHELL:

然后设置下crontab 来跑这个脚本就ok了.