`
haoningabc
  • 浏览: 1478536 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx 读 章亦春 的博客 的笔记

阅读更多
打开目录浏览功能
http://wenku.baidu.com/view/1acdff2b453610661ed9f4f0.html###
打开nginx.conf文件,在location server 或 http段中加入
autoindex on;
就可以访问目录结构了

★★★★★★★★★★★★
读nginx笔记http://blog.sina.com.cn/s/blog_6d579ff40100wi7p.html
环境fedora17

yum install zlib
yum install pcre-devel

解压nginx和echo-nginx-module
下载地址
https://github.com/agentzh/echo-nginx-module/tags
[root@leaflinux nginx-1.3.4]# ./configure --prefix=/usr/local/nginx/ --add-module=/root/nginx_test/module/agentzh-echo-nginx-module-9259898


nginx.conf
最上面
user  root;
否则403
.....server的上面添加
    geo $dollar {
        default "$";
    }
    
    server {
..........
     添加
        location /test {
                echo "This is a dollar sign: $dollar";
        }


./nginx
curl http://localhost/test
输出
This is a dollar sign: $
★★★★★★★★★★★★★★★★★★
location /test1 {
            set $first "hello ";
            echo "${first}world";
        }


curl localhost/test1
hello world
★★★★★★★★★★★★★
内部跳转
echo_exec
location /foo {
            set $a hello;
            echo_exec /bar;
        }
 
        location /bar {
            echo "a = [$a]";
        }

结果
[root@leaflinux objs]# curl localhost/foo
a = [hello]
[root@leaflinux objs]#

类似内联,可通过这种方式传递变量
★★★★★★★★★★★★★★★
另一种写法 rewrite
  location /foo {
            set $a hello;
            rewrite ^ /bar;
        }
 
        location /bar {
            echo "a = [$a]";
        }

rewrite 还能进行301和302的外部跳转

★★★★★★★★★★★★★★
location /test {
       echo "uri = $uri";
       echo "request_uri = $request_uri";
}

注意这俩是只读 的
结果
[root@leaflinux objs]# curl 'http://localhost/test?a=b'
uri = /test
request_uri = /test?a=b
[root@leaflinux objs]# 


★★★★★★
$arg_XXX 变量群。
 location /test {
        echo "name: $arg_name";
        echo "class: $arg_class";
    }

结果
$ curl 'http://localhost:8080/test'
    name: 
    class: 
 
    $ curl 'http://localhost:8080/test?name=Tom&class=3'
    name: Tom
    class: 3

转义可以用
 location /test {
        set_unescape_uri $name $arg_name;
        set_unescape_uri $class $arg_class;
 
        echo "name: $name";
        echo "class: $class";
    }


★★★★★★★★★★★
以下为Nginx 变量漫谈(三)
 
server {
        listen 8080;
 
        location /test {
            set $args "foo=1&bar=2";
            proxy_pass http://127.0.0.1:8081/args;
        }
    }
 
    server {
        listen 8081;
 
        location /args {
            echo "args: $args";
        }
    }

输出
 $ curl 'http://localhost:8080/test?blah=7'
    args: foo=1&bar=2


综上

整个nginx.conf为

[root@leaflinux conf]# cat nginx.conf

user  root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    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;
    ########haoning#########begin
        geo $dollar {
        default "$";
    }
    server {
        listen 8080;
 
        location /test {
            set $args "foo=1&bar=2";
            proxy_pass http://127.0.0.1:8081/args;
        }
    }
 
    server {
        listen 8081;
 
        location /args {
            echo "args: $args";
        }
    } 
    ########haoning#########end
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
###########################haoning#################
                autoindex on;
     #0.
     #  location /test {
     #        echo "This is a dollar sign: $dollar";
     #  }
     #  location /test1 {
     #        set $first "hello ";
     #        echo "${first}world";
     #  }
         #1.
         #      location /bad {
     #        echo $foo;
     #   }
     #2.
     #  location /foo {
     #        set $a hello;
     #        echo_exec /bar;
     #  }
     #  location /bar {
     #        echo "a = [$a]";
     #  } 
     #3.
         #  location /foo {
         #      set $a hello;
         #      rewrite ^ /bar;
         #  }
         #
         #  location /bar {
         #      echo "a ===== [$a]";
         #  }
         #4.
        #       location /test {
        #                       echo "uri = $uri";
        #                       echo "request_uri = $request_uri";
        #       }
                location /test {
                                echo "name: $arg_name";
                                echo "class: $arg_class";
                }

###########################haoning#################





        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;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443;
    #    server_name  localhost;

    #    ssl                  on;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}
[root@leaflinux conf]# 
分享到:
评论

相关推荐

    章亦春nginx漫谈

    作者章亦春(agentzh)计划编写一系列关于 Nginx 的教程,旨在通过一系列文章分享他在 Nginx 方面的经验和技术。该系列文章涵盖了多个方面,例如 Nginx 变量的详细介绍、配置指令的执行顺序等内容。这些文章不仅适合...

    Nginx模块开发OpenResty简单使用笔记整理.zip

    **最牛**的还是由淘宝的工程师清无(王晓哲)和春来(章亦春)所开发的[nginx_lua_module]可以将Lua语言嵌入到Nginx配置中,从而利用Lua极大增强了Nginx本身的编程能力,甚至可以不用配合其它脚本语言(如PHP或...

    黑马23期Linux+Nginx笔记

    黑马23期Linux+Nginx 的笔记,介绍如何搭建Nginx环境(Linux下)

    Nginx学习笔记.zip

    这个“Nginx学习笔记.zip”压缩包文件包含了一系列关于Nginx的教程资源,分别命名为“第1节课”到“第5节课”,暗示着一个逐步深入的学习过程。 在第一节课中,我们通常会了解Nginx的基本概念和安装步骤。Nginx的...

    nginx项目源码学习及笔记.zip

    nginx项目源码学习及笔记.zip

    Nginx第二天学习笔记

    Nginx第二天学习笔记

    Nginx第一天学习笔记

    Nginx第一天学习笔记

    Nginx第三天学习笔记

    Nginx第三天学习笔记

    Nginx-日志(MD笔记)

    Nginx-日志(MD笔记)

    Nginx动静分离(MD笔记)

    Nginx动静分离(MD笔记)

    nginx笔记+资料

    nginx笔记+资料

    nginx学习笔记(软件+学习笔记)

    nginx学习笔记(软件+学习笔记) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! nginx学习笔记(软件+学习笔记) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! nginx学习笔记(软件+学习笔记) ...

    nginx笔记.zip

    **Nginx基础概念** Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。它的设计目标是高并发、低内存占用以及稳定可靠。...阅读"nginx笔记.pdf",可以更详细地了解Nginx的配置和使用技巧。

    nginx学习笔记.zip

    **Nginx学习笔记概述** Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器。它以其稳定性、高性能以及丰富的模块配置而受到广泛赞誉,常用于网站的负载均衡、静态文件处理和SSL加密等场景。本学习...

    nginx 笔记和资料

    **Nginx简介** Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器,由伊戈尔·赛索耶夫(Igor ...提供的“nginx笔记+资料”压缩包应该包含了更详细的信息,可以帮助你进一步掌握Nginx的相关知识。

    nginx视频教程+笔记+相关资料

    nginx视频教程,包括日志管理,location,并发,集群等相关内容,包含笔记

    nginx笔记笔记笔记

    **Nginx 知识点详解** Nginx 是一款高性能的 HTTP 服务器,它以其轻量级的内存占用和高并发能力而著名。作为一款反向代理服务器,Nginx 不仅能提供静态文件服务,还能进行动态请求的转发,实现负载均衡,以及隐藏...

    nginx课程笔记文件.zip

    里面有关于nginx所有的配置具体的介绍,其中有nginx怎样配置负载均衡,图片服务器,资源压缩,黑白名单限制,websocket反向代理,rewrite重写规则,服务器缓存设置,ssl证书配置,keepalive部署nginx集群,openResty...

    nginx1.8和入门笔记.zip

    Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例...

Global site tag (gtag.js) - Google Analytics