[Other] hello nginx

1. 安装nginx

$ brew install nginx

nginx安装路径为,/usr/local/Cellar/nginx/1.12.2_1/bin/nginx

2. 启动

$ nginx

3. 新建配置文件

nginx配置文件位于/usr/local/etc/nginx/文件夹中,
其中,/usr/local/etc/nginx/nginx.conf是主配置文件。

我们一般会将服务器对应不同网站的配置,
放到/usr/local/etc/nginx/servers/文件夹中。

例如,新建/usr/local/etc/nginx/servers/test.conf文件,

server {
    # 监听的端口号
    listen 8081;    

    server_name localhost;

    # localhost:8081/ 访问的根目录,必须写绝对路径
    root /Users/thzt/Test/test-nginx/;

    charset utf-8;    

    location / {
        index index.html;
    }
}

并在/Users/thzt/Test/test-nginx/文件夹,添加index.html

4.重新加载配置

$ nginx -s reload

5. 浏览器访问

使用浏览器打开,http://localhost:8081/,
将展示出/Users/thzt/Test/test-nginx/index.html文件的内容。

注:
nginx本身自带web server的功能,
不需要再在/Users/thzt/Test/test-nginx/目录下启动一个web server。

6. rewrite

修改/usr/local/etc/nginx/servers/test.conf配置文件,

server {
    listen 8081;

    # 不mock manage首屏展示
    location ^~ /manage/index.html {
        proxy_pass http://127.0.0.1:7001;
    }

    # 不mock manage页面发送的请求
    location ^~ /demo/ {         
        proxy_pass http://127.0.0.1:7001;
    }

    # 将8081端口的“/mock/page/”请求,转发到7001端口
    # 自动携带原请求的查询参数
    location ^~ /mock/page/ {         
        proxy_pass http://127.0.0.1:7001;
    }

    # 语法:rewrite 规则 定向路径 重写类型 ;
    # 将http://localhost:8081/xxx.json的请求,
    # 转发到http://127.0.0.1:7001/mock/ajax/?url=xxx.json
    location ~* \.json$ {
        rewrite (/.*\.json)$ http://127.0.0.1:7001/mock/ajax/?url=$1 redirect;
    }
}

7. log地址

/usr/local/var/log/nginx/error.log

参考

nginx documentation

你可能感兴趣的:([Other] hello nginx)