我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

Nginx笔记-----YangH

Nginx常用命令教程_Nginx负载均衡配置_nginx做负载均衡

一、Nginx 常用命令

//进入nginx的目录下
启动nginx服务,可选择使用nginx命令,或通过brew管理工具启动,亦或是直接运行start nginx指令。
终止:执行nginx -s stop命令或通过brew services stop nginx操作。
安全退出:nginx -s quit
检查配置文件:nginx -t
重新加载配置文件:nginx -s reload
查看nginx进程:grep nginx

二、Nginx的使用

此处所记录的是整体设置,随着worker_processes数值的增加,系统所能承受的并发操作数量相应提升,然而,这一能力仍受限于硬件软件等设备的性能。
worker_processes  1;  
events {
    # 每个进程能够接受的最大连接数
    worker_connections  1024;
}
http {
    include       mime.types;
默认类型为,应用数据流格式;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8070;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
错误页面设置为500、502、503、504,并指向/50x.html文件进行处理。
        location = /50x.html {
            root   html;
        }
    }
}

三、示例三:负载均衡案例,编号3.1;负载均衡的命名规范,编号3.2;访问链接为http://,后跟负载均衡的名称3.3;调优方案包括,编号1,轮询策略。

# 权重都一样,按照顺序依次转发
  upstream myserver {
    server 192.168.31.212:8081;
    server 192.168.31.212:8082;
}

2、

依据用户访问的IP地址生成的哈希值进行服务器的分配,确保每位用户始终访问固定的后端服务器,此方法有助于解决多个应用程序服务器间session的复制与同步难题。
  upstream myserver {
      ip_hash;
      server 192.168.31.212:8081;
      server 192.168.31.212:8082;
  }

3、 : 权重。

# weight代表权重
  upstream myserver {
      ip_hash;
服务器地址为192.168.31.212,端口号为8081,权重设置为10。
服务器地址为192.168.31.212,端口号为8082,权重设置为5。
  }

4、fair

# 按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream myserver {
      server 192.168.31.212:8081;
      server 192.168.31.212:8082;
      fair;
  }

5、

# 把请求转发给连接数较少的后端应用程序服务器
upstream myserver {
      leact conn
      server 192.168.31.212:8081;
      server 192.168.31.212:8082;
  }

6、使用示例(以权重为例)

    upstream myserver {
        #weight代表权重
服务器地址为192.168.31.212,端口号为8081,权重设置为10。
服务器地址为192.168.31.212,端口号为8082,权重设置为5。
    }
    server {
        listen       8070;
        server_name  localhost;
        location / {
            proxy_pass   http://myserver;
            index  index.html index.htm;
    }

四、动静分离(代理Vue项目)4.1、root

server {
              listen 9014;
              server_name localhost;
              location / {
                 root  D:/progect/dist/;
                 index login.html login.htm;
启用自动索引功能;#展示当前目录下的文件信息,并以索引列表的形式呈现。开启状态用“on”表示,关闭状态用“off”表示。
               }
        }

4.2、alias和root的区别

server {
              listen 9014;
              server_name localhost;
              location /test/ {
                 root  D:/progect/dist/;
                 index login.html login.htm;
               }
        }
root在location代理中指定的路径,将会被附加到,从而形成实际访问文件的完整路径:
# 将test拼接到地址中。
请勿访问该网址:http://127.0.0.1:9014/test/login.html,该页面目前处于禁止访问状态。
代理服务器位置:位于D盘下的progect文件夹中,具体路径为dist目录下的test子目录,其中包含的文件名为login.html。

server {
              listen 9014;
              server_name localhost;
              location /test/ {
                 alias  D:/progect/dist/;
                 index login.html login.htm;
               }
        }
别名:在位置代理中,该路径不会与实际访问文件的路径相连接。
# 不将test拼接到地址中。
# 用户访问:http://127.0.0.1:9014/test/login.html
代理服务器地址位于:D:/progect/dist目录下的login.html文件。

4.3、在将vue项目代理至别名路径的过程中,首先需要在vue项目中的vue.js文件内进行路径的调整,具体操作是将路径修改为//。

const path = require("path");
引入路径模块自“path”文件。
module.exports = {
  publicPath: "/project/",
  // 选项...
  devServer: {
    open: true, // 设置自动打开
    port: 8080, // 设置端口号
主机地址为:192.168.0.124,该IP属于本地网络。
    // hotOnly: true, // 热更新
禁用主机检查功能:开启此项设置,可消除无效主机头信息的问题。
    proxy: {
      //设置代理
      "/connect": {
目标网址为:https://open.weixin.qq.com,请勿修改。
        changeOrigin: true,
若需启用代理功能以处理 websockets,请确保设置此参数。
确保:不启用,//若涉及HTTP协议的接口,此参数需进行设置。
        pathRewrite: {
          "^/": "",
        },
      }
    },
  },
  configureWebpack: {
    resolve: {
      alias: {
        //这里配置了components文件的路径别名
        "@": resolve("src"),
组件部分:从"src/components"目录中解析。
      },
    },
  },
};

2、文件夹中index.js文件中修改base为‘//’

定义一个名为router的新对象,该对象是通过VueRouter构造函数创建的,并包含了以下配置:{
  mode: "history",
  // mode: "hash",
基础路径:若环境变量NODE_ENV的值为"development",则使用斜杠;否则,使用斜杠加"project"目录。
  routes,
});

3、nginx中代理配置

 server {
        listen       80;
服务器名称设定为www.coderkey.com,不得更改。
        #charset koi8-r;
配置访问日志,将其记录至“logs/host.access.log”文件,并应用主配置。
        location / {
            root  F:/parant/dist;
尝试使用请求的路径,若路径不存在则尝试使用路径加斜杠,若仍不存在则默认显示首页index.html。
        }
 
        location /project {
            alias  F:/subparant/dist;
尝试使用文件 $uri,若不存在则尝试 $uri/,若仍未找到,则显示 /project/index.html。
            index  index.html;
        }

五、结尾的:”/“

在nginx中进行的是模糊匹配

“/” 就像一个标识符,的模糊匹配只能匹配标识符后面的内容

六、结尾加/的区别1、结尾不加:"/"

server {
        listen       8070;
        server_name  localhost;
        location /test/ {
代理转发至地址,http://127.0.0.1:9014,分号结束。
            index  index.html index.htm;
            proxy_redirect    off;
设置代理头信息 X-Forwarded-For 为 $proxy_add_x_forwarded_for 的值;
设置代理头部 X-Real-IP 为客户端的远程地址,以分号结束。
设置代理头部信息,主机名为 $http_host;
代理连接超时时间设置为1秒,即nginx与后端服务器建立连接时,若超过1秒钟未能成功连接,则视为超时。
代理发送超时时间设定为30秒,即后端服务器数据返回的时间限制。
设置代理读取超时时间为60秒;自连接建立后,若后端服务器未在规定时间内响应,则代理将终止接收数据。
    }
// 此时的url会自动拼接location对应的url
实际请求的路径由proxy_pass和location这两个地址共同构成。
请勿访问该网址:http://127.0.0.1:8070/test/user/getUserInfo,该链接涉及用户信息获取操作。
代理服务器地址为http://127.0.0.1:9014,路径指向/test/user,具体操作为获取用户信息。

2、结尾加"/"

在指定URL的末尾添加斜杠“/”,这样该URL就不会与后续的URL进行连接。

server {
        listen       8070;
        server_name  localhost;
        location /test/ {
设置代理服务器转发至本地地址,端口号为9014,路径为http://127.0.0.1:9014/,操作以分号结束。
            index  index.html index.htm;
            proxy_redirect    off;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  Host $http_host;
            proxy_connect_timeout 1;
            proxy_send_timeout 30;
            proxy_read_timeout 60;
    }
在拼接过程中,位于location指令下的URL地址不会被附加到proxy_pass指令指定的URL之后。
# 不将test拼接到地址中
# 用户访问:http://127.0.0.1:8070/test/user/getUserInfo
代理服务器地址为http://127.0.0.1:9014,该地址用于执行/user/getUserInfo路径下的用户信息获取操作。

七、禁止文件下载

location ~ \.(txt|pdf|doc)$ {
    deny all;
}

二维码
扫一扫在手机端查看

本文链接:https://www.by928.com/shan-xi/9984.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线