• Nginx简单使用


    nginx简介

    nginx是一款轻量级Web服务器,也是一款反向代理服务器。它能做什么呢?那就多了,简要列举一些如下:
    1.直接支持Rails和PHP的程序
    2.作为HTTP反向代理服务器
    3.作为负载均衡服务器
    4.作为邮件代理服务器
    5.帮助实现前端动静分离

    nginx特点:
    高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署

    正反向代理和负载均衡

    要说反向代理服务器,先来说一般的代理服务器。代理就是受委托去做一些事。假
    如用户A委托B去做一些事,做完之后B告诉A结果。在代理服务器中也是一样的道
    理,用户A通过代理服务器B访问网站C( www.example.com ),请求先到代理服务
    器B,B再转发请求到网站C,代理服务器B是真正访问网站C的,访问之后再把网
    站C的应答结果发给用户A。这样给用户A的感觉是C直接提供服务的一样,因为看
    不到B的整个处理过程。代理服务器是一个中间者,是充当转发请求的角色。这种
    代理也叫 正向代理 。
    使用正向代理是要在客户端进行设置,比如浏览器设置代理服务器的域名或IP,还
    有端口等。
    正向代理的作用有很多,例如,能访问本无法访问的,加速,cache,隐藏访问者
    的行踪等,具体的不再详述了。
    反向代理 (reverse proxy)正好与正向代理相反,对于客户端而言代理服务器就像是
    原始服务器,并且客户端不需要进行任何特别的设置。假如用户A访问网站B,这个
    时候网站B充当了web服务器,也充当了反向代理服务器,它充当的代理服务器的
    角色是这样,假如用户A要得到网站C的内容,而用户A又不能直接访问到(例如网络
    原因),而服务器B可以访问到网站C,那服务器可以得到网站C的内容再存起来发
    给用户A,这整个过程用户A是直接和代理服务器B交互的,用户A不知道网站C的存
    在,这个web服务器B就是一台反向代理服务器,这个网站C就是上游服务器
    (upstream servers)。
    反向代理的作用是,隐藏和保护原始服务器,就像刚才的例子,用户A根本不知道
    服务器C的存在,但服务器C确实提供了服务。还有,就是负载均衡。当反向代理
    服务器不止一个的时候,就可以做成一个集群,当用户A访问网站B时,用户A又需
    要网站C的内容,而网站C有好多服务器,这些服务器就形成了集群,而网站B在请
    求网站C,就可以有多种方式(轮循,hash等),把请求均匀地分配给集群中的服务
    器,这个就是负载均衡。

    Nginx安装(linux)

    1. 安装GCC(编译器)
      yum install gcc
    2. 安装pcre(依赖)
      yum install pcre-devel
    3. 安装zlib(依赖)
      yum install zlib zlib-devel
    4. 安装openssl(如果需要ssl)
      yum install openssl openssl-devel
    5. 下载源码包 解压安装
    6. 进入解压缩目录
      进入nginx目录之后执行./configure
      也可以加上前缀,指定安装路径 --prefix=/usr/nginx
      默认安在/usr/local/nginx
    7. 执行make
    8. 执行make install

      Nginx虚拟域名配置及测试验证

    配置步骤:
    1.打开全局配置 vim /usr/local/nginx/conf/nginx.conf
    2.增加一行:include vhost/*.conf(每个域名都做成一个conf文件,然后都包含在这里,便于维护和拓展)
    3. 保存退出

    在/usr/local/nginx/conf下新建vhost文件夹
    创建域名转发配置文件
    进入host:cd vhost
    域名转发到HTTP端口—–配置文件:mkdir www.demo.com.conf(必须有.conf后缀)

    server {
        listen 80;
        autoindex on;
        server_name www.demo.com;
        access_log /usr/local/nginx/logs/access.log combined;
        index index.html index.htm index.jsp index.php;
        #error_page 404 /404.html;
        if ( $query_string ~* ".*[;'<>].*" ){
            return 404;
        }
        location / {
            proxy_pass http://127.0.0.1:8080; //转到http
            add_header Access-Control-Allow-Origin *;
        }

    域名转发到本地文件夹—–配置文件:mkdir img.demo.com.conf

    server {
        listen 80;
        autoindex off;
        server_name img.demo.com;
        access_log /usr/local/nginx/logs/access.log combined;
        index index.html index.htm index.jsp index.php;
        #error_page 404 /404.html;
        if ( $query_string ~* ".*[;'<>].*" ){
            return 404;
        }
    
        location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* {
            deny all;
        }
    
        location / {
            root /product/ftpfile/img/; #使用root转发到文件夹
            add_header Access-Control-Allow-Origin *;
        }
    }

    启动验证

    启动:进入${nginx}/sbin 执行./nginx
    重启:进入${ngiinx}/sbin执行./nginx -s reload

    注意事项

    可以配置域名转发,但必须配置好Host
    Linux:
    vim /etc/hosts
    添加好对应的域名及IP
    保存退出

    Windows:
    进入c:Windowssystem32driversetc
    打开hosts文件
    添加好对应域名和ip
    保存退出
    例如:127.0.0.1 image.demo.com

  • 相关阅读:
    从Android源码修改cpu信息
    lintcode-->翻转字符串
    lintcode-->哈希函数
    PCP架构设计
    PCP项目立项
    linux下wc功能的简单实现
    goahead3.6.3就基本使用(后台上传信息到html页面),高手请忽略
    四则运算生成器
    快速看完软件工程教材后,我的疑惑
    软件工程学习
  • 原文地址:https://www.cnblogs.com/loveBolin/p/9614274.html
Copyright © 2020-2023  润新知