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日常维护技巧的更多相关文章

  1. nginx日常维护常用命令

    http://www.jb51.net/article/47750.htm 一.简明nginx常用命令 1. 启动 Nginx poechant@ubuntu:sudo ./sbin/nginx 2. ...

  2. Nginx日常维护操作(3)

    一.简明nginx常用命令 1. 启动 Nginx /sbin/nginx   service nginx start   2. 停止 Nginx /sbin/nginx -s stop   /sbi ...

  3. ORACLE分区表梳理系列(二)- 分区表日常维护及注意事项(红字需要留意)

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  4. 数据库日常维护-CheckList_01历史Agent Job执行情况检查

    检查Agent Job中日常维护作业或业务作业是否成功,如每天的备份.碎片整理.索引维护.历史备份文件清除等,可利用SSMS工具,通过CDC下面设置好的DB Server List,运行下面脚本一次, ...

  5. MS SQL 日常维护管理常用脚本(二)

    监控数据库运行 下面是整理.收集监控数据库运行的一些常用脚本,也是MS SQL 日常维护管理常用脚本(一)的续集,欢迎大家补充.提意见. 查看数据库登录名信息   Code Snippet SELEC ...

  6. 2.goldengate日常维护命令(转载)

    goldengate日常维护命令 发表于 2013 年 7 月 4 日 由 Asysdba 1.查看进程状态 GGSCI (PONY) 2> info all 2.查看进程详细状态,有助于排错 ...

  7. db2日常维护

    一. DB2日常维护操作 1.数据库的启动.停止.激活 db2 list active databases db2 active db 数据库名 db2start --启动 db2stop [forc ...

  8. svn服务配置和日常维护命令

    Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3  AS 4   ContOS AS 4 安装包获取: 下载[url]ht ...

  9. 程序员必备:Oracle日常维护命令

        上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令.工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?( ...

随机推荐

  1. Servlet交互【重定向 与 请求分派】详解

    Servlet交互 在serlvet中,需要调用另外一个资源来对浏览器的请求进行响应,两种方式实现: 调用HttpServletResponse.sendRedirect 方法实现 重定向 调用Req ...

  2. 用swoole和websocket开发简单聊天室

    首先,我想说下写代码的一些习惯,第一,任何可配置的参数或变量都要写到一个config文件中.第二,代码中一定要有日志记录和完善的报错并记录报错.言归正传,swoole应该是每个phper必须要了解的, ...

  3. 一个PHP高性能、多并发、restful的工具库(基于multi_curl)

    This is high performance curl wrapper written in pure PHP. It's compatible with PHP 5.4+ and HHVM. N ...

  4. 用Redis轻松实现秒杀系统

    秒杀系统的架构设计 秒杀系统,是典型的短时大量突发访问类问题.对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应 ...

  5. Linux磁盘分区(一):添加

    ***********************************************声明************************************************ 原创 ...

  6. Music Tags 隐私政策

    隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...

  7. javascript 命名空间与运用(前端基础系列)

    所谓代码,当你随便命名一个变量:var name = "ukerxi"; 就是一句代码:但当你的代码写出来后,对于后续维护及阅读的人,就可以看出代码是否,易读,易理解:优雅的代码总 ...

  8. JAVA中静态修饰符static的学习(初学)

    静态修饰符static,用于修饰类中的成员变量和成员函数. 用static修饰的成员变量也可叫做类变量. 什么时候使用静态 什么时候定义静态成员变量?     当对象中出现共享数据时,将该数据定义为静 ...

  9. Codeforces 869E The Untended Antiquity

    题意:给定一个网格图,三种操作:1.在(r1,c1,r2,c2)处建围墙.2.删除(r1,c1,r2,c2)处的围墙.3.询问两点是否可达 思路比较巧妙,将围墙内的点赋加一个权值,询问的时候判断两个点 ...

  10. THINKPHP增删改查--(改)

    1.CURD 控制器?>namespace Home\Controller;use Think\Controller;class CurdController extends Controlle ...