下载 http://nginx.org/en/download.html nginx分为许多版本,一般使用稳定版

nginx放下载文件 nginx download_html

windows下载 最后一个,不要下第一个用不了

目录长这样

nginx放下载文件 nginx download_json_02


最后一个文件是自己写的关闭nginx的bat文件

@echo off

echo 正在结束Nginx及其子进程……

taskkill /T /F /IM nginx.exe

echo 操作完成!

pause

直接双击exe可以运行,访问地址如下,默认是本机的80端口,通常需要修改,改成未被占用的端口
nginx-conf 主要配置如下,其他的基本不用改
server {
listen 8081;
server_name localhost;

#charset koi8-r;  //字符集   utf-8  路径中能出现中文

    #access_log  logs/host.access.log  main;

    location / {
        root   html;  //加载静态资源的路径   这里是加载html文件夹下所有,相对路径以exe所在的路                                     // 径为参考点,而非本配置文件的所在地址
        index  index.html index.htm;  默认index主页  
    }

    #error_page  404              /404.html;  发生404错误加载的页面

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

完成以上配置就能在浏览器输入localhost:8081/路径 ,localhost;8081 访问到了html文件夹,直接进入接下来的文件夹,到你设置的index主页处,这样就能访问你工程的主页,剩下的页面路由,根据你使用的vue或者angular 框架决定,设置路由时,可以设置默认跳转路由,这样直接输 localhost:8081
就能跳转到默认路由的页面

关于nginx 代理

nginx最重要的是代理转发
以下定义了服务器地址,一个是本机的,另一个是远程的,怎么知道什么时候发远程什么时候发本地呢,一般本地测试时需要发本地,读取本的json文件,里面存着假数据用于页面效果显示,实现简单的demo功能,远程则是真正的和后台交互,这里是通过上下文区分的

upstream localProxy {
 server 127.0.0.1:8083;
 }
 upstream serverProxy {
 server 10.1.1.38:9076;
 }
 //以下是pmobile和local上下文,就是发的。do交易名,也可以不以 .do结尾看后台约定 这个交易名就是默认会在前面带的,一般是为了区分系统,后台可能会有多个系统,比如手机和pc 两套
 location /pmobile/ {
 proxy_pass http://serverProxy/pmobile/; proxy_redirect off;
 proxy_cookie_path /pmobile /pmobile;
 }
 //这里的发本地的交易,将.do交易重写为读取本地的json
 location /local/ {
 rewrite ^(.*).do$ $1.json last;
 proxy_pass http://localProxy/; proxy_redirect off;
 }nginx中也可以使用正则,这里的正则不用 / / 包裹起来,还添加了一部分特殊的
 ~: #表示在匹配过程中区分大小写字符,(可以通过正则表达式匹配),满足匹配条件为真,不满足为假。
 ~: #表示在匹配过程中不区分大小写字符,(可以通过正则表达式匹配),满足匹配条件为真,不满足问假。
 !~:#区分大小写不匹配,不满足为真,满足为假,不满足为真。
 !~:#为不区分大小写不匹配,满足为假,不满足为真。
 ^~ :#如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。
 下面这个就是匹配 json文件 ,区分大小写,通常和读取本地的json一起使用,用来加载本地json文件
 location ~ (.*.json) {
 root …/static/data;
 default_type application/json;
 error_page 405 =200 $1;
 }