首页
登录 | 注册

nginx操作及配置

    nginx处理请求过程:在请求收到后定位到配置文件中描述的相应 location,然后由 handler 生成 response,再由 filter 进行处理。所以模块开发,可以是 handler 模块开发,也可以是 filter 模块开发(当然还有其他类型的模块)。

    常用操作:

    启动:./sbin/nginx

    停止:./sbin/nginx -s stop

              ./sbin/nginx -s quit

    重载:./sbin/nginx -s reload

              service nginx reload

    检查配置文件是否正确:./sbin/nginx -t

     配置结构:

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。
5、location块:配置请求的路由,以及各种页面的处理情况。

    配置事例:

user 
worker_proccess 4;
pid /run/nginx.pid;

events{
     worker_connections 768; 
     multi_accept on;
}
http{
     sendfile on;
     tcp_nopush on;
     tcp_nodelay on;
     keepalive_timeout 65;
     types_hash_max_size 2048;
     include /etc/nginx/mime.types;
     default_type application/octet-stream;
     access_log /var/log/nginx/access.log;
     error_log /var/log/nginx/error.log;
     gzip on;
     gzip_disable “msie6”;
     include /etc/nginx/conf.d/*.conf
     include /etc/nginx/sites-enabled/*;
}

conf.d/*.conf
upstream gx.gaokao360.net{//upstream上游,server中的proxy_pass内容指向这里,名称可以自定义
     server ip:port weight=5;     //配置多个实现负载均衡
     server ip:port max_fails=3 fail_timeout=30s;     //默认weight=1,最大重试次数,默认值为1,重试间隔时间,默认间隔为10s
}

mime.types
types{
}

sites-enabled/*
server{
     listen 80;     //监听80端口
     server_name zuohao.online;     //url
     error_log /var/log/nginx/zuohao.online.error.log;
     access_log /var/log/nginx/zuohao.online.access.log;
     location / {
          proxy_pass http://zuohao.online.net;
     }
}
server{
     listem 80;
     server_name img.zuohao.online;
     error_log /var/log/nginx/img.zuohao.online.error.log;
     access_log /var/log/nginx/img.zuohao.online.access.log;
     location ~ .*\.(gif|jpg|jpeg|png|bmp){
          root /data/upload/p_w_picpaths/;
          expires -1;
     }
}

location正则表达式

~ 使用正则表达式,区分大小写

~*使用正则表达式,不区分大小写

$ 标志结尾

^ 标志开头 

\ 转义字符,转义. * ?

^~ 优先匹配(完整路径)

location 匹配的优先级(来自实践总结中)

(location =) > (location 完整路径 >) >(location ^~ 路径) >(location ~* 正则) >(location 路径)


1.标识符“=”的location会最先进行匹配,如果请求uri匹配这个location,将对请求使用这个location的配置。

2.进行字符串匹配,如果匹配到的location有^~这个标识符,匹配停止返回这个location的配置。

3.按照配置文件中定义的顺序进行正则表达式匹配。最早匹配的location将返回里面的配置。

4.如果正则表达式能够匹配到请求的uri,将使用这个正则对应的location,如果没有,则使用第二条匹配的结果。


ps:

问:为什么location \.do${}会匹配http://www.test.com/index.do?xxx=xxx?

答:location 后边的参数是url,URL本身是不包含?后边的参数的

    其他:

502 Bad Gateway

作为网关或代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

504 Gateway Timeout

作为网关或代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或辅助服务器(例如DNS)收到响应


正向代理服务器用来让局域网客户机接入外网以访问外网资源,反向代理服务器用来让外网的客户端接入局域网中的站点以访问站点中的资源。

正向代理服务器中,我们的角色是客户端,目的是访问外网的资源

反向代理服务器中,我们的角色是站点,目的是把站点的资源发布出去让其他客户端能够访问。



相关文章

  • Nginx的安装配置及访问状态统计
    Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0 ...
  • CentOS 6下Nginx正向代理配置
    CentOS 6下Nginx正向代理配置By:老宁一.环境介绍1.Client作为需访问访问互联网PC终端:网卡地址:192.168.1.2002.Nginx Server作为互联网出口代理服务器:内网网卡:192.168.1.100外网网 ...
  • nginx + uwsgi + django一.django + uwsgi 安装安装python 扩展库(大部分系统已安装)yum install zlib zlib-develyum install sqlite3python 安装py ...
  • 九爷带你了解  nginx HTTP模块配置常用指令
    一.HTTP模块的作用是什么?Nginx的HTTP模块用于控制Nginx的HTTP进程.二.配置指令1. alias含义:指定location使用的路径,与root类似,但不改变文件的跟路径,仅适用文件系统的路径.语法:alias < ...
  • 核心配置代码 找到Nginx的配置文件nginx.conf,修改配置,主要添加了proxy_pass参数. #将请求"http:127.0.0.1:80/helloworld" 转向服务器 "http://12 ...
  • Nginx基本安装配置
    安装 [plain] view plaincopyprint?  # yum install pcre* -y    # tar xf nginx-1.2.1.tar.gz    # cd nginx-1.2.1    # ./config ...

2019 jeepyurongfu.net webmaster#jeepyurongfu.net
12 q. 0.028 s.
京ICP备10005923号