当前位置: 首页 > 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.hkea.cn/news/14344304/

相关文章:

  • 百度指数平台广东培训seo
  • 企业网站的首页网站内链优化的角度
  • 综合类网站怎么做微信朋友圈广告在哪里做
  • 厦门市网站建设wordpress微论坛主题
  • 锦州建设局网站虚拟邮箱注册网站
  • 湖南营销型企业网站开发手机网站建设动态
  • 自己做的网站用别的电脑怎么访问长沙网站制作品牌
  • 爱站网反链查询网站公司的客户怎么来
  • 制作网站的公司哪家比较好申请域名步骤
  • 河南省建设厅专业业务系统网站营销型wordpress模板下载
  • 容桂网站设计制作平面广告作品分析
  • 推荐做幻灯片搜图网站搜索网站大全排名
  • 搭建网站需要什么技术一元夺宝网站建设
  • 学vue可以做pc网站菏泽网架公司
  • 网站服务器++免费手机网站怎么dw做
  • 网站打开的速度特别慢的原因网站建设 大纲
  • 你去湖北省住房城乡建设厅网站查iosapp开发用什么语言
  • 宝塔做两个网站6开公司要做哪些准备
  • 网站建设公司的发展前景乐山做网站
  • 网站建设教程哪个好如何做网盟推广网站
  • 广州公司注册代理公司注册服务苏州seo关键词优化方法
  • dw手机销售网站制作c# 手机版网站开发
  • 怎么用vs2008做网站网站空间如何选择
  • 百度关键词查询网站php音乐外链网站源码
  • 佛山网站建设电话西部数码网站管理助手2.0
  • 百度手机网站优化指南济南网站推广哪家好
  • 品牌企业网站建设公司软件开发工程师中级职称
  • 网站开发购物店找个免费网站这么难吗
  • ftp上传文件到网站网站响应式和非响应式
  • 辽源网站建设免费网页制作软件哪里找