设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

Nginx 最实用的配置技巧,用到过才是老司机

发布时间:2019-05-27 22:30 所属栏目:21 来源:37丫37
导读:文章列举了几个Nginx常见的,实用的,有趣的配置,希望看过之后能说一句:学到了! 一个站点配置多个域名 server{ listen80; server_nameops-coffee.cnb.ops-coffee.cn; } server_name 后跟多个域名即可,多个域名之间用空格分隔 一个服务配置多个站点 serv

 

文章列举了几个Nginx常见的,实用的,有趣的配置,希望看过之后能说一句:学到了!

一个站点配置多个域名

  1. server { 
  2.     listen       80; 
  3.     server_name  ops-coffee.cn b.ops-coffee.cn; 

server_name 后跟多个域名即可,多个域名之间用空格分隔

一个服务配置多个站点

  1. server { 
  2.     listen       80; 
  3.     server_name  a.ops-coffee.cn; 
  4.  
  5.     location / { 
  6.         root /home/project/pa; 
  7.         index index.html; 
  8.     } 
  9.  
  10. server { 
  11.     listen       80; 
  12.     server_name  ops-coffee.cn b.ops-coffee.cn; 
  13.  
  14.     location / { 
  15.         root /home/project/pb; 
  16.         index index.html; 
  17.     } 
  18.  
  19. server { 
  20.     listen       80; 
  21.     server_name  c.ops-coffee.cn; 
  22.  
  23.     location / { 
  24.         root /home/project/pc; 
  25.         index index.html; 
  26.     } 

基于Nginx虚拟主机配置实现,Nginx有三种类型的虚拟主机

基于IP的虚拟主机: 需要你的服务器上有多个地址,每个站点对应不同的地址,这种方式使用的比较少

基于端口的虚拟主机: 每个站点对应不同的端口,访问的时候使用ip:port的方式访问,可以修改listen的端口来使用

基于域名的虚拟主机: 使用最广的方式,上边例子中就是用了基于域名的虚拟主机,前提条件是你有多个域名分别对应每个站点,server_name填写不同的域名即可

nginx添加账号密码验证

  1. server { 
  2.     location / { 
  3.         auth_basic "please input user&passwd"; 
  4.         auth_basic_user_file key/auth.key; 
  5.     } 

有很多服务通过nginx访问,但本身没有提供账号认证的功能,就可以通过nginx提供的authbase账号密码认证来实现,可以用以下脚本来生成账号的密码

  1. # cat pwd.pl  
  2. #!/usr/bin/perl 
  3. use strict; 
  4.  
  5. my $pw=$ARGV[0] ; 
  6. print crypt($pw,$pw)."\n"; 

使用方法:

  1. # perl pwd.pl ops-coffee.cn 
  2. opf8BImqCAXww 
  3. # echo "admin:opf8BImqCAXww" > key/auth.key 

nginx开启列目录

当你想让nginx作为文件下载服务器存在时,需要开启nginx列目录

  1. server { 
  2.     location download { 
  3.         autoindex on; 
  4.  
  5.         autoindex_exact_size off; 
  6.         autoindex_localtime on; 
  7.     } 

autoindex_exact_size: 为on(默认)时显示文件的确切大小,单位是byte;改为off显示文件大概大小,单位KB或MB或GB

autoindex_localtime: 为off(默认)时显示的文件时间为GMT时间;改为on后,显示的文件时间为服务器时间

默认当访问列出的txt等文件时会在浏览器上显示文件的内容,如果你想让浏览器直接下载,加上下边的配置

  1. if ($request_filename ~* ^.*?\.(txt|pdf|jpg|png)$) { 
  2.     add_header Content-Disposition 'attachment'; 

配置默认站点

  1. server { 
  2.     listen 80 default; 

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读