2.Nginx日常维护技巧

摘要:
        [ root@localhostDesktop]#哪个ginx/usr/local/nginx/sbin/nginx我将nginx命令的路径写入path。

Nginx日常维护技巧

  1. Nginx配置正确性检查

nginx提供了配置文件调试功能,可以快速定义配置文件存在的问题。执行如下命令检测配置文件的正确性:

         [root@localhost 桌面]# which nginx

/usr/local/nginx/sbin/nginx

         我把nginx命令的路径写入到PATH里面,所以在执行nginx这条命令的时候我就不需要写绝对路径:

         [root@localhost 桌面]# nginx –t                                                                                                         -t      检查配置文件的正确性

nginx: the configuration file /usr/local/nginx//conf/nginx.conf syntax is ok

nginx: [warn] 65535 worker_connections exceed open file resource limit: 32768

nginx: configuration file /usr/local/nginx//conf/nginx.conf test is successful

[root@localhost 桌面]# nginx -t -c /usr/local/nginx/conf/nginx.conf                                         -c      制定nginx配置文件的路径,默认为/usr/local/nginx/conf/nginx.conf

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: [warn] 65535 worker_connections exceed open file resource limit: 32768

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

 

另外,nginx也提供了查看版本信息和相关编译信息的功能:

[root@localhost 桌面]# nginx -v

nginx version: nginx/1.2.1

[root@localhost 桌面]# nginx -V

nginx version: nginx/1.2.1

configure arguments: --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_gzip_static_module --user=www --group=www

 

  1. Nginx的启动,关闭,和重启

nginx对进程的控制能力非常强大,可以通过信号命令控制进程。常用的信号有:

QUIT:表示处理完当前请求后关闭

HUP:表示重新加载配置,即关闭原有的进程开启新的工作进程。此操作不会用端用户的访问请求,因此,可以通过此信号平滑的重启nginx。

USR1:用于nginx的日志切换,也就是重新打开一个日志文件。例如:每天要生成一个新的日志文件的时候,可以使用这个信号老控制。

USR2:用于平滑升级可执行程序。

WINCH:从容关闭工作进程。

nginx的启动非常简单:

/usr/local/nginx/sbin/nginx

即可完成对nginx的启动。在nginx启动以后,我们可以查看到nginx的工作进程。

[root@localhost 桌面]# cat /usr/local/nginx/logs/nginx.pid

6597

如果我们要不间断的重启nginx服务,我们需要

kill –xxx    pid             #xxx就是信号名

如:

[root@localhost 桌面]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

 

         在实际生产中,我们需要为nginx写服务启动脚本:

#!/bin/bash

# nginx Startup script for the Nginx HTTP Server

# it is v.0.0.2 version.

# chkconfig: - 85 15

# description: Nginx is a high-performance web and proxy server.

# It has a lot of features, but it's not for everyone.

# processname: nginx

# pidfile: /var/run/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx

nginx_config=/usr/local/nginx/conf/nginx.conf

nginx_pid=/usr/local/nginx/logs/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

echo "nginx already running...."

exit 1

fi

echo -n $"Starting $prog: "

daemon $nginxd -c ${nginx_config}

RETVAL=$?

echo

[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

return $RETVAL

}

# Stop nginx daemons functions.

stop() {

echo -n $"Stopping $prog: "

killproc $nginxd

RETVAL=$?

echo

[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid

}

reload() {

echo -n $"Reloading $prog: "

#kill -HUP `cat ${nginx_pid}`

killproc $nginxd -HUP

RETVAL=$?

echo

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

stop

start

;;

 

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $prog {start|stop|restart|reload|status|help}"

exit 1

esac

exit $RETVAL

 

 1.Nginx服务应用

免责声明:文章转载自《2.Nginx日常维护技巧》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt 实现简单的TCP通信ASP.NET Core中添加MIME 类型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

我的学习笔记,侧信道攻击,从喊666到入门之——波形采集

​在N久之前的上篇文章中,我们讨论了如何对已经采集好的能量轨迹进行侧信道攻击,但是,有个问题我挖了一个坑,就是如何对芯片的能量轨迹进行采集。今天我会讨论这个问题。 ​本文会先介绍采集设备和相应的示波器使用和通信上的一些知识,之后介绍三种进行能量轨迹采集的方法和注意事项,并对比他们的优缺点,最后说一下我在采集中的噪音控制问题。 设备信息 采集设备 ​ 目前...

Dubbo的优雅下线原理分析

文/朱季谦 Dubbo如何实现优雅下线? 这个问题困扰了我一阵,既然有优雅下线这种说法,那么,是否有非优雅下线的说法呢? 这,还真有。 可以从linux进程关闭说起,其实,我们经常使用到杀进程的指令背后,就涉及到是否优雅下线的理念。 在日常开发当中,经常用到kill来关掉正在运行的进程,可能你曾看到过一些文章是不推荐使用kill -9 pid的指令来删除进...

java模拟post请求登录

import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; impo...

nginx002: NGINX的环境变量,基本命令参数,目录关系及gzip优化

NGINX的环境变量,基本命令参数,目录关系及gzip优化 添加环境变量 nginx命令执行方式 nginx [选项] [参数] 通过编译安装的nginx 默认是没有环境变量的,如何设置环境变量,让nginx成为可执行的命令? 1. 确认安装目录: 我这里的程序目录为: /server/tools/nginx-1.16.0 编译安装的目录为:/applic...

nginx 限制ip访问频率和限速 (摘录)

限制某个IP同一时间段的访问次数 如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候。其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包, 造成对方服务器资源耗尽,一直到宕机崩溃。   ...

sudo配置临时取得root权限

sudo配置临时取得root权限系统中的普通用户有时需要root权限执行某种操作,要是使用su - root的话必须要知道root的密码,这是不安全的,所以有了sudo,root可以对/etc/sudoers做一定的配置,让普通用户在不切换到root的情况下,执行一些只有root才能执行的操作。这个文件只能root去修改,建议使用visudo这个命令修改,...