Nginx系列笔记-linux下安装nginx

Linux版本:centos7.2.1511

通过cat /etc/redhat-release 可以查看到linux系统版本信息如下: 

blob.png

第一步:从http://nginx.org/download/上下载相应的版本(或者wget  http://nginx.org/download/nginx-1.9.9.tar.gz直接在Linux上用命令下载)

第二步:解压 tar -zxvf nginx-1.9.9.tar.gz

第三步:设置一下配置信息 ./configure –prefix=/usr/local/nginx ,或者不执行此步,直接默认配置

在配置信息的时候,也就是在第三步,出现了一下错误:

blob.png

错误为:./configure: error: the HTTP rewrite module requires the PCRE library.

安装pcre-devel解决问题

yum -y install pcre-devel

还有可能出现:

错误提示:

./configure: error: the HTTP gzip module requires the zlib library.

You can either disable the module by using –without-http_gzip_module

option, or install the zlib library into the system, or build the zlib library

statically from the source with nginx by using –with-zlib=<path> option.

没有zlib library的支持

解决办法:在“./configure”后方加入了“–with-http_gzip_static_module”

 ./configure –prefix=/usr/local/nginx –with-http_gzip_static_module 

若在“./configure”后方加入了“–with-http_gzip_static_module”(添加gzip压缩模块)提示以下错误:

blob.png

则需要安装“zlib-devel”即可。SSH执行以下命令:

yum install -y zlib-devel

还有可能出现:

错误提示:./configure: error: the HTTP cache module requires md5 functions

from OpenSSL library.   You can either disable the module by using

–without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

–with-http_ssl_module –with-openssl=<path> options.

解决办法:

yum -y install openssl openssl-devel

还有可能出现:

错误提示:You need a C++ compiler for C++ support

缺少c++编译器的原因yum install -y gcc gcc-c++

第四步:

make 编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)

make install 安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)

Nginx官方命令文档: https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/  

安装后在linux下nginx命令操作:

启动操作

   /usr/local/nginx/sbin/nginx -h (首先我们可以看一下启动参数)

   (/usr/local/nginx/sbin/nginx -t 查看配置信息是否正确)

一、启动  

    cd /usr/local/nginx/sbin/

    ./nginx

 查看nginx进程,通过使用ps aux |grep nginx 可以查看

blob.png

 当然可以通过判断80端口是否被nginx监听  —>  netstat -tulnp |grep 80 或者netstat -antp;

blob.png

停止操作

   停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的

  步骤1:查询nginx主进程号

      ps -ef | grep nginx

      在进程列表里 面找master进程,它的编号就是主进程号了。

  步骤2:发送信号

      从容停止Nginx:

      kill -QUIT 主进程号

  快速停止Nginx:

      kill -TERM 主进程号

   强制停止Nginx:

      pkill -9 nginx

     另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:

     kill -信号类型 '/usr/local/nginx/logs /nginx.pid'

    平滑重启

         如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。

     平滑重启命令:

        kill  -HUP 住进称号或进程号文件路径 或者"kill  -HUP 'cat logs/nginx.pid '";

        >>kill -HUP 58931

     或者使用

         /usr/local/nginx/sbin/nginx -s reload

      注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正          确命令如下:

           nginx -t -c  /usr/local/nginx/conf/nginx.conf

       或者

            /usr/local/nginx/sbin/nginx -t

      成功后通过浏览器访问:

blob.png

   如果防火墙没有开启只能通过本地访问。

   所以需要开启防火墙操作:在开启的过程中遇到如下问题:

   # sudo service iptables start

Redirecting to /bin/systemctl start  iptables.service

Failed to issue method call: Unit iptables.service failed to load: No such file or directory.

    解决方法“http://stackoverflow.com/questions/24756240/how-can-i-use-iptables-on-centos-7

发表评论