nginx介绍和安装
  • Nginx介绍

nginx(发音”engine x”)是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件。Nginx本身是一款静态(html,js,css,jpg等)的www软件,不能解析动态的PHP,JSP,DO。如果要解析,还需要装对应的引擎。具备IMAP/POP3和SMTP服务器功能,Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。目前,包括新浪、腾讯等知名网站都已使用Nginx作为Web应用服务器。

1.Nginx的功能描述

1). Nginx的特性

    • 模块化设计、较好的扩展性
    • 高可靠性:一个master启动一或多个worker,每个worker响应多个请求
    • 低内存消耗:10000个keepalive连接在Nginx中仅消耗5MB内存(官方数据)
    • 支持热部署:不停机更新配置文件、更新日志文件、更新服务器程序版本

2).Nginx的基本功能

    • 静态web资源服务器,能够缓存打开的文件描述符
    • 支持http/imap/pop3/smtp的反向代理;支持缓存、负载均衡
    • 支持fastcgi(fpm)
    • 模块化,非DSO机制,支持过滤器zip压缩,SSI以及图像大小调整
    • 支持SSL

3).Nginx的扩展功能

    • 基于名称和IP的虚拟主机
    • 支持keepalive的保持机制
    • 支持平滑升级
    • 定制访问日志,支持使用日志缓存区提高日志存储性能
    • 支持url rewrite
    • 支持路径别名(root或alias指定)
    • 支持基于IP以及用户的访问控制
    • 支持传输速率限制,并发限制

4).Nginx的基本架构

    • 一个master进程,生成一个或者多个worker进程,每个worker响应多个请求
    • 事件驱动:epoll,kqueue,poll,select,rt signals
    • 支持sendfile,sendfile64
    • 支持AIO
    • 支持mmap

5).Nginx模块类型

    • Nginx core module: nginx的核心模块
    • Standard HTTP modules:nginx的标准模块
    • Optional HTTP modules:nginx的可选模块
    • Mail modules :nginx的邮件模块
    • 3rd party modules:nginx的第三方模块

6).Nginx进程详解
主进程主要完成如下工作:

    • 读取并验正配置信息;
    • 创建、绑定及关闭套接字;
    • 启动、终止及维护worker进程的个数;
    • 无须中止服务而重新配置工作特性;
    • 控制非中断式程序升级,启用新的二进制程序并在需要时回滚至老版本;
    • 重新打开日志文件,实现日志滚动;
    • 编译嵌入式perl脚本;

worker进程主要完成的任务包括:

    • 接收、传入并处理来自客户端的连接;
    • 提供反向代理及过滤功能;
    • cache loader进程主要完成的任务包括:
    • 检查缓存存储中的缓存对象;
    • 使用缓存元数据建立内存数据库;

cache manager进程的主要任务:

缓存的失效及过期检验;

  1. 优越的特性;
  • 作为Web服务器;相比较与Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤为受到虚拟主机提供商的欢迎,能够支持高达50000个并发的连接数的响应。
  • 作为负载均衡服务器器:Nginx既可以在内部直接支持Rails和PHP,也可以支持作为HTTP代理服务器对外惊醒服务,Nginx用C语言编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多
  • 作为邮件代理服务器,Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),fm描述了成功并且美妙的使用经验。
  • Nginx安装非常简单,配置文件非常简介(还能够支持perl语法),Bugs非常少的服务器:Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数月也不需要重新启动。还能够在不间断服务的情况下进行软件版本平滑升级。
  1. Nginx的应用场合
  • 提供静态服务(图片,视频服务),html,js,css,flv,jpg等。类似Lighttpd并发:几万并发
  • 动态服务,Nginx+Fastcgi的方式运行php,jsp。动态并发:500-1500
  • 提供反向代理服务,或者称之为负载均衡,日PV2000W以下,都可以直接使用Nginx做代理。F5、A10、haproxy、NetScaler

缓存服务。类似squid,varnish,sts

  • 课后作业:Nginx使用的epoll模型与Apache使用的select模型区别
  1. Nginx支持虚拟主机

一个server标签就是虚拟主机

  • 基于域名的虚拟主机。通过域名来区分虚拟主机

应用:外部网站

  • 基于端口的虚拟主机。通过端口来区分虚拟主机

应用:公司内部网站,网站的后台……

      • 基于IP的虚拟主机。几乎不用,不支持ifconfig别名,配置文件可以

二.安装Nginx-6.3

  1. 基础软件准备
  • 安装PCRE

PCRE(Perl Compatible Regular Expressions,中文perl 兼容的正则表达式)是一个Perl库,包括 perl 兼容的正则表达式库。官网:http://www.perl.org

原因:HTTP rewrite module requires the PCRE library

rpm -aq pcre pcre-devel

yum install -y pcre-devel

  • 安装openssl

原因:SSL module require the openssl library

yum install -y openssl-devel

  1. 安装Nginx

useradd -s /sbin/nologin -M nginx         #创建用户,也可以在安装后创建

mkdir /server/tools -p

cd /server/tools

wget http://nginx.org/download/nginx-1.6.3.tar.gz

tar zxvf nginx-1.6.3.tar.gz

cd nginx-1.6.3

./configure –help                #查看帮助

***********************************************

……

–without-http_rewrite_module      disable ngx_http_rewrite_module

–without-http_proxy_module        disable ngx_http_proxy_module

……

***********************************************

如上模块默认都是被加进去的,如果不想安装类似模块客家以上参数,本次安装参数如下

./configure –prefix=/application/nginx-1.6.3 –user=nginx –group=nginx –with-http_ssl_module –with-http_stub_status_module

make && make install

cd ..

ln -s /application/nginx-1.6.3 /application/nginx

/application/nginx/sbin/nginx                     #启动进程,不报错则表示启动成功

ps -ef|grep nginx|egrep -v grep                   #查看启动进程

netstat -lntup|grep nginx                         #查看端口,直接过滤80有可能查处多余项

/application/nginx/sbin/nginx -V                  #查看编译参数

如果/application/nginx/sbin/nginx 出现如下错误:

/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

解决办法:

  1. ln -s /usr/local/lib/libpcre.so.1 /lib64
  2. echo “/usr/local/lib/”>>/etc/ld.so.conf

ldconfig

  1. nginx缓存安装

cd /server/scripts

wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

tar zxvf ngx_cache_purge-2.3.tar.gz

wget http://nginx.org/download/nginx-1.6.3.tar.gz

tar zxvf nginx-1.6.3.tar.gz

cd nginx-1.6.3

./configure –prefix=/data/nginx-1.6.3 –user=nginx –group=nginx –with-http_ssl_module –with-http_stub_status_module –add-module=../ngx_cache_purge-2.3

make && make install

ln -s /data/nginx-1.6.3/ /data/nginx

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇