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

阿里云建站和华为云建站淮南网站建设费用

阿里云建站和华为云建站,淮南网站建设费用,网站推广视频的服务方案,浙江省建设部网站目录 一.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/a/480606.html

相关文章:

  • 北京机建网站长沙做企业网站的公司
  • 甘肃建设厅网站汽车网站推广策略
  • wordpress 文章内seo推广公司教程
  • 沧州网站推广优化wordpress调用分类文章列表
  • wordpress企业外贸主题深圳网站设计专家乐云seo
  • 苏州外贸公司网站建设流程图网上墓地 wordpress
  • 网站的管理维护招商网站建设地点
  • 网站使用了seo优化工具怎么检测二七区建设局网站
  • 怎样把自己做的网站上传51推广平台
  • 威胁网站检测平台建设中标什么是网站地址
  • 阿里网站导航怎么做的wordpress免登录发布接口
  • 在建设部网站做网站可以把文字做成图片吗
  • 有经验的邯郸网站建设wordpress 网址优化
  • 衡水医院网站建设优秀网视频剪辑
  • 全国商务网站大全两人合伙做网站但不准备开公司
  • 手机网站要备案吗html与wordpress
  • 做网站用什么写做网站的费用
  • 抛丸机网站排名优化wordpress删除数据库
  • 长沙专业网站设计服务电商网页设计用什么软件
  • 网站开发英文参考文献2015年后php做电影网站
  • 高明网站制作免费咨询身高问题
  • 重庆永川微网站建设有哪些网站做的好处
  • 玉树电子商务网站建设公司wordpress免授权08影院源码
  • 金华企业制作网站app设计理念
  • 导航类网站源码wordpress新建模板
  • 北京企业响应式网站建设wordpress 主页地址
  • 做网站需要懂那些软件中山市路桥建设有限公司网站
  • .net可以做网站做游戏 博客园ueditor 插件wordpress
  • 分布式技术原理与设计
  • 网站建设都 包括哪些个人网站取名