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

 #!/bin/bash

 yum -y install gcc pcre pcre-devel
sleep
cd ~
tar -zxvf ~/zlib-1.2..tar.gz
cd ~/zlib-1.2. && ./configure && make && make install
cd ~
tar -zxvf ~/nginx-1.14..tar.gz
cd ~/nginx-1.14. && ./configure && make && make install
cd ~
#/usr/local/nginx/sbin/nginx
firewall-cmd --set-default-zone=trusted
touch /lib/systemd/system/nginx.service
echo "[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true [Install]
WantedBy=multi-user.target" > /lib/systemd/system/nginx.service systemctl enable nginx.service
systemctl restart nginx.service echo "nginx done"

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

 kill - $`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),例如

 # 4核心CPU中,开启4个worker,每个worker分别对应cpu0/cpu1/cpu2/cpu.
worker_processes ;
worker_cpu_affinity ; # 4核心CPU中,也可以只开启2个worker,第一个worker对应cpu0/cpu2,第二个worker对应cpu1/cpu3.
worker_processes ;
worker_cpu_affinity ;

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

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

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

nginx部署及简单优化的更多相关文章

  1. CentOS7上Docker简单安装及nginx部署

    安装 如果原来安装过docker,先把原来的删掉,再安装(如果是首次安装docker忽略第一步,直接在第二步看起) 1.1先查看下已经安装了那些docker yum list installed | ...

  2. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  3. Nginx工作原理和优化、漏洞

    1.  Nginx的模块与工作原理 第三方模块:HTTP Upstream Request Hash模块.Notice模块和HTTP Access Key模块. 图1-1展示了Nginx模块常规的HT ...

  4. Nginx 工作原理和优化、漏洞

    1.  Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(locat ...

  5. Nginx工作原理和优化、漏洞(转)

    查看安装了哪些模块命令: [root@RG-PowerCache-X xcache]# nginx/sbin/nginx -Vnginx version: nginx/1.2.3built by gc ...

  6. Nginx部署部分https与部分http【转】

    转自 Nginx部署部分https与部分http - na_tion的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/na_tion/article/details/ ...

  7. CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署

    一.项目简介 在本文中,将一步一步搭建一个简单的Flask + Virtualenv + uWSGI + Nginx 架构的Web服务,可以作为新手的学习也可作为记录备忘. 如果你安装好了环境并有一定 ...

  8. centosflask+uWSGI+nginx部署

    centosflask+uWSGI+nginx部署 1.      概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...

  9. CentOS Mono Nginx 部署 MVC4+WebApi

    CentOS Mono Nginx 部署 MVC4+WebApi 经过几天的折磨,终于在CentOS上成功部署了MVC4+WebApi.Mono上的服务器推荐两种:Jexus(国产高人写的一款很牛的服 ...

随机推荐

  1. CPU漏洞补丁修复导致KeServiceDescriptorTable获取变更

    一.前言 2018年元旦,出现的cpu的漏洞,可以在windows环三直接读取内核数据,windows对该漏洞提供补丁,补丁增加了一个页表,对应的内核处理也增加了,接下来我们看下补丁修复的表象以及对K ...

  2. 各种数据库maven的pom文件编写与ibernate链接配置

    各种数据库Hibernate链接配置 Derby db driver maven dependency <dependency>         <groupId>org.ap ...

  3. 令狐冲和TCP/IP协议的第三层协议的关系(经典)

    今天突然想起来去看了看我以前在csdn的博客,发现一篇以前一直被奉为经典的文章,哈哈,再转过来和大家看看:              令狐冲十四岁那年进入华山,那年岳琳珊八岁,岳不群白天给两人指点剑法 ...

  4. 企业如何选择最佳的SSL

    如果你的企业有意采购SSL,那么本文可以给一个很好的方向.在本文中,我们将先简要介绍SSL定义及其工作原理,并探讨目前各种可用的SSL证书类型以及企业如何选择最佳的SSL. SSL定义 SSL及传输层 ...

  5. amazeui笔记-Cookie

  6. 第8章 scrapy进阶开发(2)

    8-4 selenium集成到scrapy中 其实也没什么好说的直接上代码 这是在middlewares.py中定义的一个class: from selenium.common.exceptions ...

  7. WCF-绑定模型(二)

    二.绑定元素 每一个类型的绑定最重要的就是绑定元素了,每个绑定的功能特性都由绑定元素决定.BasicHttpBinding由用于编码的TextMessageEncodingBindingElement ...

  8. vue-cli 中遇见的问题,记录爬坑日常!

    本片文章我将会记录使用vue-cli 以及一些相关插件遇见的问题和解决方案,另外本文章将会持续更新,本着互联网分享精神,希望我所记录的日常能对大家有所帮助. 1.在img和html文件处于同级阶段,i ...

  9. 【总】java面试题

    100+经典Java面试题及答案解析 https://www.cnblogs.com/pureEve/p/6546280.html 2017 最新java面试题(技术面试) https://blog. ...

  10. Linq lambda 匿名方法

    课程6 委托.匿名方法.Lambda表达式.Linq查询表达式 上课日志1 一.委托的基本认识 提问:能不能把方法作为参数传递??? 也即是能不能声明一个能存放方法的变量呢——委托. 委托是一种数据类 ...