nginx安装与常用操作

一、nginx安装

linux Red hat系列一般有三种安装方式:

  • 第一种:yum安装

用法:yum -y install 软件名称

如:yum -y install nginx

  • 第二种:rpm 包安装

用法:rpm -ivh 软件包名

如:rpm -ivh nginx.rpm

  • 第三种:源码安装

源码安装一般有四个步骤:解压源码压缩包、进入源码目录并进行配置、编译、安装

这里我们采用源码安装的方式来安装nginx

1、进入nginx官网,下载最新的nginx源码,一般下载稳定版:

nignx官网:http://nginx.org

目前最新版(开发版)为1.7.9,最新稳定版为1.6.2,因此我们采用1.6.2(我们可以通过windows下载再传到服务器的方式或者通过wget命令来下载源码)

  1. wget http://nginx.org/download/nginx-1.6.2.tar.gz
2、进入下载的目录,对下载的源码解压缩
  1. tar -zxvf nginx-1.6.2.tar.gz
3、配置:(可以有选择性的安装所需要的模块)

因为nginx中需要使用到rewrite对url进行重写,使用gzip对静态资源进行压缩,所以需要先安装相应的模块让这些功能能够正常使用,安装pcre(用于正则表达式相关的)和zlib(用于压缩相关的,我们这里可以通过yum来安装,具体的路径根据实际情况修改)

  1. yum -y install pcre*
  2. yum -y install zlib*
  3. cd nginx-1.6.2
  4. ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib
4、编译并安装
  1. make&&make install

二、nginx相关操作

1、nginx目录结构

进入nginx的安装目录,我们可以看到有以下目录:

  • conf为nginx的配置文件目录

  • html为nginx的网站根目录

  • logs为nginx的日志目录

  • sbin为nginx的二进制文件目录

2、nginx的常用操作
(1)通过信号量来操作

nginx中可以通过linux中的信号量的方式来对nginx进行操作

什么是信号量?

信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。

查看信号量的解释:

  1. kill -l

nginx中如何通过信息号对nginx进行操作?

用法:kill -信号量选项 nginx的主进程号

nginx的信号量选项:

  • TERM 快速的关闭nginx的进程

  • INT 快速的关闭nginx的进程

  • QUIT 请求结束后关闭nginx进程

  • HUP 平滑的重新读取配置文件

  • USR1 平滑的读写日志文件

  • USR2 平滑的升级

  • WINCH 优雅的关闭nginx进程(等nginx空闲时关闭)

如:

  1. kill -TREM 4129

那么问题来了,如果查看nginx的进程号呢?(如何查看一个软件的进程号)
有两种方式:

  • 第一种:通过ps命令查看
  1. ps aux|grep nginx

关于ps的命令,它是用来查看linux进程信息的命令。

  • 参数a代表查看当前所有进程

  • 参数u代表运行进程的用户

  • 参数x代表显示没有控制终端的进程

  • grep是进来筛选的

所以查看到的nginx的 的主进程号是4129

  • 第二种:通过查看logs/nginx.pid的文件内容
  1. cat /usr/local/nginx/logs/nginx.pid
(2)通过nginx的二进制文件来操作

nginx的二进制文件在安装目录下的sbin下,如/usr/local/nginx/sbin/nginx

基本用法:/usr/local/nginx/sbin/nginx -s 操作

  • 启动nginx:
  1. /usr/local/nginx/sbin/nginx
  • 关闭nginx:
  1. /usr/local/nginx/sbin/nginx -s stop
  • 退出nginx
  1. /usr/local/nginx/sbin/nginx -s quit
  • 重新读取配置文件
  1. /usr/local/nginx/sbin/nginx -s reload
  • 重启
  1. /usr/local/nginx/sbin/nginx -s reopen

其他用法:

  • nginx -v 查看当前nginx版本
  • nginx -h 查看nginx用法
  • nginx -t 测试当前配置文件是否正确