nginx服务器介绍

1、nginx服务器功能

nginx服务器可以扮演:轻量级的web服务器、应用服务器、代理服务器、反向代理服务器、后台服务器、CDN缓存服务器

nginx的基本模块:

  • 内核模块CoreModule:用于控制nginx服务器的基本功能,该模块的指令置于配置文件的根部(开始部分),内核模块还提供了大量的内置变量:$url、$host...。
  • 事件驱动模块EventsModule:用于控制nginx如何处理连接,该模块的指令参数会对应用程序的性能产生重要影响,置于events{}中。
  • http内核模块HttpCoreModule:提供http相关功能,该模块不能被禁用,指令置于http{}中。

2、nginx的模块与进程管理

nginx采用模块化设计,但和apache不同的是,模块一旦被编译进来就不可以被卸载,如果有特别需要只能重新编译nginx。

了解nginx默认安装和不安装的模块:./configure  --help

使用第三方模块:在对nginx进行configure的时候,参数--add-module用来添加第三方模块。

nginx分为single和master两种进程模型,由于single的r容错能力较差,实际生产环境中使用的是master进程模型(master进程和worker进程)

master进程可以处理的信号:

worker进程可以处理的信号:

与apache服务器相比:

  nginx采用的是事件驱动结构,使用异步套接字来接收请求,是一种非阻塞结构,不使用单独的线程处理,目的是为了减少内存和cpu的开销,而apache采用的同步套接字、线程和进程,每一个请求都是一个单独的进程或线程。

nginx服务器安装

安装文件下载地址:http://nginx.org/download/

1、安装(以CentOS系统为例)

1)yum安装:

yum -y install  gcc  gcc-c++   autoconf   automake                  --安装nginx服务器所需的相关依赖包

yum -y install  zlib  zlib-devel  openssl  openssl-devel   pcre  pcre-devel

yun -y  install nignx

2)编译安装:

下载源码包,执行:

tar  zxvf   nginx-0.x.xx.tar.gz

cd  nginx-0.x.xx

./configure

make

make  install

2、nginx的启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

3、nginx的停止

ps  -ef | grep nginx    --查找nginx的主进程号

kill  -QUIT  nginx主进程号  或  kill -QUIT ‘/usr/local/nginx/logs/nginx.pid`    --从容停止nginx

kill  -TERM nginx主进程号   或  kill  -INT nginx主进程号   --快速停止nginx

pkill -9  nginx   --强制停止所有nginx进程

4、检查配置文件

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf   --检查配置文件是否正确

5、重启nginx

kill  -HUP  nginx主进程号  或  kill -HUP ‘/usr/local/nginx/logs/nginx.pid`    --平滑重启nginx

6、nginx支持的几种信号:

  • TERM、INT  快速关闭
  • QUIT   从容关闭
  • HUP    平滑重启,重新加载配置文件
  • USER1   重新打开日志文件
  • USER2   平滑升级可执行程序
  • WINCH   从容关闭工作进程  

7、其他nginx命令:

Nginx -s stop    快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。(quick exit)
Nginx -s quit    平稳关闭Nginx,保存相关信息,有安排的结束web服务。(graceful exit)
Nginx -s reload    因改变了Nginx相关配置,需要重新加载配置而重载。(changing configuration,start a new worker,quitting an old worker gracefully.)
Nginx -s reopen    重新打开日志文件。(reopenging log files)

     nginx使用最新的epoll和kqueue网络IO模型,在实际生产环境中可支2~4W并发连接数。而apache采用的是select网络IO模型,在处理大量连接读写时比较低效。

nginx服务器安装与启动的更多相关文章

  1. 【转】nginx服务器安装及配置文件详解

    原文:http://seanlook.com/2015/05/17/nginx-install-and-config/ nginx服务器安装及配置文件详解 nginx在工作中已经有好几个环境在使用了, ...

  2. [转帖]nginx服务器安装及配置文件详解

    nginx服务器安装及配置文件详解 http://seanlook.com/2015/05/17/nginx-install-and-config/  发表于 2015-05-17 |  更新于: 2 ...

  3. 2.1 Nginx服务器安装

    2.1 Nginx目录和文件介绍 windows下解压nginx后的文件介绍: conf:存放Nginx服务器的配置文件,包含Nginx服务器的基本配置文件和对部分特性的配置文件,正确配置此文件可以保 ...

  4. linux下Nginx服务器安装教程

    序:Nginx服务器安装总结而已,不是教程. 安装的过程中出现了一些问题,原因我的云主机是纯净版,所以很多依赖包都没有.其中安装过程中就发现perl库缺少和openssl库缺少,因此我手动安装的这两款 ...

  5. Windows 安装nginx并开机启动

    Win安装nginx并 开机启动 下载nginx安装包 nginx-1.12.2.zip,解压到D盘. https://pan.baidu.com/s/1InQa527yq35Q68c73RBb-A# ...

  6. gitlab6 nginx配置和启动脚本

    gitlab6 nginx配置和启动脚本 cheungmine 2013-10 最近把gitlab安装到了ubuntu12.04.3的虚拟机上了.参考: https://github.com/gitl ...

  7. 利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果

    利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果/etc/init.d/nginxd {start/stop/restart/reload}利用if语句实现: ============= ...

  8. Nginx服务器的启动控制

    写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: nginx服 ...

  9. nginx环境下启动php-fpm

    nginx环境下启动php-fpm 1.首先查看是否安装了php-fpm 这个我试了好多命令都不行比如 rpm -qa php-fpm , rpm -ql php-fpm , which php-fp ...

随机推荐

  1. DbHelper-SQL数据库访问助手

    using System; using System.Data; using System.Data.SqlClient; namespace Whir.Software.Framework.Ulti ...

  2. poj 1753

    翻转棋,注意是翻转周围四个的,不是整行列的  汗-_-! 哥的代码风还是不错的 二进制储存状态 Sample Input bwwb bbwb bwwb bwww Sample Output 4 #in ...

  3. Effective C++笔记:实现

    条款26:尽可能延后变量定义式的出现时间 博客地址:http://www.cnblogs.com/ronny/ 转载请注明出处! 有些对象,你可能过早的定义它,而在代码执行的过程中发生了导常,造成了开 ...

  4. 北京网络赛G BOXES 状态压缩+有序BFS+高维数组判重

    #include <bits/stdc++.h> using namespace std; ]; ][]; ][][]; ][][][]; ][][][][]; ][][][][][]; ...

  5. Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置

    第一部分:运行环境的配置 1.下载压缩包,解压即可 2.配置系统变量JAVA_HOME为jdk的安装路径 3.如有需要修改端口号,比如8080已被占用的时候,可以将其改为9080等 apache-to ...

  6. 基于Extjs的web表单设计器 第五节——数据库设计

    这里列出表单设计器系列的内容,6.7.8节的内容应该在春节后才有时间出了.因为这周末就请假回老家了,准备我的结婚大事.在此提前祝大家春节快乐! 基于Extjs的web表单设计器 基于Extjs的web ...

  7. BZOJ3578 : GTY的人类基因组计划2

    关于如何判断一个集合是否出现过: 给每个元素随机一个hash权值,然后xor起来即可 插入删除都只需xor 线段树维护区间有效人数和,以及打标记表示这个区间的集合要全部标记为出现过,并把区间内sum值 ...

  8. 苹果应用商店DNS修改加快下载速度

    具体方法:依次点击进入[设置]→[无线局域网]→[WiFi网络右侧小i图标]→更改DNS地址,可以按照自身需求选择以下某个DNS进行更换. OpenDNS:208.67.222.222和208.67. ...

  9. oracle系列--第四篇 Oracle的卸载

    对于oracle的卸载,是一件相对麻烦的事情,不像其他软件那样,我们可以根据卸载向导,就可以方便快捷地卸载软件. oracle的卸载,我们要涉及到修改注册表,重启计算机等操作. 我们有些时候有必要卸载 ...

  10. Delphi中控制Excel(转载)

    用Delphi从数据库中取得资料,然后导出到Excel中做成报表是个不错的选择,因为Excel强大的报表功能那可是没话说前提Delphi中要 uses comobj;var Excel:Variant ...