• openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍


    openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍

    一、nginx的安装下载及编译安装
    1、Nginx下载:nginx-1.13.0.tar.gz,下载到:/usr/local/src

    [root@node5 src]# wget http://nginx.org/download/nginx-1.13.0.tar.gz
    tar xf nginx-1.13.0.tar.gz
    cd nginx-1.13.0
    ./configure --prefix=/usr/local/nginx
    # make && make install

    2、关闭nginx
    [root@node5 nginx]# ps -ef|grep nginx
    root      16394      1  0 15:35 ?        00:00:00 nginx: master process ./nginx
    nobody    16395  16394  0 15:35 ?        00:00:00 nginx: worker process
    root      16399   1426  0 15:41 pts/0    00:00:00 grep --color=auto nginx
    [root@node5 nginx]# kill -INT 16394

    3、安装依赖
    [root@node5 ~]# yum install -y gcc gcc-c++ ncurses-devel perl pcre pcre-devel zlib gzip zlib-devel

    4、Nginx编译
    $ ./configure --prefix=/usr/local/nginx

    5、安装Nginx:
    安装命令:make & make install

    6、查看安装路径
    $ cd /usr/local/nginx
    $ ll
    conf 存放配置文件
    html 网页文件
    logs 存放日志
    sbin   shell启动、停止等脚本

    7、启动nginx
    $ cd sbin
    $ ./nginx

    8、浏览器,访问ip地址,默认80端口


    9、停止nginx
    $ ps -ef | grep nginx


    执行命令:$ kill –INT 进程号
    $ kill -INT 3844

    $ ./nginx -s stop

    10、重新读取配置文件
    $ nginx -s reload

    11、检查配置文件是否正确
    $ ./nginx -t

    问题报错:[error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
    解决方案:
    # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    -c的命令是指定配置文件位置

    二、正向代理和反向代理概念

    正向代理
    用户要访问服务器C,但因为网络原因无法访问;但服务器A可以访问服务器C。这样用户可以把服务器A设置为正向代理服务器。由服务器A去请求服务器C,然后服务器A把数据返回会用户。

    反向代理
    用户需要访问一些服务器应用,但对方不想把服务器应用地址暴露给用户,这样可以确保安全。那用户如果访问呢?可以通过反向代理服务器,用户只需要知道反向代理服务器地址就可以,最后由反向代理服务器去访问服务器的应用

    总结:正向代理与反向代理的区别
    1)正向代理 是需要 在用户的电脑上 配置正向代理服务器的;而反向代理不需要,因为用户是直接访问的反向代理服务器
    2)正向代理的应用场景是 用户是知道目标服务器的地址,如:www.google.com,但不能直接访问,那么就需要在用户电脑配置一个正向代理服务器,用户再次访问的地址www.google.com。
         而反向代理的应用场景是 用户本来就不知道 目标服务器的地址;而是由平台方提供一个反向代理服务器的地址,用户直接访问反向代理服务器的地址就行 www.a.com
         不管目标服务器有多少,用户不需要关心,只要访问反向代理服务器就ok;由反向代理服务器去解析访问目标服务器
    3)反向代理 极大的保护了应用的安全性,而且此结构可以很好的搭建负载均衡


    三、nginx的常用命令及信号控制

    一)nginx命令

    1)nginx启动
    指令:nginx程序   -c   nginx配置文件
    # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    2)nginx重启
    #cd /usr/local/nginx/sbin
    ##重启
    # ./nginx -s reload   
    进入nginx可执行程序的目录
    # cd /usr/local/nginx/sbin/
    # ./nginx -s reload
    nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
    重启是建立在nginx服务需要启动

    3)nginx停止
    # ./nginx -s stop
    # ./nginx -s quit

    quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求
    stop 是快速关闭,不管有没有正在处理的请求。

    4)重新打开日志   
    # ./nginx -s reopen   

    5)nginx检查配置文件
    检查配置文件是否正确
    第一种
    进入nginx可执行程序的目录
    # cd /usr/local/nginx/sbin/
    # ./nginx -t

    第二种
    # /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

    二)nginx的信号控制

    Nginx支持2种进程模型Single和Master-Worker
    Single是单进程,一般不适用,
    Master-Worker是主进程和工作进程模型运行,主进程对工作进程管理。
    Nginx允许我们通过信号来控制主进程,用信号的方式可以达到不影响现有连接的目的。

    信号类型

    INT,TERM        快速关闭信号
    QUIT            从容关闭信号
    HUP                从容重启信号,一般用于修改配置文件后,重启
    USR1            重读日志,一般用于日志的切割
    USR2            平滑升级信号
    WINCH            从容关闭旧进程

    具体语法:
    kill    -信号选项    nginx的主进程号
    例:
    # kill -INT 26661
    # kill -HUP 4873

    1)nginx停止
    #  ps -ef | grep nginx 获得进程号

    第1种从容“优雅”停止
    # kill -QUIT master进程号
    # Nginx服务可以正常地处理完当前所有请求再停止服务
    # 步骤:首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。

    第2种快速停止
    # kill -TERM master进程号
    # kill -INT master进程号
    # 快速停止服务时,worker进程与master进程在收到信号后会立刻跳出循环,退出进程。
    第3种强制停止
    # pkill -9 nginx
    # 系统强杀nginx进程

    2)重启nginx
    # kill -HUP master进程号

    已经介绍了,QUIT,INT,TERM,HUP的信号
    下几节课程会详细介绍USR1,USR2,WINCH信号。这里先埋下一个点,先了解下


  • 相关阅读:
    C#的委托事件总结
    iOS的录屏功能
    Unity通过NTP获取网络时间
    Unity的弱联网Json数据传输
    Unity场景和代码合并以及UnityYAMLMerge的使用
    Unity学习--捕鱼达人笔记
    Yomob广告在cocos2dx安卓平台的Demo
    谷歌广告Admob在cocos2dx上通过回调实现底部Banner
    JZ2440 裸机驱动 第13章 LCD控制器(2)
    JZ2440 裸机驱动 第13章 LCD控制器(1)
  • 原文地址:https://www.cnblogs.com/reblue520/p/11428917.html
Copyright © 2020-2023  润新知