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

一站式网站建设平台做电商网站需要做什么准备

一站式网站建设平台,做电商网站需要做什么准备,什么是网站流量,建设一个网站需要用到几个语言Nginx处理请求的过程一共划分为11个阶段#xff0c;按照执行顺序依次是 post-read、server-rewrite、find-config、rewrite、post-rewrite、preaccess、access、post-access、try-files、content 以及 log。 准备工作#xff1a;host文件加入测试域名 sudo vi /etc/hosts 加入…Nginx处理请求的过程一共划分为11个阶段按照执行顺序依次是 post-read、server-rewrite、find-config、rewrite、post-rewrite、preaccess、access、post-access、try-files、content 以及 log。 准备工作host文件加入测试域名 sudo vi /etc/hosts 加入 127.0.0.1       www.liudehua.com 目录 阶段一 POST_READ 阶段二 SERVER_REWRITE 阶段三 FIND_CONFIG 阶段四 REWRITE 阶段五 POST_REWRITE 阶段六  PREACCESS  阶段七 ACCESS   阶段八  POST_ACCESS 阶段九  TRY_FILES 阶段十  CONTENT 阶段十一  LOG阶段 阶段一 POST_READ POST_READ阶段是nginx处理请求流程中第一个可以添加模块函数的阶段任何需要在接收完请求头之后立刻处理的逻辑可以在该阶段注册处理函数。 nginx源码中只有realip模块在该阶段注册了函数当nginx前端多了一个7层负载均衡层并且客户端的真实ip被前端保存在请求头中时该模块用来将客户端的ip替换为请求头中保存的值。 realip模块之所以在POST_READ阶段执行的原因是它需要在其他模块执行之前悄悄的将客户端ip替换为真实值而且它需要的信息仅仅只是请求头。一般很少有模块需要注册在POST_READ阶段realip模块默认没有编译进nginx。 nginx配置文件 server {   listen 80;   server_name www.liudehua.com;   set_real_ip_from 127.0.0.1;   real_ip_header x-real-ip; location / {      set $addr $remote_addr;      return 200 real-ip: $addr;    } } 错误 nginx: [emerg] unknown directive set_real_ip_from 解决办法加入realip模块重新编译 sudo ./configure  --prefix/home/tiger/nginx-1.22.1/nginx --with-stream --with-http_realip_module  sudo make make install 测试请求 curl -H x-real-ip: 1.2.3.4 http://www.liudehua.com/ real-ip: 1.2.3.4 说明 curl 工具的 -H 选项指定了额外的 HTTP 请求头 阶段二 SERVER_REWRITE SERVER_REWRITE阶段是nginx中第一个必须经历的重要phase请求进入此阶段时已经找到对应的虚拟主机server配置。在SERVER_REWRITE阶段中请求还未被匹配到一个具体的location中。 nginx配置文件 server {    listen 80;    server_name www.liudehua.com;    location /server_rewrite {      set $b $a, hello world;      return 200 args: $b;    }    set $a test_server_rewrite; } 请求 curl http://www.liudehua.com/server_rewrite 响应 args: test_server_rewrite, hello world 阶段三 FIND_CONFIG FIND_CONFIG阶段是寻找配置是根据uri查找location配置。 nginx配置文件 server {    listen 80;    server_name  www.liudehua.com;    location / { return 200 test FIND_CONFIG; } } curl http://www.liudehua.com test FIND_CONFIG 阶段四 REWRITE REWRITE阶段为location级别的重写。 nginx配置文件 server {    listen 80;    server_name www.liudehua.com;    location /rewrite {      root /home/tiger/nginx-1.22.1/nginx/html;      rewrite . /rewrite/index.txt break;    } } 请求 curl http://www.liudehua.com/rewrite 响应 ^_^ ^_^ ^_^ hello rewrite  阶段五 POST_REWRITE 该阶段不能注册handler仅仅只是检查上一阶段是否做了uri重写如果没有重写的话直接进入下一阶段如果有重写的话则利用next跳转域往前跳转到FIND_CONFIG阶段重新执行。Nginx对uri重写次数做了限制默认是10次 阶段六  PREACCESS  该阶段表明Nginx已经将请求确定到了某一个location(当该server没有任何location时也可能是server该阶段一般用来做资源控制默认情况下诸如ngx_http_limit_conn_modulengx_http_limit_req_module等模块会在该阶段注册handler 用于控制连接数请求速率等。PREACCESS阶段使用的checker是默认的ngx_http_core_generic_phase函数。 nginx配置文件 server {    listen 80;    server_name www.liudehua.com;    location /post_rewrite {            root /home/tiger/nginx-1.22.1/nginx/html;         limit_conn addr 1; #允许请求连接数         limit_rate 1k; #限定网络传输速率    } } 错误 nginx: [emerg] zero size shared memory zone addr 解决办法加入zone模块重新编译 server标签同级别增加如下配置 limit_conn_zone $binary_remote_addr zoneaddr:10m; 请求 curl http://www.liudehua.com/post_rewrite       阶段七 ACCESS   该阶段的首要目的是做权限控制默认情况下Nginx的ngx_http_access_module和ngx_http_auth_basic_module模块分别会在该阶段注册一个handler。 nginx配置文件 server {    listen 80;    server_name www.liudehua.com;    auth_basic User Authentication;    auth_basic_user_file /etc/nginx/.passwd-www;          location / {         root   /home/tiger/nginx-1.22.1/nginx/html;         index  index.html;     } } 测试安装工具htpasswd sudo apt install apache2-utils 添加认证文件 htpasswd -c /home/tiger/nginx-1.22.1/nginx/html/.passwd-www www 浏览器访问 http://www.liudehua.com/ 阶段八  POST_ACCESS POST_ACCESS和POST_REWRITE阶段一样只是处理一下上一阶段的结果而不能挂载自己的handler具体为如果ACCESS阶段返回了NGX_HTTP_FORBIDDEN或NGX_HTTP_UNAUTHORIZED记录在r-access_code字段该阶段会结束掉请求。 阶段九  TRY_FILES TRY_FILES阶段仅当配置了try_files指令时生效实际上该指令不常用它的功能是指定一个或者多个文件或目录最后一个参数可以指定为一个location或一个返回码当设置了该指令时TRY_FILES阶段调用checker函数ngx_http_core_try_files_phase来依此检查指定的文件或目录是否存在如果本地文件系统存在某个文件或目录则退出该阶段继续执行下面的阶段否则内部重定向到最后一个参数指定的location或返回指定的返回码。         该阶段也不能注册handler nginx配置文件 server {    listen 80;    server_name www.liudehua.com;          location / {         root /home/tiger/nginx-1.22.1/nginx/html;            try_files $uri /test.html /index.htm /index.html;     } } 以上配置会按顺序检查文件是否存在顺序$uri - /test.html - /index.htm  - /index.html 阶段十  CONTENT CONTENT 阶段任务是生成响应内容并输出HTTP响应。      content阶段包含三个静态资源服务模块ngx_indexngx_autoindexngx_static用于当在location未使用任何content阶段的指令时处理URL请求。ngx_index和ngx_autoindex只作用于已/结尾的URI其他由ngx_static执行。      ngx_index使用index指令用于查找首页文件配合root指令实现当找到文件后触发内部跳转而不是直接返回该文件若都不存在则返回403。 nginx配置文件 server {    listen 80;    server_name www.liudehua.com; root /home/tiger/nginx-1.22.1/nginx/html;         location / {         index index.txt;     } } 请求 curl  http://www.liudehua.com/ 响应 fdsssssssssssss 42333333 5433333333333 阶段十一  LOG阶段 LOG阶段主要的目的就是记录访问日志进入该阶段表明该请求的响应已经发送到系统发送缓冲区。另外这个阶段的handler链实际上并不是在ngx_http_core_run_phases函数中执行而是在释放请求资源的ngx_http_free_request函数中运行这样做的原因实际是为了简化流程因为ngx_http_core_run_phases可能会执行多次而LOG阶段只需要再请求所有逻辑都结束时运行一次所以在ngx_http_free_request函数中运行LOG阶段的handler链是非常好的选择。 备注参考 https://www.cnblogs.com/imcati/p/11681392.html
http://www.zqtcl.cn/news/926285/

相关文章:

  • 网站开发小程序快站模板
  • 江苏集团网站建设智慧养老网站开发
  • 外网网址可以做英语阅读的网站怎么原创视频网站
  • 宁波网站建设流程图自己做网站可以揽业务吗
  • 赤峰市建设网站东胜做网站
  • 有口碑的坪山网站建设微信扫一扫登录网站如何做
  • 自己建网站要花多少钱蓟县网站建设
  • 兖州中材建设有限公司网站wordpress免签约接口
  • 湖北网站seo设计成都疾控最新通告
  • 商丘网站建设推广公司配资网站建设多少钱
  • 手机网站怎么做SEO优化gzip压缩 wordpress
  • 上下框架 网站app营销的核心是什么
  • 网站开发哪里有培训wordpress 主题 网址导航
  • 深圳市宝安区怎么样百度禁止seo推广
  • 手机电商网站 模板常熟做网站优化
  • 免费的logo设计网站网页设计与制作dw
  • 线上调研问卷在哪个网站上做网页设计学生作业
  • 云南高端网站建设网页设计工作室选址依据
  • 免费的编程自学网站互联网公司网站建设ppt
  • 免费发帖的网站网站空间服务器费用
  • 商城类的网站一般怎么做做ps从哪个网站上下载图片大小
  • 怎么做网站链接支付免费推广网站搭建
  • 威海 网站建设刚刚北京传来重大消息
  • 深圳返利网站开发做网站版权怎么写
  • 上传网站内容做社交电商第一步怎么做
  • 网站icp查询系统wordpress 页面 首页
  • wordpress安装教程wamp搜索引擎优化的英文缩写是什么
  • 成都旅行社网站建设网站建设包含哪些方面
  • 找不到网站后台怎么办韩国网站域名分类
  • 建设商务网站作用积极参与网站信息建设工作