nginx初相识

在本机上下载了一个nginx,版本为1.14.0。

安装:

对于安装比较简单,下载后解压到指定目录,目录结构如下

启动:

  • 最简单的直接双击nginx.exe,有黑窗一闪而过,不要怀疑,看一下logs的错误日志,如果没报错的话其实你已经启动成功了;
  • 打开命令行,进入到nginx的目录,执行start nginx,同理,错误日志未报错的话启动成功

如果实在不放心地话,可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功:

关闭:

如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx:

  • 输入nginx命令:nginx -s stop (快速停止nginx)  或  nginx -s quit (完整有序的停止nginx);
  • 使用命令:taskkill /f /t /im nginx.exe

我们使用nginx,一是用来做服务器,访问静态资源,二是做负载均衡。

负载均衡:

我们可以修改nginx的配置文件nginx.conf 达到访问nginx代理服务器时跳转到指定服务器的目的,即通过proxy_pass 配置请求转发地址,即当我们依然输入http://127.0.0.1:80 时,请求会跳转到我们配置的服务器。

    #负载均衡
    upstream target {
        server localhost:8080 weight=1 max_fails=2 fail_timeout=600s;
        #server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=600s;
    }
    #代理服务器
    server {
        listen       80;
        #不能同时代理同一台服务器(与上面的localhost不能一样)
        server_name  127.0.0.1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #输入localhost:80后会跳转到上面的upstram target
            proxy_pass http://target;
        }
    }

比如,我输入http:127.0.0.1:80/ls2017,实际访问的是http://localhost:8080/ls2017。

访问静态资源:

将静态资源(如jpg|png|css|js|html等)放在如下配置的E:/nginx-1.14.0/html目录下,然后在nginx配置文件中做如下配置(注意:静态资源配置只能放在 location / 中),浏览器中访问  http://localhost:80/index.html 即可访问到 E:/nginx-1.14.0/html目录下的 index.html。

    #静态资源
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   E:/nginx-1.14.0/html;
            index  index.html;
        }
}

 根据应用上下文转发:

        location / {
            root   html;
            index  index.html index.htm;
            if ($request_uri ~* ^/sjbzgl(.*)$) {
                set $bucketid $1;
                proxy_pass http://10.111.30.10:8589/sjbzgl$bucketid;
            }

            if ($request_uri ~* ^/gtax(.*)$) {
                set $bucketid $1;
                proxy_pass http://10.111.30.75:8082/gtax$bucketid;
            }
        }
原文地址:https://www.cnblogs.com/caozx/p/10677313.html