Nginx静态服务器与反向代理

Nginx

目录

Nginx

介绍

下载安装

Nginx五大模块

Nginx配置

搭建静态web服务器

Nginx做反向代理服务器

 

介绍

Nginx是高性能,高并发,跨平台得Web服务器。

下载安装

windows使用Nginx,官网下载 解压即用

http://nginx.org

解压后点击nginx.exe ,运行成功logs目录下会有nginx.pid出现,失败得话看logs目录下得error.log日志即可。

运行后访问http://localhost:80

 

 

快速停止服务,进入安装目录下运行cmd

nginx -s stop

根据配置文件重启

nginx -s reload

 

Nginx五大模块

除了少量核心代码外,Nginx完全是由各种功能模块组成的。这些模块会根据配置参数决定自己的行为,在configure的参数中,我们把它们分为五大类

 

·事件模块。

·默认即编译进入Nginx的HTTP模块。

·默认不会编译进入Nginx的HTTP模块。

·邮件代理服务器相关的mail模块。

·其他模块。

 

Nginx配置

 

conf/nginx.conf 文件,内容除了很长的注释.

#user  nobody;
worker_processes  1;
#######error日志的语法  语法: error_log/path/file level;     /path/file  路径文件  
#######level是日志的输出级别,取值范围是debug、info、notice、warn、error、crit、alert、emerg
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
​
#pid        logs/nginx.pid;
##############如events{},http{}这是块配置项,用{}包裹
​
events {
###########定义每个worker进程可以同时处理的最大连接数
    worker_connections  1024;
##########是否打开负载均衡 ,默认打开,如果关闭它,那么建立TCP连接的耗时会更短,但worker进程之间的负载会非常不均衡
     accept_mutext on;
}
#############http配置块中还用server{}配置块    内层配置块会继承外层得配置,但如果内外层冲突得话,继续看会讲的
​
http {
### 配置项名  include    ,include配置的值为  mime.type    ,名与值 用空格做分隔(有多个值也是用空格分隔),结尾以分号结尾。
    include       mime.types;
    default_type  application/octet-stream;
######### 这些  配置的值  是使用变量的  $符号,但不是所有模块都支持
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

 

搭建静态web服务器

静态Web服务器的主要功能由ngx_http_core_module模块(HTTP框架的主要成员)实现。Nginx可以为静态Web服务器进行配置:

虚拟主机与请求的分发、文件路径的定义、内存及磁盘资源的分配、网络连接的设置、MIME类型的设置、对客户端请求的限制、文件操作的优化、对客户端请求的特殊处理.

server块在http块中

    server {  
        #这里是我自己配置服务端口 静态资源处理
                listen       8081;
                server_name www.staticresources.com;
                root  D:/meida/learnonline;  #访问文件根目录
                autoindex on;  #是否浏览文件下的列表
                location / {  #是否允许跨域
                   add_header 'Access-Control-Allow-Origin' $http_origin;
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
            add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain; charset=utf-8';
                add_header 'Content-Length' 0;
                return 204;
            }
​
                }
               
            }

 

Nginx做反向代理服务器

 

 

利用Nginx反向代理能减少web服务器(上游服务器)的压力原因,如上图2,应为Nginx与web端网络连接为"内网"传输速率快,而客户端与服务端网络较慢。此时使用代理先将信息放到代理服务器上,由代理服务器与web服务器之间传输速度会比客户端直接与web服务器连接会快。web服务器对外连接的反应更加迅速,不会使连接堆加。

 

反向代理的基本配置项

​
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;  
            
            #反向代理
    #upstream配置块负责负载均衡
    upstream backend {
          server localhost:9999;
        
    }
    server {
        listen       8082;
        server_name localhost;
        location / {
        #proxy_pass 的值可以直接是目标服务器的ip或域名这样就可以不用upstream块了     也可以利用upstream配置块 负载均衡
            proxy_pass   http://backend/;
        }
​
  }
​
   
​
}
​

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值