nginx命令介绍

[root@webmaster nginx]# ./sbin/nginx -h
nginx version: nginx/1.12.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /app/nginx-1.12.2/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file

  

 检查版本与配置项

  -v            : show version and exit
  -V            : show version and configure options then exit

 

[root@nginx2 nginx]# ./sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-pcre=/tmp/pcre-8.41/

 

指定配置文件启动

-c filename   : set configuration file (default: conf/nginx.conf)

 

[root@nginx2 nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

[root@nginx2 nginx]# ps aux| grep nginx
avahi       725  0.0  0.0  30196   452 ?        Ss   Jun19   0:03 avahi-daemon: running [nginx2.local]
root      94817  0.0  0.1  45968  1132 ?        Ss   22:07   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

检查conf语法是否正确

 -t            : test configuration and exit
 -c filename   : set configuration file (default: conf/nginx.conf)

 

[root@nginx2 ~]# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

 

平滑重启,重读conf

如果修改./nginx/conf/nginx.conf,nginx不重启不会重新加载新的conf。例如:我修改默认的location / ,把ab.html放在第一访问序列。不重启,则仍是访问index.html

location / {
    root   html;
    index  ab.html index.html index.htm;
}

然后用-s reload平滑重启nginx,这样就会加载新的配置文件。再访问ip,就会显示ab.html。

[root@webmaster nginx]# ./sbin/nginx -s reload

  

 重读日志

nginx运行时打开访问日志文件,如果我用mv给这个文件改名,由于文件特性,是没有用的。nginx还是根据文件描述符打开那个文件,往里面写日志。

这样就无法进行日志分割。

[root@nginx2 logs]# lsof| grep nginx| grep log    
nginx     45792                 root    2w      REG              253,0      4862   33683908 /usr/local/nginx/logs/error.log
nginx     45792                 root    8w      REG              253,0  17896102   33683910 /usr/local/nginx/logs/nginx_access.log
nginx     45792                 root    9w      REG              253,0      4862   33683908 /usr/local/nginx/logs/error.log

-s reopen就是使nginx重读日志文件。

[root@webmaster nginx]# ./sbin/nginx -s reopen

 这时发现,nginx新创建了一个access.log文件,并往里面写日志。

[root@nginx2 logs]# ll
total 17500
-rw-r--r--. 1 www  root      333 Jun 21 21:53 access.log
-rw-r--r--. 1 www  root      666 Jun 21 21:52 access.log.xx

 

posted @ 2018-06-21 21:56  jabbok  阅读(387)  评论(0编辑  收藏  举报