• nginx是什么nginx安装与配置之windows版


    1.nginx是什么

    为了快速了解nginx我们先引用网上的nginx介绍:

    Nginx ("engine x") 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

    简单的说,就是nginx是一个http服务器,提供静态网页及HTTP代理服务。

    2.为什么要用nginx,nginx能做什么?

    使用nginx的好处:高性能、高并发是nginx的主要特性。功能上,首先,它可以完全代替静态网页服务器;另外,使用配合php-cgi/php-fpm服务(后面博文会讲如何配置)可以成为一台php服务器;

    反向代理:除web服务器外,它的反向代理功能也是nginx的主要特性之一,用它配合其它web服务器使用可以隐藏真实web服务器软件、web端口,实现统一对外端口、域名。假如一台服务器,即要安装IIS又要安装apache 又要都使用80端口,该怎么办呢?这就头疼了,使用老办法只能一个软件使用80端口,然后建一个站点转发到另一个web服务器,这样性能又得不到保障。幸好我们有nginx,它只需简单的配置就可将80端口代理到本机其它端口,并可对静态资源提供缓存服务,性能极其高。

    3.nginx工作原理

    下面这张图可以清楚的描述nginx的原理

    由上图可知,此服务器的架构是将本机所有的web服务器(各种端口)被nginx代理(80端口),静态网站及php站点则使用nginx直接做服务器,然后对外公开nginx,用户访问本服务器时先通过nginx然后再到各个服务器、站点。

    4.windows下载安装nginx

    下载的安装nginx也很简单,直接下载解压即可

    官网下载:http://nginx.org/en/download.html

    官网1.13.1版本下载:http://nginx.org/download/nginx-1.13.1.zip

    下载完全后解压到任意目录:

    直接双击nginx.exe(确保80端口没被占用),这时黑窗口一闪而过,别担心,此时nginx服务已经启动。

    在浏览器中输入:localhost  或 127.0.0.1  即可看到如下:

    说明nginx服务启动成功。

    5.目录结构

    那么,上述的结果是怎么出现的呢,是因为nginx有默认配置文件,nginx在启动时加载了默认配置文件,才使得默认页面可以正常访问。

    nginx目录下的几个重要目录:

    conf:配置目录

    html:默认站点目录

    logs:日志目录

    6.配置文件

    配置文件是nginx的重中之重,所有功能都是配置出来的

    打开默认配置文件 conf/nginx.conf ,这个文件是nginx的标准配置文件。

    可以看到里面的主要结构如下(片断) :

    http{
      server{
        listen:80;
         server_name:localhost;
         location / {
           root html;
           index index.html index.htm;
          }
    access_log logs/access_log.log;
    error_log logs/error_log.log;
    } }

    其中http代表web服务器配置,此节点只能有一个。

    server节点代表web服务器,server节点必须在http节点下,可以有多个,每个可以端口不同或域名不同,其中listen代表端口,server_name代表域名,如有多个的话使用空格分开,如:server_name:a.com  b.com;

    server下的location节点代表此web服务器如何访问(可以有多个),后面的/指的是路径,root指访问此路径的根目录(如果是代理则不需要此节点),index节点指访问此路径的默认文件名。

    access_log和error_log分别是访问、错误日志存放目录。

    如上配置就产生了一个静态服务器。

    那么,我们如何来配置一个代理服务器呢?

    服务器代理:

    假如我们需要把一个网站直接代理到本机的IIS服务器(端口为808),我们需要的配置如下:

     location / {
              proxy_pass http://127.0.0.1:808;
    }
    

    正规表达式:

    如果要将某些符合条件的请求代理到其它服务器,则需要使用正则表达式,location后面支持正则表达式。示例如下 :

     location ~ .*.(jsp)$ {
              proxy_pass http://127.0.0.1:8080;
            }
    

    这样我们就将所有 .jsp结尾的请求都交给本机8080端口对应的服务器处理。

    URL重写:

    nginx支持URL重写,

    我们可以将某种规则的URL重写为另一种URL,可以实现伪静态、URL美化等。示例如下 :

    server {
        listen 80;
        server_name localhost;
        root  html;
        rewrite ^/(.*)/([0-9]{1,}).htm$ /$1/index.jsp?id=$2;
        rewrite ^/([a-zA-Z]+).html$ /index.jsp?c=index&a=$1 last;
        rewrite ^/([a-zA-Z]+)/([a-zA-Z]+).html$ /index.jsp?c=$1&a=$2 last;
        location / {
          index index.htm index.html index.php;
        }
    

    rewrite节即为url重写规则,经过如上配置如果我们访问的是 /5689.html 则被重写后会转换为 /index.jsp?id=5689 然后再由服务器处理。

    本文介绍了nginx基础知识,运行原理,windows下下载安装及常用功能配置。nginx的功能远远不只本文介绍的这些,本文只是引导我们快速入门nginx,如想学习更多,还需要自己多多努力!

    致读者:感谢你阅读本文,请随手点击右下角的推荐或分享,谢谢!
  • 相关阅读:
    GRUB2 分析 (三)
    GRUB2 分析 (二)
    快速填充像素的方法
    GRUB2 分析 (一)
    自制Linux映像和发行版Robomind
    为MarS Board安装无线网卡Linux驱动
    alsa音频播放过程中的基本概念
    常见Soc平台图形内存管理学习笔记
    snprintf笔记
    linux命令行配置wifi连接并通过ssh代理开启socks代理
  • 原文地址:https://www.cnblogs.com/yzeng/p/nginx_basic.html
Copyright © 2020-2023  润新知