Nginx--server块配置

Posted 是杨杨呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx--server块配置相关的知识,希望对你有一定的参考价值。

server_name 指令

server_name:用来设置虚拟主机服务名称。

语法server name name …
默认值server_name “”
位置server

关于server_name的配置方式
1.精确匹配
2.通配符匹配
3.正则表达式匹配

匹配方式一:精确匹配

server
listen 80;
server_name www.baidu.com ww.qq.com;

使用域名需要将本地的host文件 进行更改,否则直接跳转的是官方网站。

匹配方式二:使用通配符

server_name 中支持使用"*" , 型号只能出现在域名的两边,不能出现在中间

server
listen 80;
server_name *.baidu.com  www.qq.*

错误配法

server
listen 80 ;
server_name www.*.com;

匹配方式三:
server_name 中可以使用正则表达式,并且使用~ 作为正则表达式字符串的开始标记。

代码说明
^匹配搜索字符串开始位置
$匹配搜索字符串结束位置
.匹配除换行\\n 之外的任何单个字符
\\转义字符,将下一个字符标记为特殊字符
xyz字符集,与任意一个指定字符匹配
a-z字符范围,匹配指定范围内的任何字符
\\w与以下任意字符匹配 A-Z a-z 0-9 和下划线 等下于[A-Za-z0-9]
\\d数字字符匹配,等效于[0-9]
n正好匹配n次
n.至少匹配n次
n,m匹配至少n次至多m次
*零次或多次等下于0.
+一次或多次,等下于1,
?零次或一次,等效于0,1
server
      listen 80;
      server name ~^www.(\\w+)([a-z]+)\\.com;
      #www.xxx.com 在xxx中只要含有 任意字符并且超过一次 及匹配成功
      loaction /
          default_type:text\\plain;
          return 200 '$1 $2'  #$1 会打印第一个()中匹配的值;
          
          
     

三种匹配方式的执行顺序

准确匹配>通配符匹配>正则表达式匹配>default_server(没有匹配到,默认为第一个server)

location 指令用来设置请求的URL

语法location [ = / ~ / ~* / ^ ~ / @ ] url …
默认值-
位置server.location

url 变量是匹配的请求字符串,可以不包含正则表达式,也可以包含正则表达式,那么nginx服务器在搜索匹配location的时候,是先使用不包含正则表达式进行匹配,找到一个匹配度最高的一个,然后在通过包含正则表达式的进行匹配,如果能直接访问,匹配不到,就使用刚才匹配度最高的那个localtion 来处理请求

不指定

不要带符号,要求必须以指定模式开始

server
   listen 80;
   server_name localhost;
   location /abc 
      default_type text/plain;
      return 200 "access success" 


提下连接都可以访问到
http://localhost:80/abc
http://localhost:80/abc?p1=TOM
http://localhost:80/abc/
http://localhost:80/abcdef

nginx server配置

server {
listen 80;
server_name localhost;

client_max_body_size 200m;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;


location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}

location /images/ {
root /usr/local/;
autoindex on;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache‘s document root
# concurs with nginx‘s one
#
#location ~ /.ht {
# deny all;
#}
}

 





































以上是关于Nginx--server块配置的主要内容,如果未能解决你的问题,请参考以下文章

Nginx Server 的配置解析

nginx Server服务配置说明

nginx负载均衡

nginx Server names

ubuntu:18.04+nginx 搭建图片文件服务器

nginx server配置