今天设置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了.