zoukankan      html  css  js  c++  java
  • 深入理解Nginx-模块开发与架构解析(第2版)第一章

    为什么选择Nginx
    • 更快
    • 高扩展性
    • 高可靠性
    • 低内存消耗
    • 单机支持10万以上的并发连接
    • 热部署
    • 最自由的BSD许可协议

    Nginx先天的事件驱动型设计、全异步的网络I/O处理机制、极少的进程间切换以及许多优化设计,都似的Nginx天生善于处理高并发压力下的互联网请求,同时Nginx降低了资源消耗,可以把服务器硬件资源“压榨”到极致。


    apt-get报错
    # E:无法获得锁/var/lib/dpkg/lock - open(11:资源暂时不可用)...
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock
    
    
    
    # 无法获得锁/var/lib/apt/lists/lock...
    sudo rm /var/lib/apt/lists/lock
    
    
    

    shell中cmd 2 > /dev/null
    
    # 文件描述符
    0 —— 标准输入(stdin)
    1 —— 标准输出(stdout)
    2 —— 标准错误(stderr)
    
    # 分别单独定向stderr和stdout到文件
    cmd 2 > stderr.txt 1 > stdout.txt
    
    # stderr和stdout重定向到同一个文件
    cmd > output.txt 2 > &1
    cmd & > output.txt
    cmd > & output.txt
    
    # Linux特殊文件/dev/null
    /dev/null是一个特殊设备文件,这个文件接收的任何数据都会被丢弃。因此,null这个设备通常被称为位桶(bit bucket)或黑洞。
    所以,2 > /dev/null是将错误stderr删掉
    

    nginx安装和启停
    # 安装nginx前提
    apt-get install gcc
    apt-get install libpcre3 libpcre3-dev
    apt-get install zlib1g zlib1g-dev
    apt-get install openssl openssl-dev
    
    # 官网[下载](http://nginx.org/en/download.html)source code
    tar -zxvf nginx..
    cd nginx..
    ./configure
    make 
    make install
    
    # 默认方式启动
    /usr/local/nginx/sbin/nginx
    # 访问127.0.0.1:80看到nginx欢迎界面
    # (1)默认使用/usr/local/nginx/conf/nginx.conf配置文件,可在configure加参数--conf-pat=PATH指定配置文件安装位置
    # (2)启动命令加参数-c abspath指定启动使用的配置文件路径
    # (3)启动命令加参数-p abspath指定nginx的安装目录
    # (4)启动命令加参数-g临时指定一些全局配置参数,以使新的配置生效。新配置不能存在于nginx.conf中,否则会冲突。若叫-g参数,在启动会停止时也需将-g参数加上
    # (5)测试配置信息是否正确
    /usr/local/nginx/sbin/nginx -t
    # (6)测试配置阶段不输出信息
    /usr/local/nginx/sbin/nginx -t -q
    # (7)显示版本信息
    /usr/local/nginx/sbin/nginx -v
    # (8)快速停止服务
    /usr/local/nginx/sbin/nginx -s stop  # s告诉nginx程序向正在运行的nginx服务发送信号量
    # (9)显示编译阶段的参数
    /usr/local/nginx/sbin/nginx -V
    # (10)优雅的停止服务
    /usr/local/nginx/sbin/nginx -s quit
    sudo kill -s SIGQUIT nginx_pid
    # (11)重新加载nginx.conf
    /usr/local/nginx/sbin/nginx -s reload
    sudo kill -s SIGHUP nginx_pid
    # (12)日志文件回滚
    /usr/local/nginx/sbin/nginx -s reopen
    sudo kill -s SIGUSR1 nginx_pid
    # (13)平滑升级nginx
    替换原有nginx二进制文件,nginx支持不重启平滑升级。包括以下步骤:
      # 1)向master发送USER2信号量,告知运行的旧版nginx准备升级
      sudo kill -s SIGUSR2 nginx_master_pid  # 会将pid文件重命名
      # 2)启动新版nginx
      # 3)kill发送SIGQUIT优雅关闭旧版nginx,随后将新版本nginx服务运行
    # (14)使用-h或-?显示支持的所有参数
    
    实践出真知~
  • 相关阅读:
    Java实现 LeetCode 653 两数之和 IV
    Java实现 LeetCode 653 两数之和 IV
    Java实现 LeetCode 652 寻找重复的子树(两个map的DFS)
    PHP imageaffine
    PHP image2wbmp
    PHP image2wbmp
    PHP image_type_to_extension
    PHP getimagesizefromstring
    用户选择 | user-select (Basic User Interface)
    用户界面 | CSS User Interface (Basic User Interface)
  • 原文地址:https://www.cnblogs.com/NolaLi/p/14412697.html
Copyright © 2011-2022 走看看