• Nginx服务器之基础学习


    一、Nginx介绍

    nginx:Nginx是一种软件服务器(轻量级),故它最主要的功能就是可以与服务器硬件结合,我们的应用程序可以放在nginx服务器上进行发布,已达到让网民浏览的效果。除此自外,Nginx是一种高性能的Http和反向代理服务器,同时也是一个代理邮件服务器。也就是说nginx可以发布网站,也可以实现负载均衡的功能,还可以作为邮件服务器实现收发邮件的功能。Nginx支持处理百万级的TCP连接,10以上的并发连接,具有跨平台性。

    负载均衡(Load Balance):负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据 处理能力、提高网络的灵活性和可用性。负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节 点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。

    Nginx在 Linux中的效率较window高。

    缺点:rewrite功能不够强大,没有Apache模块多。

    Rewrite是一种服务器的重写技术,它可以使得服务器可以支持 URL 重写,是一种最新流行的服务器技术。它还可以实现限制特定IP访问网站的功能。

    二、Nginx在Centos下的安装

    1、下载nginx-1.8.1.tar.gz
    2、解压 tar -zxvf nginx-1.8.1.tar.gz 
    3、进入nginx-1.8.1 目录下 然后./configure 会出现错误 ./configure: error: C compiler cc is not found
       这是因为缺少一个 关于 gc++库
    4、安装这个库文件  
        (a)、进入root权限 
        (b)、安装gc++库  yum -y install gcc gcc-c++ autoconf automake
        (c)、出现Complete!表示安装成功 
    5、再次进入  nginx-1.8.1目录下执行 ./configure    提示 ./configure: error: the HTTP rewrite module requires the PCRE library.  (缺少PCRE library这个库文件)
    6、安装PCRE library库  进入root权限  执行 yum -y install pcre pcre-devel  出现Complete!表示安装成功
    7、再次进入  nginx-1.8.1目录下执行 ./configure   提示 ./configure: error: the HTTP gzip module requires the zlib library.(缺少zlib library库)
    8、安装zlib library库  进入root权限 执行 yum -y install zlib zlib-devel   出现Complete!表示安装成功
    9、再次进入  nginx-1.8.1目录下执行 ./configure   出现下图所示表示安装成功


    10、执行命令 make   出现 make[1]: Leaving directory `/webserver/nginx-1.8.1' 表示make完成了
    11、执行命令 make install 出现  make[1]: Leaving directory `/webserver/nginx-1.8.1' 表示nginx安装完成
    12、查看是否搭建成功 进入 usr/local 目录下查看是否有nginx目录 存在就表示安装成功。

    二、nginx下各个目录的作用

    conf: nginx 的配置信息
    html: 网页程序
    logs:日志
    sbin:nginx的应用程序,比如 启动程序就在这里面

    三、nginx的基本操作

    1、nginx的启动:可执行文件路径+ -c +配置文件全路径(nginx.conf) 

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

    可能会碰到的问题

    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    使用命令关闭占用80端口的程序
    sudo fuser -k 80/tcp
    或者是改端口号 conf 里面listener

    2、nginx的停止
    (a)、从容停止给与停止缓冲时间
         通过杀死进程停止   kill -QUIT + 主进程号
         查看进程:ps -ef|grep nginx 
         从容停止:kill -QUIT 2072
    (b)、强制停止 不管nginx能否停止就强行停止它
            pkill -9 nginx
    (c)、快速停止 
      kill -TERM +主进程号  kill -TERM 2132
    3、重启

      1、验证nginx配置文件是否正确

     方法一、(a)、验证配置文件是否正确

     方式一、进入可执行文件目录(sbin)下 执行 ./nginx -t

     方式二、/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 

     2、重启Nginx服务

    (b)、方法一 进入可执行文件目录(sbin)下 ./nginx -s reload

     方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务

     方法二、kill -HUP +主进程号  例:kill -HUP 2255  
    4、关闭工作进程
       如何关闭 worker process 进程
       kill -WINCH +工作进程号
    5、Nginx的平滑升级
       (1)升级就是升级nginx版本
             平滑升级:在升级时不会停掉在运行着的进程,这些进程会继续处理已接收的请求,但不会再接受新的请求,等这些老进程在处理完还在处理的请求后,就停止。此平滑升级的过程中,新开的进程会被处理。
             强制升级:停止服务器,进行升级,这样在运行中的进程就被影响了。
        (2) 如果平滑升级
             (a)、查看当前版本  sbin目录下 执行 ./nginx -V
             (b)、将要升级后的版本下载到本地 nginx-1.9.2.tar.gz  解压后 进入nginx-1.9.2目录下执行 ./configure  再执行 make (千万不要再执行再 make install)
             (c)、将nginx-1.9.2/objs/目录下的 可执行文件(nginx) 复制到 /usr/local/nginx/sbin/目录下(在复制前将老版本的ngin文件备份  例如:cp nginx nginx.old; nginx.old就是备份的文件)。
             (d)、在/nginx-1.9.2/ 目录下执行复制 cp -rfp objs/nginx /usr/local/nginx/sbin
             (e)、删除升级版本的文件 nginx-1.9.2 和 nginx-1.9.2.tar.gz
    6、观察进程变化
       在平滑升级中可以通过执行命令 ps -ef|grep nginx 观察进程变化。

    转自http://www.cnblogs.com/jalja/p/6104325.html 

       每天积累一点,随着时间推移你会发现量的质变。

  • 相关阅读:
    怎么在虚拟机下的Linux系统安装数据库
    bbs仿博客
    算法思想
    vue前后台交互
    vue项目内文件的使用和配置
    pycharm使用vue
    vue之vue-cookies
    跨域请求
    vue的常用插件
    vue的生命周期
  • 原文地址:https://www.cnblogs.com/shanheyongmu/p/6122628.html
Copyright © 2020-2023  润新知