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

怎么把网站链接做二维码流量网站建设

怎么把网站链接做二维码,流量网站建设,制作地图的网站,长沙seo网站排名优化公司目录 一.http相关概述 1.mime 2.server下的listen及root 2.1 listen 2.2 root 3.alias别名 4.location相关概述 4.1 语法规则初步解释 5.access模块 6.验证模块 6.1 htpasswd 7.自定义错误页面 8.虚拟主机搭建 (yum安装) 一.http相关概述 h…

目录

一.http相关概述

1.mime

2.server下的listen及root

2.1 listen

2.2 root

3.alias别名

4.location相关概述

  4.1 语法规则初步解释

5.access模块

6.验证模块

6.1 htpasswd 

7.自定义错误页面

8.虚拟主机搭建 (yum安装)


一.http相关概述

http 是一个大的语句块,包含若干个小的语句块(比如server语句块)。

http {
   expires   1d;
   include       mime.types; #导入支持的文件类型,是相对于/apps/nginx/conf的目录
   default_type application/octet-stream; #除mime.types中文件类型外,设置其它文件默认类型,访问其它类型时会提示下载不匹配的类型文件
#日志配置部分
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    #                 '$status $body_bytes_sent "$http_referer" '
    #                 '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log logs/access.log main;
#自定义优化参数
   sendfile       on; 
    #tcp_nopush     on; #在开启了sendfile的情况下,合并请求后统一发送给客户端。
    #tcp_nodelay   off; #在开启了keepalived模式下的连接是否启用TCP_NODELAY选项,当为off时,延迟0.2s发送,默认On时,不延迟发送,立即发送用户响应报文。
    #keepalive_timeout 0;
   keepalive_timeout  65 65; #设置会话保持时间,第二个值为响应首部:keepAlived:timeout=65,可以和第一个值不同
    #gzip on; #开启文件压缩
   server {
       listen        80; #设置监听地址和端口
       server_name localhost   ; #设置server name,可以以空格隔开写多个并支持正则表达式,如:*.kgc.com www.kgc.* ~^www\d+\.kgc\.com$ default_server 

1.mime

此项为支持的 文件格式,如果不支持的格式 会自动帮你下载,如果支持 就会显示在网页上

范例:
text/plain   
text/html  
text/css 
image/jpeg   jpg jpeg
image/png 
video/mp4 
application/javascript
 

2.server下的listen及root

2.1 listen

语法结构:

listen address[:port] [default_server] [ssl] [http2 | quic] [proxy_protocol] [setfib=number] [fastopen=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];

例子:

listen 127.0.0.1:8000;
listen 127.0.0.1;
listen 8000;
listen *:8000;
listen localhost:8000 bind;

2.2 root

指定主页文件的位置

Syntax:    root path;
Default:    
root html;
Context:    http, server, location, 

root   指明根目录的位置   
location 根据 用户访问地址的不同, 指定访问的目录 

例子: 用户默认访问的主站点文件夹是 /data/nginx/html/pc/

server {
  listen 80;
  server_name localhost;
  root /data/nginx/html/pc/;
}

3.alias别名

例子:别名设置

server {
   listen 80;
   server_name www.kgc.com;
   location /nwes {     
        root /data/nginx/html/pc/;
        #相当于追加  将 文件夹news追加到/data/nginx/html/pc/news
        }
   location /study{
        alias /mnt/nginx/sports/;
        #相当于替换 你访问 study  就是访问/mnt/nginx/sports
        }
}

4.location相关概述

  4.1 语法规则初步解释

#语法规则:
location [ = | ~ | ~* | ^~ ] uri { ... }

=                  #用于标准url前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
^~                #用于标准url前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
~                  #用于标准url前,表示包含正则表达式,并且区分大小写
~*               #用于标准url前,表示包含正则表达式,并且不区分大写
不带符号              #匹配起始于此uri的所有的uri

#\                #用于标准url前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号

#匹配优先级从高到低:
=, ^~, ~/~*, 不带符号


表格归纳

符号作用
=用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
^~用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
~用于标准uri前,表示包含正则表达式,并且区分大小写
~*用于标准uri前,表示包含正则表达式,并且不区分大写
不带符号匹配起始于此uri的所有的uri

例子:请解答以下题目选择匹配的 location

location ~ /Test1/$ {
  return 200 'A位置最前的正则表达式匹配';
  }
  location ~* /Test1/(\w+)$ {
  return 200 'B长正则表达式匹配';
  }
  location ^~ /Test1/ {
  return 200 'C 停止正则表达式匹配';
  }
  location /Test1/Test2 {
  return 200 'D 无符号最长的前缀匹配';
  }
  location /Test1 {
  return 200 'E 无符号短前缀匹配';
  }
  location = /Test1 {
  return 200 'F =精确匹配!';
  }

​/Test1
/Test1/
/Test1/Test2
/Test1/Test2/
/test1/Test2

详细解释

url   192.168.91.100/Test1
优先遍历 筛选出符合条件的前缀匹配
因为F精确匹配    E无符号短前缀匹配
由于优先级的关系所以
优先匹配F    F =精确匹配!

url  192.168.91.100/Test1/
优先遍历 筛选出符合条件的前缀匹配
C 停止正则表达式匹配  ^~    /Test1/
E 无符号短前缀匹配         /Test1
nginx  会优先遍历CE
CE 优先匹配  C 比 E长  所以选C
E 又会停止匹配正则的location 所以A B出局
优先匹配  C    停止正则表达式匹配

url  192.168.91.100/Test1/Test2
优先遍历 筛选出符合条件的前缀匹配
C 停止正则表达式匹配     ^~ /Test1/
D 无符号最长的前缀匹配   /Test1/Test2
E 无符号短前缀匹配      /Test1
此时 D  由于最长胜出  但是 由于没有 ^~  前缀 所以会继续按配置文件的顺序去找正则匹配
A ~     /Test1/$   已Test1 结尾显然不符合
B ~*   /Test1/(\w+)$  TEST1后面有1个以上  字母或数字或下划线或汉字   符合要求所以选择   B
优先匹配  B长正则表达式匹配


url  192.168.91.100/Test1/Test2/
优先遍历符合条件的前缀匹配
C 停止正则表达式匹配   ^~ /Test1
D 无符号最长的前缀匹配 /Test1/Test2
E 无符号短前缀匹配    /Test1
先记住 D 无符号最长的前缀匹配
然后去匹配正则
A ~     /Test1/$   已Test1 结尾显然不符合
B ~*   /Test1/(\w+)$  TEST1后面有1个以上字符  \w #匹配字母或数字或下划线或汉字  而/ 不在w中不符合要求

所以返回优先使用D    无符号最长的前缀匹配

url  192.168.91.100/test1/Test2
优先遍历符合条件的匹配
无前缀符号
直接去匹配正则
只有 B 不区分大小写的正则可以匹配
B ~*   /Test1/(\w+)$  TEST1后面有1个以上字符  \w #匹配字母或数字或下划线或汉字  而/ 不在w中不符合要求
优先匹配B 

5.access模块

格式:

Syntax: allow address | CIDR | unix: | all;
Default:    —
Context:    http, server, location, limit_except


Syntax: deny address | CIDR | unix: | all;
Default:    —
Context:    http, server, location, limit_except  (限制  用户的访问方式)

官方例子:

Example Configuration

location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

实际例子: 

配置文件修改
server {
   listen 80;
   server_name www.kgc.com;
   allow 192.168.91.0/24;
   deny 192.168.91.101;
   location / {
        root /data/nginx/html/pc;
 }

}

匹配了之后就不往下匹配了
所以范围小的往上

当访问 有问题时   默认站点 是按 文件的名字首字母开头排序

实际例子:禁止 用户访问    url  192.168.91.100/test

server{
   listen 192.168.91.100:80;
   server_name www.lucky.com;
   root /data/html;
   location /test {
   deny 192.168.91.101;
   }
}

6.验证模块

模块名称:ngx_http_auth_basic_module

语法:

Syntax: auth_basic string | off;
Default:   
auth_basic off;
Context:    http, server, location, limit_except


Syntax: auth_basic_user_file file;
Default:    —
Context:    http, server, location, limit_except

配置例子:

配置
server {
  listen 80;
  server_name www.kgc.com;
  location / {
       root /data/nginx/html/pc;
}
  location /admin{
       root /data/;
       auth_basic    "welcome";    #提示信息
       auth_basic_user_file /data/.httpuser;  #用户名密码文件,需要用htpasswd  命令生成
}
}

6.1 htpasswd 

要实现验证需要用户名和密码,htpasswd 命令可以建立 虚拟用户名和密码,此命令来自于 httpd-tools 包,如果没有安装 一下即可。

使用方法:

第一次生成文件
htpasswd -c  文件路径 姓名             交互式生成密码
htpasswd -bc 文件路径 姓名 密码         直接将密码跟在后面

-c  代表新建用户名和密码对应的文件
-b  将密码跟在用户名后

非第一次
htpasswd     文件路径 姓名             交互式生成密码
htpasswd -b  文件路径 姓名 密码         直接将密码跟在后面 

生成用户名密码案例:

第一次
[root@localhost conf.d]#htpasswd -bc /apps/nginx/conf.d/.httpuser kgc 123456
#没有  yum install  httpd-tools    -b  将名字密码跟在后面    -c  新建文件
Adding password for user kgc
[root@localhost conf.d]#cat /apps/nginx/conf.d/.httpuser
kgc:$apr1$RtjFE23R$lf2n.YpdssSf1EYJbIDqT0

非第一次
[root@localhost error]#htpasswd  /apps/nginx/conf.d/.httpuser xiaoming  
New password:
Re-type new password:
Adding password for user xiaoming

htpasswd -bc /data/.httpuser kgc 123456

7.自定义错误页面

格式:

Syntax: error_page code ... [=[response]] url;
Default:    —
Context:    http, server, location, if in location

error_page  404   /index.html

error_page    固定关键字
code          错误响应码(404 403 500  501  502 504等)
=             可以将响应码转换
response      code   状态  666
uri           访问连接

例子:自定义错误页面

www.pc.com/xxxxxxxx                   404
www.pc.com/40x.html
server {
  listen 80;
  server_name www.kgc.com;
  root /data/nginx/html/pc;
  error_page 404 /40x.html;
  #当出现404 错误  就去  root /data/nginx/html/pc/error/ 这个文件夹找40x.html  这个文件
  location = /40x.html {
       root /data/nginx/html/pc/error/;
   }
}

[root@localhost nginx]#mkdir /data/nginx/html/pc/error/
#建立目录
[root@localhost nginx]#cd  /data/nginx/html/pc/error/
#切换目录
[root@localhost nginx]#vim   40x.html
#新建页面,此处页面名字需要和 配置文件中的一致

例子:自定义错误代码

自定义 错误码
server {
  listen 80;
  server_name www.kgc.com;
  root /data/nginx/html/pc;
  error_page 404 =302 /40x.html;
  #把错误码 404 指定成302    注意此处的  40x.html 需要真实存在建立的页面必须一致
  location = /40x.html {
       root /data/nginx/html/pc/error/;
}
  location / {
       root /data/nginx/html/pc;
}
  location /admin{
       auth_basic    "admin site";
       auth_basic_user_file /apps/nginx/conf.d/.httpuser;
}
}

例子:错误了直接跳转到主页面

#出了错  直接跳转到显示主站点
server {
  listen 80;
  server_name www.kgc.com;
  root /data/nginx/html/pc/index.html;
  error_page 404 =302  /index.html;
  #把错误码 404 指定成302  并跳到主页面:/index.html
   error_page 404 = /index.html;
   #也可以不更改状态码直接跳转

8.虚拟主机搭建 (yum安装)

1.修改配置文件

[root@localhost ~]#vim /etc/nginx/nginx.conf
#修改配置文件 要放在  http 模块里
 include             /etc/nginx/mime.types;
 include             /apps/nginx/conf.d/*.conf;

2.建立子配置文件

[root@localhost ~]#mkdir -p /apps/nginx/conf.d/
#建立子配置文件

3.分别编写子配置文件

基于域名

[root@localhost conf.d]#vim pc.conf 
#分别编写配置文件
server {
   listen 80;
   server_name www.pc.com;
   root /data/nginx/html/pc/;
}

[root@localhost conf.d]#vim mobile.conf 
#分别编写配置文件
server {
   listen 80;
   server_name www.mobile.com;
   root /data/nginx/html/mobile/;
}

基于端口

[root@localhost conf.d]#vim pc.conf 
#分别编写配置文件
server {
   listen 192.168.91.100:80;
   server_name www.pc.com;
   root /data/nginx/html/pc/;
}
[root@localhost conf.d]#vim mobile.conf 
#分别编写配置文件
server {
   listen 192.168.91.100:8080;
   server_name www.mobile.com;
   root /data/nginx/html/mobile/;
}

4.构建数据文件夹和相应的数据文件

[root@localhost ~]#mkdir /data/nginx/html/pc -pv
[root@localhost ~]#mkdir /data/nginx/html/mobile -pv
#构建数据文件夹

[root@localhost ~]#echo pc > /data/nginx/html/pc/index.html
[root@localhost ~]#echo moblie > /data/nginx/html/mobile/index.html
#构建数据文件

5.去另一台机器修改/etc/hosts文件

[root@localhost ~]#vim /etc/hosts
192.168.91.100 www.pc.com
192.168.91.100 www.mobile.com

基于域名                        

[root@localhost ~]#curl www.mobile.com
moblie
[root@localhost ~]#curl www.pc.com
pc

基于端口

[root@localhost ~]#curl 192.168.91.100:8080
moblie
[root@localhost ~]#curl 192.168.91.100:80
pc

http://www.dtcms.com/wzjs/535990.html

相关文章:

  • 网站一键生成app中国工程建设标准化协会官方网站
  • 响应式网站模板下载免费工程建设是干什么的
  • 青岛网站建设哪家更好网站备案 哪个省最松
  • 哪些网站是做外贸生意的石家庄网站快速优化排名
  • 专门做酒店网站网站建设招标合同要求
  • 榆林做网站公司如何打开网页
  • 什么是网络建站中文网站建设
  • 福州定制网站建设网站管理助手数据库
  • 毕业设计网站建设软件项目德国的网站域名
  • 网站开发主要流程深圳注册公司推荐
  • 装饰设计网站大全asp.net答辩做网站
  • vue 大型网站开发全国城乡和住房建设厅查询网
  • 网站建设业务客户来源dede网站模板
  • 石家庄怎样做网站魔方网站
  • 做模板网站乐云seo效果好怎样推广自己做的网站
  • 三门峡网站设计经营网站备案信息
  • 网站seo优化要懂得做微调推广是怎么做的
  • aspnet网站开发到部署流程海南省住房公积金管理局电话号码
  • 学设计的网站有哪些内容代理公司注册记账
  • 手机wap网站怎么做做移动网站优化优
  • 建设中网站哈尔滨城乡建设网站
  • 怎么样黑进网站后台营销网站建设公司推荐
  • 拖拽网站开发企业名录怎么导出
  • 网站点赞怎么做的信息技术教案 建设我们的网站
  • 外贸网站好做吗大连seo网站推广
  • 肇庆自助网站建设系统营销型网站页面
  • 怎样建立个人的网站三五互联网站
  • 海南省交通工程建设局网站重庆网站建设找重庆最佳科技
  • 公司建设网站需要去哪报备缅甸最新新闻
  • 网站建设策划方案书论文价格合理的网站建设