zoukankan      html  css  js  c++  java
  • nginx部署及简单优化

    研究nginx优化时反复安装清理nginx,为方便做了一个简单部署脚本,用的最新稳定版1.14.0,默认路径,加入systemd系统进程管理中,可以通过systemd管理nginx的启动、终止、重载、状态、开机自启等.

     1 #!/bin/bash
     2 
     3 yum -y install gcc pcre pcre-devel
     4 sleep 2
     6 cd ~
     7 tar -zxvf ~/zlib-1.2.11.tar.gz
     8 cd ~/zlib-1.2.11 && ./configure && make && make install 
    10 cd ~
    11 tar -zxvf ~/nginx-1.14.0.tar.gz
    12 cd ~/nginx-1.14.0 && ./configure && make && make install
    14 cd ~
    16 #/usr/local/nginx/sbin/nginx
    19 firewall-cmd --set-default-zone=trusted
    21 touch /lib/systemd/system/nginx.service
    23 echo "[Unit]
    24 Description=nginx 
    25 After=network.target   
    27 [Service] 
    28 Type=forking 
    29 ExecStart=/usr/local/nginx/sbin/nginx
    30 ExecReload=/usr/local/nginx/sbin/nginx reload
    31 ExecStop=/usr/local/nginx/sbin/nginx quit
    32 PrivateTmp=true 
    33    
    34 [Install] 
    35 WantedBy=multi-user.target" > /lib/systemd/system/nginx.service
    36 
    37 systemctl enable nginx.service
    38 systemctl restart nginx.service
    39 
    40 echo "nginx done"

    需要再次覆盖nginx时,用awk找到nginx的进程然后kill掉,再次执行安装脚本就行.

    1 kill -9 $`ps aux | grep 'nginx' | awk 'NR==2{print $2}'`

    二、nginx优化

    nginx优化配置集中在nginx.conf文件的main和events段.

    main段中worker配置,可以通过work_cpu_affinity选项,按任务类型:CPU密集型或者IO密集型,根据实际业务情况绑定每个worker进程运行在哪个CPU核心上,(前提是系统必须为多核心CPU),例如

    1 # 4核心CPU中,开启4个worker,每个worker分别对应cpu0/cpu1/cpu2/cpu.
    2 worker_processes    4;
    3 worker_cpu_affinity 0001 0010 0100 1000;
    4 
    5 # 4核心CPU中,也可以只开启2个worker,第一个worker对应cpu0/cpu2,第二个worker对应cpu1/cpu3.
    6 worker_processes    2;
    7 worker_cpu_affinity 0101 1010;

    envents段中开启集中一次性接入连接请求和串行方式接入新连接

    events {
        worker_connections  1024;   # 每个worker最大连接数.
        multi_accept on;            # 是否集中接入监听到的连接请求,默认为off,关闭时一次只接收一个连接.
        accept_mutex on             # 默认为on,表示以串行方式接入新连接,off时,将通报给所有worker.

    其它的,例如HTTP段优化,sendfile、keepalive_timeout、gzip是nginx中必做.

  • 相关阅读:
    域用户组策略禁用QQ等软件
    关于使用IDE制作样式表后不能正常显示的问题
    asp.net中使用ckfinder2选择图片并返回图片文件的路径的代码
    按规定长度显示指定绑定字段的内容
    ckeeditor和ckfinder在asp.net中的使用
    开发播放器中所学/用到的知识
    用户体验的网站首页设计的准则
    0410_gdgrid_checkbox_自己强加的多选,选中,批量删除
    0405_hxtx_主题游常用联系人功能代码实现
    0401flag
  • 原文地址:https://www.cnblogs.com/qiyunshe-NSD1805/p/nginx_sh_youhua_20180830.html
Copyright © 2011-2022 走看看