Nginx概念及基础安装--详细讲解

1.主要内容:

Nginx的基础
           特性
           配置部署
           优化(了解)

2.Nginx 是什么?

Nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件---web服务软件。
    它是由俄罗斯人Igor Sysoev 开发的,
    优点:

        性能:占用的系统资源更少,3万并发开启10个线程小号内存200MB
            支持更多的并发连接,几万并发小事情
            达到更高的访问效率
            支持异步网络I/O事件模型epoll(linux 2.6+)
        功能:优秀的web服务软件,支持反向代理负载均衡及缓存服务
                                 代理软件有:lvs, Haproxy等软件,为什么选择呢?
                                             nginx部署更简单,方便啊
                                 缓存:他又类似缓存服务软件(很少用)
                                         利用自身的proxy_cache 模块实现类Squid等专业缓存功能
        安装配置:更方便,简单,灵活
                支持的操作系统:
                    UNIX,BSD,Mac OS X,  Solaris,linux,   Microsoft等操作系统
                常用的组合环境:LNMP 或LEMP(E 取自nginx的engine x)

2015年web服务软件排名:
    1.apache  32.40%
    2.Nginx   14.29%
    3.microsoft  [la?t] [spi?d] 31.65% iis
    4.google servers 2.07%
    5.tomcat 0.4%

3.Nginx的基本特性

    a)可针对静态资源高速高并发访问及缓存
    b)可使用反向代理加速,并且可进行数据缓存。
    c)据有简单负载均衡、节点监控检测和容错功能
    d)支持FastCGI服务的缓存加速
        CGI全称是“公共网关接口”(Common Gateway Interface),
        HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,
        其程序一般运行在网络服务器上。
        CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。
        如php,perl,tcl等。
        相对于CGI来说FastCGI有两点是和其不同的。
        第一点是FastCGI的进程是永久性的,也就是说用于处理请求的进程随着请求的结束并不会退出,而是继续运行等待有新的请求来处理。
        这样就解决了CGI由于频繁的创建和关闭进程所带来的性能问题;
        第二点是FastCGI和web服务器之间的通信方式是和CGI不同的。
        并且通信时全双工的模式
    f)支持FastCGI, Uwsgi, SCGI, Memcached servers的加速和缓存
    g)具有模块化的架构

4.nginx所具有其他的www服务特性:

    a)支持基于名字,端口及ip的多虚拟主机站点:基于端口, ip, 域名

    c)可进行简单,方便,灵活的配置和管理
    d)支持修改nginx配置,并且在代码上线时,可平滑重启
        平滑重启:
            nginx 运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,
            但是继续为当前连接的客户提供服务
            所有的客户端的服务完成后,旧的工作进程被关闭
    e)可自定义访问日志格式,临时缓冲写日志操作,快速日志轮询及通过rsyslog处理日志
    f)可利用信号控制Nginx进程 kill -l
    g)支持rewrite模块,支持URI重写及正则表达式匹配
    h)支持FLV流和MP4流技术产品应用
    I)支持HTTP响应速率限制
    J)支持同一ip地址的并发连接或请求数限制
    K)支持邮件服务代理

编译安装Nginx环境:

1.准备工作:

    1.查看当前系统版本:cat /etc/redhat-release  --centos6.7
    yum -y install lrzsz
    yum -y install open gcc
    uname -a

2.安装Nginx所需的pcre库及一些包    --用途(为了使Nginx具有URI重写功能rewrite)

        通常采用yum的方式:
        配置yum源(采用网络源)

        yum -y install openssl openssl-devel gcc gcc-c++
        yum -y install pcre pcre-devel  

        查看版本:rpm -qa pcre

3.选择版本:

        稳定版,开发版,历史稳定版
        首先稳定版(最新版晚6-10个月为佳)

4.为神马安装openssl-devel,因为HTTPS服务需要这个模块
       什么是HTTPS呢?

               a)http叫超文本传输协议,使用TCP端口80,默认情况下数据是明文传送的,
               数据可以通过抓包工具捕获到,因此在internet上,
               有些比较重要的站点的http服务器需要使用PKI(公钥基础结构)技术来对数据加密!
               这也就是https了;

            b)https叫安全的超文本传输协议,使用TCP端口443,
            他的数据会用PKI中的公钥进行加密,
            这样抓包工具捕获到的数据包也没有办法看包中的内容,安全性大大提高,
            要解密数据的话就要用到PKI中的私钥。
            所以一些安全性比较高的网站如:网上银行,电子商务网站都需要用https访问! 

5.mkdir /app

      cd /app  --用于存在各种软件

      wget -q http://nginx.org/download/nginx-1.6.3.tar.gz  --下载软件包

      ls --查看当前目录下的文件,查看nginx是否下载完成

      useradd nginx -s /sbin/nologin -M  创建nginx用户并禁止此用户登录系统  -M 不建立使用者目录 -s使用者登入后使用的shell名称,实际这里是不允许登陆系统
      tail -1 /etc/passwd  查看用户是否存在

      tar xf nginx-1.6.3.tar.gz  -解压

      cd nginx-1.6.3   --进入解压目录

      ./configure   配置
           --user=nginx   进程用户权限
           --group=nginx  进程用户组权限
           --prefix=/usr/local/nginx1.4.5  设置安装路径
           --with-http_stub_status_module  激活状态信息
           --with-http_ssl_module 激活ssl功能

      make  编译

      make install 安装

安装命令

6.此时不算安装完,需要启动前检查配置文件语法

        /usr/local/nginx1.6.3/sbin/nginx -t
        在启动服务钱检测语法非常重要,可以防止因配置错误导致网站重启或者重新加载配置
        等对用户的影响

7.启动Nginx服务

        /usr/local/nginx1.6.3/sbin/nginx

8.查看服务是否启动成功,方法:查看端口

        lsof -i :80
        netstat -lnt | grep 80

9.访问127.0.0.1  | curl 127.0.0.1

10.总结:安装容易出现的错误:

        1.nginx: [emerg] getpwnam("nginx") failed
        2.访问不了页面:
            1.关闭selinux setenforce 0 --临时关闭selinux的方法getenforce(查看)
            2.关闭防火墙 /etc/init.d/iptables stop  --暂时关闭防火墙
            3.查看日志:cat /usr/local/nginx1.6.3/logs/error.log
            4.ping ip 和查看端口

11. server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;   ----------/home/www  ---更改网站根目录
            index  index.html index.htm;
        }

12.重启服务

方法1:杀进程重启

        a)
        杀进程
        lsof -i :80
        kill -9 pid
        重启
        /usr/local/nginx1.6.3/sbin/nginx
        b)
        ps -ef | grep nginx |awk ‘{print $2}‘|  xargs kill -9
        /usr/local/nginx1.6.3/sbin/nginx

方法2:配置文件重启

        a)    检查语法
/usr         /local/nginx/sbin/nginx -t
        /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

        -c制定配置文件的路径,不加-c nginx会自动加载默认路径的配置文件。

        b)
        /usr/local/nginx/sbin/nginx -t 检查语法
        /usr/local/nginx/sbin/nginx -h  --查看帮助
        #-s signal : send signal to a master process: stop, quit, reopen, reload
        /usr/local/nginx/sbin/nginx -s  reload (reload如果语法错误不会成功,有时候不输出错误)
        c)
        把nginx的启动文件放在/etc/init.d里面
        server nginx restart
        chkconfig --add nginx ---意义是开机自启动
时间: 2024-10-16 22:51:26

Nginx概念及基础安装--详细讲解的相关文章

UUCP的基础知识详细讲解

本文我们主要介绍Unix操作系统中的uucp.UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护安全(可参考UNIX进程间通信). UUCP是系统最广泛使用的网络实用系统,这其中在两个原因: 一.UUCP是各种Unix操作系统版本都可用的唯一的标准网络系统 二.UUCP是最便宜的网络系统.只需要一根电缆连接两个系统,然后就可建立UUCP.如果需要在相距数百或数千公里远的两个系统间传输数据,需要两个具有拨号功能的调制解调器. 1.Unix操作系统UUCP命令 U

手把手教你nginx基础安装配置

手把手教你nginx基础安装配置! 一.Nginx安装及简单配置: 安装环境和依赖的包: #yum groupinstall "developmenttools" "server platform development" # yum -yinstall pcre-devel #yum install openssl-devel 下载相关nginx源码包: #wgethttp://nginx.org/download/nginx-1.6.2.tar.gz 解压缩源码

Nginx之一:编译安装及基础应用

一.Nginx简介 Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU/Linux,BSD各种版本,Mac OS X,Solaris和Windows.据统计,6%的网站使用Nginx Web服务器.Nginx是少数能处理C10K问题的服务器之一.跟传统的服务器不同,Nginx不依赖线程来处理请求.相反,它使用了更多的可扩展的事件驱动(异步)架构.Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易

linux/centos下安装nginx(rpm安装和源码安装)详细步骤

Centos下安装nginx rpm包                                                                                                                            www.169it.com 1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/c

nginx:2、ngnix安装及配置详解

大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配置Nginx提供状态页面 九.配置Nginx的错误页面 十.配置Nginx打开目录浏览功能 十一.配置Nginx基于ssl提供https服务 一.前言 在上一篇博文中我们讲解了I/O模型.Web服务器的工作原理及Nginx的基本特性,我们知道Nginx有两个基本功能,一个是作为Web服务器(在这篇博

二进制编码-详细讲解

负数: 原码就是原来的表示方法 反码是除符号位(最高位)外取反 补码=反码+1 以前学习二进制编码时,老师讲了一堆堆的什么原码啊反码啊补码啊xxxx转换啊,还有负数的表示方式啊 总是记不零清,终于从网上找到了一种比较好的讲解方式,保存再share一下,不过为了系统化讲解,又找来了一些编码的基础知识,如果只想看负数编码记忆法,请跳转到 1.如果你不知道二进制怎么编码,请继续,否则请跳到2 1字节 = 8位,所以它能表示的最大数当然是8位都是1(既然2进制的数只能是0或1,如果是我们常见的10进制,

Nagios监控基础安装与监控项部署(下)

上文总结了nagios监控的基础安装配置,现在来总结一下Nagios监控项部署 一.Nagios服务端监控部署 1.Nagios服务端目录与相关配置文件说明 Nagios 安装完成后,/usr/local/nagios/目录下会生成 nagios 相关目录及配置文件,默认的的配置文件在/usr/local/nagios/etc 目录下.详细的描述如下: a)nagios安装后的目录结构 [[email protected] ~]# ll /usr/local/nagios/           

图文并茂详细讲解SAP如何新建并COPY Client

当SAP安装好之后,系统默认给了几个Client了,里面都带有一些测试的数据还有基础数据,比如国家代码,币别等等最最基本的东西.一个Client相当于一个域,跟QAD系统一样.不同的Client各自独立,可以近似理解为就是一套不同公司的系统. 所以一旦企业做大,难免会有分公司的情况,也就会有不同的业务,流程也不尽相同,所以此时就必须要新建Client.SAP允许新建Client之后可以从其他Client拷贝数据过来使用,甚至配置信息和权限都可以拷贝过来,相当方便. 下面,我们就来新建一个Clie

nginx学习(一):安装nginx

学习下nginx,本篇文章主要讲解下在linux下安装nginx 下载nginx 安装包 1.去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本: 2.上传tar包到linux 安装ngix依赖 在线yum安装 1.安装gcc环境 yum install gcc-c++ 2.安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel 3.zlib压缩和解压缩依赖, yum install -y zlib zlib-devel 4