当前位置: 首页 > news >正文

网站建设竞标书苏州园科生态建设集团网站

网站建设竞标书,苏州园科生态建设集团网站,网站开发语言哪个好,三个字简洁的公司名称文章目录 01. Nginx 虚拟主机怎么配置?02. Nginx location 指令的作用#xff1f;03. Nginx location 指令如何与其他指令一起使用#xff1f;04. Nginx root 命令的作用#xff1f;05. Nginx if 模块的作用#xff1f;06. Nginx include 指令的作用#xff1f;07. Nginx… 文章目录 01. Nginx 虚拟主机怎么配置?02. Nginx location 指令的作用03. Nginx location 指令如何与其他指令一起使用04. Nginx root 命令的作用05. Nginx if 模块的作用06. Nginx include 指令的作用07. Nginx location 指令的语法08. Nginx 如何禁止访问某个目录?09. Nginx 如何定义错误页面10. Nginx error_page 指令的作用11. Nginx 中500、502、503、504 有什么区别12. Nginx 如何精准匹配路径13. Nginx 路径匹配优先级?14. Nginx rewrite 常用的全局变量 01. Nginx 虚拟主机怎么配置? ① 在Nginx的配置文件中添加一个server块用于定义虚拟主机的配置信息。例如 server {listen 80;server_name example.com;root /var/www/example.com;index index.html; }其中listen指定监听的端口号server_name指定虚拟主机的域名root指定虚拟主机的根目录index指定默认的首页文件。 ② 如果需要支持多个虚拟主机则需要在Nginx的配置文件中添加多个server块每个server块对应一个虚拟主机的配置信息。 ③ 配置完成后需要重新加载Nginx的配置文件使其生效。可以使用以下命令 sudo nginx -t # 检查配置文件是否正确 sudo systemctl reload nginx # 重新加载配置文件02. Nginx location 指令的作用 在 Nginx 中location 指令用于匹配请求的 URL 路径并指定相应的配置指令。它可以用来控制 Nginx 如何处理不同的请求 URL。 具体来说location 指令可以用来 ① 指定不同的反向代理服务器或 FastCGI 服务器以便处理不同的请求 URL。 ② 指定不同的文件系统路径以便 Nginx 可以提供静态文件服务。 ③ 指定不同的缓存策略以便 Nginx 可以缓存不同的请求 URL。 ④ 指定不同的安全策略以便 Nginx 可以对不同的请求 URL 进行访问控制。 在 Nginx 配置文件中location 指令通常与其他指令一起使用例如 proxy_pass、root、try_files、expires 等。通过合理使用 location 指令可以使 Nginx 更加灵活和高效地处理不同的请求 URL。 03. Nginx location 指令如何与其他指令一起使用 在 Nginx 中location 指令用于匹配请求的 URI并定义如何处理这些请求。location 指令可以与多个其他指令一起使用包括 proxy_pass、root、try_files 和 expires 指令。 ① 使用 proxy_pass 指令将请求代理到另一个服务器 location /api {proxy_pass http://backend_server; }② 使用 root 指令指定文件根目录并使用 try_files 指令查找文件 location /static/ {root /var/www;try_files $uri $uri/ 404; }③ 使用 expires 指令设置缓存过期时间 location /static/ {expires 1d; }需要注意的是location 指令的匹配顺序是按照配置文件中出现的顺序进行的。因此如果有多个 location 指令匹配同一个 URI将使用第一个匹配的指令。如果没有匹配的指令则使用默认的 location 指令。 04. Nginx root 命令的作用 在 Nginx 中root 指令用于指定服务器的根目录。具体来说它指定了 Nginx 服务器在处理客户端请求时查找文件的根目录。当客户端请求的 URL 中包含文件路径时Nginx 会在 root 指定的目录下查找该文件。 例如如果 root /var/www/html而客户端请求的 URL 是 http://example.com/index.html那么 Nginx 会在 /var/www/html/index.html 中查找该文件。如果在 Nginx 的配置文件中没有指定 root 指令或者指定的目录不存在或不可读Nginx 将无法找到请求的文件从而返回 404 错误。 需要注意的是root 指令只能在 http、server 或 location 块中使用。在 http 块中使用 root 指令会影响所有的 server 块而在 server 或 location 块中使用 root 指令则只会影响该块中的请求。 例如公司的 nginx-conf 文件中配置的 root 指令 server {listen 80 default_server;listen [::]:80 default_server;server_name _;root /usr/share/nginx/html;//... }① listen 指令用于指定服务器监听的端口号和协议这里监听的是 80 端口同时支持 IPv4 和 IPv6。 ② server_name 指令用于指定服务器的域名这里使用了通配符 _表示匹配所有域名。 ③ root 指令用于指定服务器的根目录这里设置为 /usr/share/nginx/html表示访问服务器时默认会访问该目录下的文件。如果您的nginx服务器接收到一个请求 http://example.com/index.htmlnginx将在 /usr/share/nginx/html/index.html 路径下查找该文件。 [rootmaster01 ~]# cd /usr/share/nginx/html [rootmaster01 html]# ll total 20 -rw-r--r--. 1 root root 3332 Jun 10 2021 404.html -rw-r--r--. 1 root root 3404 Jun 10 2021 50x.html -rw-r--r--. 1 root root 3429 Jun 10 2021 index.html -rw-r--r--. 1 root root 368 Jun 10 2021 nginx-logo.png -rw-r--r--. 1 root root 1800 Jun 10 2021 poweredby.png05. Nginx if 模块的作用 nginx的 if 模块是一个用于根据条件判断是否执行某些操作的模块。if模块可以根据请求的URI、请求方法、请求头、请求参数等条件进行判断并根据判断结果执行相应的操作如重定向、返回特定的HTTP状态码、设置响应头等。 if 模块的语法如下 if (condition) {// do something }其中condition是一个表达式可以是任何能够返回布尔值的表达式如比较运算符、逻辑运算符等。如果condition的值为true则执行if块中的代码否则跳过if块继续执行后面的代码。 需要注意的是if模块的使用应该尽量避免因为它会影响nginx的性能。在nginx中if模块的执行是在请求处理阶段进行的而请求处理阶段是在nginx的事件模型中的一个阶段它会阻塞其他请求的处理。因此如果if模块的使用不当会导致nginx的性能下降。建议使用其他模块如rewrite模块、map模块等来替代if模块。 nginx的 if 模块可以根据请求的URI、请求方法、请求头、请求参数等条件进行判断。具体的判断条件可以使用nginx提供的变量来实现 $uri请求的URI$request_method请求的方法$http_user_agent请求头中的User-Agent字段$arg_xxx请求参数中的xxx字段 ① 例如限制 HTTP 请求方法只能是 GET、POST、PUT、DELETE 或 PATCH如果请求方法不在这些范围内就返回 403 状态码表示禁止访问。 if ($request_method !~ ^(GET|POST|PUT|DELETE|PATCH)$ ) {return 403; }② 例如判断请求的URI以/api/开头并且请求方法为POST如果满足条件则执行if语句中的代码块 if ($uri ~* ^/api/ $request_method POST) {# 处理/api/开头的POST请求 }06. Nginx include 指令的作用 Nginx的include指令用于在Nginx配置文件中包含其他文件的内容。这个指令可以让你将一个大的配置文件分成多个小的文件使得配置文件更加易于维护和管理。 使用include指令你可以将其他文件中的配置内容包含到主配置文件中这些文件可以是任何文本文件包括其他Nginx配置文件、shell脚本、环境变量等等。这个指令可以在任何Nginx配置块中使用包括http、server和location等。 ① 例如你可以在Nginx的http块中使用include指令来包含其他文件中的配置内容 http {include /etc/nginx/conf.d/*.conf; }这个例子中Nginx会在/etc/nginx/conf.d/目录下查找所有以.conf结尾的文件并将它们的内容包含到http块中。 ② 例如通过 include 指令引入了 /etc/nginx/default/view.conf 文件中的配置信息 server {include /etc/nginx/default/view.conf; }07. Nginx location 指令的语法 nginx中location指令用于匹配请求的URI并指定相应的处理方式。其语法如下 location [ | ~ | ~* | ^~ ] uri {... }其中location为指令名称uri为要匹配的URI。、~、~*、^~为匹配符号具体含义如下 精确匹配只有当请求的URI与指定的uri完全相同时才匹配成功。~区分大小写的正则表达式匹配。~*不区分大小写的正则表达式匹配。^~普通字符匹配如果请求的URI以指定的uri开头则匹配成功。 在location块中可以指定一系列指令来处理匹配成功的请求例如 proxy_pass、root、alias等。如果有多个location块匹配成功则会按照定义的顺序选择第一个匹配成功的location块进行处理。 ① 示例 location /AUTH/api/v2/login {deny all; }它的作用是禁止所有用户访问 /AUTH/api/v2/login 这个路径下的资源。具体来说它使用了 deny all 指令表示拒绝所有用户的访问请求。这个指令通常用于保护敏感的登录接口确保只有授权的用户才能够访问。 ② 示例 location /AUTH/api/v2/users/inner/exact {deny all; }用于限制访问 /AUTH/api/v2/users/inner/exact 这个 URL 路径的资源。具体来说它使用了 deny 指令表示拒绝所有访问该路径的请求。因此任何尝试访问该路径的请求都将被拒绝并返回一个 403 Forbidden 的 HTTP 响应。 ③ 示例 location /BFF/api/v1/auth/login {proxy_pass http://bff.platform.svc.cluster.local:8082$request_uri;proxy_set_header Current-Project-Id fx-projec-62c5c5b97c631a7d274fb1; }用于将请求转发到名为bff.platform.svc.cluster.local的后端服务的特定路径/BFF/api/v1/auth/login。其中$request_uri变量表示原始请求的URI会被传递给后端服务。此外还设置了一个名为Current-Project-Id的HTTP头其值为fx-projec-62c5c5b97c631a7d274fb1用于向后端服务传递当前项目的ID。 ④ 示例 location ~ ^/BFF/api/v[0-9] {proxy_pass http://bff.platform.svc.cluster.local:8082; }它的作用是将以/BFF/api/v[0-9]开头的请求代理到 http://bff.platform.svc.cluster.local:8082这个地址。 具体来说这个配置使用了正则表达式^/BFF/api/v[0-9]来匹配请求的URL其中^表示匹配URL的开头/BFF/api/是固定的路径v[0-9]表示以v开头后面跟着一个或多个数字的字符串。例如/BFF/api/v1、/BFF/api/v2等都会被匹配。 当匹配成功后proxy_pass指令会将请求代理到http://bff.platform.svc.cluster.local:8082这个地址也就是将请求转发给了一个名为bff的后端服务。 ⑤ 示例 location ~ ^/PORTAL/api/v4 {proxy_pass http://portal-go.platform.svc.cluster.local:8082; }它的作用是将所有以/PORTAL/api/v4开头的请求转发到http://portal-go.platform.svc.cluster.local:8082这个地址。 具体来说~表示使用正则表达式匹配URL^表示匹配URL的开头/PORTAL/api/v4是要匹配的URL的正则表达式proxy_pass指令表示将匹配到的请求转发到指定的地址。在这个例子中所有匹配到的请求都会被转发到http://portal-go.platform.svc.cluster.local:8082这个地址。 ⑥ 示例 # 开放oauth2 client相关的接口 location ~ ^/AUTH/api/v1/oauth2/client {proxy_pass http://auth:8081; }它将所有以/AUTH/api/v1/oauth2/client开头的请求代理到http://auth:8081这个地址。这个配置的作用是开放OAuth2客户端相关的接口让客户端可以通过这个接口与认证服务器进行交互完成OAuth2的认证流程。具体的接口实现需要在http://auth:8081这个地址上进行。 ⑦ 示例 location ~ ^/soc/[-A-Za-z0-9]/api/v[0-9] {# 禁止通过nginx直接访问AUTH的接口if ($request_uri ~* ^/soc/AUTH/api) {return 403;}#合并bigscreen和overview到report微服务的转发if ($request_uri ~* ^/soc/(BIGSCREEN|OVERVIEW|REPORT)/api) {proxy_pass http://report.platform.svc.cluster.local:8101;}if ($request_uri ~* ^/soc/LINKAGE/api) {proxy_pass http://linkage:8130;}#合并VULNERABILITY和NOTIFICATION到INCIDENT微服务的转发if ($request_uri ~* ^/soc/(VULNERABILITY|NOTIFICATION|INCIDENT)/api) {proxy_pass http://incident:8091;}if ($request_uri ~* ^/soc/VIEW/api) {proxy_pass http://view.platform.svc.cluster.local:8122;} }用于匹配以/soc/开头后面跟着一个由字母、数字和破折号组成的字符串再接着/api/v后面跟着一个数字的请求路径。该配置中包含了一些规则 禁止直接访问AUTH的接口如果请求路径中包含/soc/AUTH/api则返回403错误。将BIGSCREEN、OVERVIEW和REPORT的请求转发到 report.platform.svc.cluster.local:8101。将LINKAGE的请求转发到 linkage:8130。将VULNERABILITY、NOTIFICATION和INCIDENT的请求转发到 incident:8091。将VIEW的请求转发到 view.platform.svc.clustaer.local:8122。 这些规则可以根据实际需求进行修改和扩展。 08. Nginx 如何禁止访问某个目录? 可以通过在 Nginx 的配置文件中添加如下指令来禁止访问某个目录 server {listen 80;server_name example.com;location /path/to/directory {deny all;}# 其他配置项 }其中/path/to/directory 是要禁止访问的目录路径。deny all 指令表示拒绝所有访问该目录的请求。当用户访问 example.com/path/to/directory 时Nginx 会返回 403 Forbidden 错误表示禁止访问该目录。 09. Nginx 如何定义错误页面 在Nginx中可以通过配置错误页面来定义错误提示页面。具体步骤如下 ① 打开Nginx配置文件一般为/etc/nginx/nginx.conf。 ② 在http块中添加以下代码 error_page 404 /404.html; location /404.html {root /usr/share/nginx/html;internal; }上述代码中error_page指定了错误码为404时的错误页面路径为/404.htmllocation指定了该路径对应的本地文件路径为/usr/share/nginx/html/404.html。 ③ 保存配置文件并重启Nginx服务。 这样当访问的页面不存在时Nginx就会自动跳转到定义的404错误页面。同样的也可以定义其他错误码的错误页面只需要在http块中添加相应的error_page和location配置即可。 10. Nginx error_page 指令的作用 server {listen 80;server_name example.com;root /usr/share/nginx/html;error_page 404 /404.html;location /40x.html {} }root 指定了服务器的根目录为 /usr/share/nginx/html。error_page 404 /404.html 指定了当访问的页面不存在时返回 /404.html 页面。location /40x.html {} 指定了当访问的页面为 /40x.html 时不做任何处理。 在这个Nginx服务器配置中root指令指定了Nginx服务器的根目录即服务器上存储网站文件的主目录。root指令将网站文件的根目录设置为/usr/share/nginx/html。这意味着当用户访问example.com时Nginx服务器将在/usr/share/nginx/html目录中查找网站文件并将其提供给用户。如果在该目录中找不到请求的文件Nginx服务器将返回一个404错误页面该页面的位置由error_page指令指定。 11. Nginx 中500、502、503、504 有什么区别 这些状态码都是指向 Nginx 服务器的错误响应具体区别如下 ① 500表示服务器内部错误通常是由于 Nginx 无法处理请求而导致的。这可能是由于配置错误、程序错误或其他问题引起的。 ② 502表示网关错误通常是由于 Nginx 作为代理服务器时无法从上游服务器如应用服务器获取响应而导致的。这可能是由于上游服务器故障、网络问题或其他问题引起的。 ③ 503表示服务不可用通常是由于 Nginx 无法处理请求因为服务器过载或正在进行维护。这可能是由于服务器资源不足、应用程序错误或其他问题引起的。 ④ 504表示网关超时通常是由于 Nginx 作为代理服务器时无法在预定时间内从上游服务器如应用服务器获取响应而导致的。这可能是由于上游服务器响应时间过长、网络问题或其他问题引起的。例如程序需要执行20秒而nginx最大响应等待时间为10秒这样就会出现超时。 总的来说这些状态码都表示服务器或代理服务器无法正常处理请求但具体原因可能不同。在排除问题时需要根据具体的状态码和错误信息来确定问题的根本原因。 12. Nginx 如何精准匹配路径 Nginx可以使用location指令来精准匹配路径。具体来说可以使用以下几种方式 ① 精确匹配使用“”前缀例如 location /path/to/resource {匹配精确路径 /path/to/resource }② 前缀匹配使用“^~”前缀例如 location ^~ /path/to/ {# 匹配以 /path/to/ 开头的路径 }③ 正则表达式匹配使用“”或“*”前缀例如 location ~* \.(gif|jpg|jpeg)$ {匹配以 .gif、.jpg 或 .jpeg 结尾的路径 }需要注意的是Nginx会按照配置文件中location指令的顺序依次匹配请求的路径因此应该将精确匹配放在前面以避免被前缀匹配或正则表达式匹配覆盖。 13. Nginx 路径匹配优先级? 在 Nginx 中路径匹配的优先级如下 ① 精确匹配如果请求 URI 与某个 location 指令的前缀完全匹配则使用该 location 指令处理请求。 ② 前缀匹配如果请求 URI 以某个 location 指令的前缀开头则使用该 location 指令处理请求。 ③ 正则表达式匹配如果请求 URI 与某个 location 指令的正则表达式匹配则使用该 location 指令处理请求。 如果有多个 location 指令匹配请求 URI则使用最长的前缀匹配或正则表达式匹配的 location 指令处理请求。如果有多个最长匹配的 location 指令则使用先定义的 location 指令处理请求。 需要注意的是如果使用了 rewrite 指令则重写后的 URI 会再次进行路径匹配因此可能会匹配到不同的 location 指令 14. Nginx rewrite 常用的全局变量 Nginx rewrite 常用的全局变量包括 $args请求中的参数部分例如 /index.php?id1 中的 id1。 $uri请求的 URI例如 /index.php。 $request_uri请求的 URI 包括参数例如 /index.php?id1。 $request_method存放了客户端的请求方式如 get,post 等。 $request_filename存放当前请求的资源文件的路径名。 $document_root当前请求的文档根目录。 $request_filename当前请求的文件路径由 root 或 alias 指令与 URI 组合而成。 $host请求中的主机名例如 www.example.com。 $http_user_agent客户端浏览器的 User-Agent 字符串。 $http_referer客户端浏览器的 Referer 字符串表示用户是从哪个页面链接过来的。 $remote_addr客户端的 IP 地址。 $server_name当前请求的服务器名。 $server_port当前请求的服务器端口号。这些变量可以在 Nginx 的 rewrite 模块中使用用于重写 URL 或者进行其他的操作。例如可以使用 $uri 变量来重写 URL或者使用 $http_user_agent 变量来根据客户端浏览器类型进行不同的处理。
http://www.zqtcl.cn/news/852065/

相关文章:

  • 校园网站建设资金来源有wordpress权重
  • 魔站网站开发wordpress 3.3.1
  • 东莞个人免费建网站网站后台管理系统 asp
  • 呼和浩特网站制作 建设wordpress怎么改中文
  • 银医网站建设方案公司网站模板免费下载
  • 优秀网站设计案例中国网站建设东莞公司
  • 自己的公网ip可以做网站网页设计与制作课程思政建设内容
  • 静态网站 搜索搭建织梦网站教程
  • idc 网站备案手机电脑网站建设短视频
  • 做搜狗pc网站优化快速亚马逊云搭建WordPress
  • 免费的建网站软件2020做seo还有出路吗
  • 宁波三优互动网站建设公司怎么样网站建设公司管理流程图
  • 网站内文章外链如何做创新设计
  • 西安做网站公网站做友链有行业要求吗
  • 做现金贷网站的公司软件开发设计文档
  • 数据做图网站表示商业网站的域名
  • 网站备案单位备案老域名
  • 黔西南州建设局网站网站建设流程的过程
  • 河南龙王建设集团网站沈阳专业建站
  • 百度网盘app下载安装手机版百度排名优化咨询电话
  • 网站微信公众号链接怎么做免费访问国外网站的应用
  • 东莞网站搜索排名wordpress 小工具居中
  • 网上商城网站源码网站建站中关键字搜索怎么弄
  • 房地产开发公司网站源代码 墨绿色风格河北省建设项目环保备案网站
  • 有没有做机械加工的网站企业网站建站企业
  • 网站自创重庆宣传片制作
  • 如何做美发店网站世界上网站做的好的例子
  • 不会代码可以做网站维护吗成版年蝴蝶视频app免费
  • html5手机论坛网站模板支付商城网站制作
  • 自己主机做多个网站网站备案和服务器备案