nginx怎么配置,nginx安装及配置教程

链接:文章列举了几个Nginx常见的,实用的,有趣的配置。一个站点配置多个域名server{listen80;server_nameops-coffee.cnb.ops-coffee.cn;}serv

链接:

文章列举了几个Nginx常见的,实用的,有趣的配置。

一个站点配置多个域名

server { listen 80; server_name ops-coffee.cn b.ops-coffee.cn;}

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

一个服务配置多个站点

server { listen 80; server_name a.ops-coffee.cn; location / { root /home/project/pa; index index.html; }}server { listen 80; server_name ops-coffee.cn b.ops-coffee.cn; location / { root /home/project/pb; index index.html; }}server { listen 80; server_name c.ops-coffee.cn; location / { root /home/project/pc; index index.html; }}

nginx怎么配置

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

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

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

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

nginx添加账号密码验证

server { location / { auth_basic "please input user&passwd"; auth_basic_user_file key/auth.key; }}

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

!/usr/bin/perluse strict;my $pw=$ARGV[0] ;print crypt($pw,$pw)."\n";

Nginx的主配置文件是nginx.conf,这个配置文件一共由三部分组成,分别为全局块、events块和http块。在http块中,又包含http全局块、多个server块。每个server块中,可以包含server全局块和多个location块。在同一配置块中嵌套的。

使用方法:

echo "admin:opf8BImqCAXww" > key/auth.key

nginx开启列目录

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

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大。

server { location download { autoindex on; autoindex_exact_size off; autoindex_localtime on; }}

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

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

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

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

配置默认站点

企业回选StreamNative Cloud 可以运行在主要的公共云上,与云提供商原生提供的安全、计算、存储、分析和 AI 服务紧密集成。可以随时随地利用您选择的云提供商来获取您需要的敏捷性。

server { listen 80 default;}

当一个nginx服务上创建了多个虚拟主机时默认会从上到下查找,如果匹配不到虚拟主机则会返回第一个虚拟主机的内容,如果你想指定一个默认站点时,可以将这个站点的虚拟主机放在配置文件中第一个虚拟主机的位置,或者在这个站点的虚拟主机上配置listen default

不允许通过IP访问

server { listen 80 default; server_name _; return 404;}

可能有一些未备案的域名或者你不希望的域名将服务器地址指向了你的服务器,这时候就会对你的站点造成一定的影响,需要禁止IP或未配置的域名访问,我们利用上边所说的default规则,将默认流量都转到404去

上边这个方法比较粗暴,当然你也可以配置下所有未配置的地址访问时直接301重定向到你的网站去,也能为你的网站带来一定的流量

server { rewrite ^/(.*)$ $1 permanent;}

直接返回验证文件

location = /XDFyle6tNA.txt { default_type text/plain; return 200 'd6296a84657eb275c05c31b10924f6ea';}

nginx配置upstream反向代理

http { ... upstream tomcats { server 192.168.106.176 weight=1; server 192.168.106.177 weight=1; }server { location /ops-coffee/ {proxy_pass http://tomcats;proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }

稍不注意可能会落入一个proxy_pass加杠不加杠的陷阱,这里详细说下proxy_pass http://tomcats与proxy_pass http://tomcats/的区别:

虽然只是一个/的区别但结果确千差万别。分为以下两种情况:

目标地址中不带uri(proxy_pass http://tomcats)。此时新的目标url中,匹配的uri部分不做修改,原来是什么就是什么。

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。 2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪。

location /ops-coffee/ { proxy_pass ;}http://domain/ops-coffee/ -->-->

nginx upstream开启keepalive

upstream tomcat { server ops-coffee.cn:8080; keepalive 1024;}server { location / { proxy_http_version 1.1; proxy_set_header Connection "";proxy_pass http://tomcat; }}

proxy_http_version 1.1: 开启keepalive要求HTTP协议版本为HTTP 1.1

proxy_set_header Connection "": 为了兼容老的协议以及防止http头中有Connection close导致的keepalive失效,这里需要及时清掉HTTP头部的Connection

404自动跳转到首页

server { location / { error_page 404 = @ops-coffee; }location @ops-coffee { rewrite .* / permanent; }}

网站出现404页面不是特别友好,我们可以通过上边的配置在出现404之后给自动跳转到首页去。

文末福利:

关注作者私信,关键词:“ 架构 ”

可免费获取一份Java架构学习资料包:

里面有(高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)以及Java进阶学习路线图,相信你领取后学习 会有提升和收获!

上一篇 2023年01月17 16:31
下一篇 2023年01月14 15:27

相关推荐

  • 微信位置怎么自己创建,微信怎么自创位置名称

    虽然用了微信这么久,微信怎么自创位置名称,但平常用得最多的应该还是聊聊天、刷刷朋友圈、看看视频号,其实微信还有一些隐藏起来的功能,可能你用得少甚至有些根本不知道。但!不要紧~因为今天我就来一箩筐的告诉

    2023年01月22 246
  • 怎么拒收快递,客服让我拒收怎么拒收

    拒绝签收:当快递员联系时,直接拒收就行,快递会把商品原路返还给卖家。签收后退货:需要下楼或者快递店签收货物。如果我们在淘宝买了一件商品,不想要了,去申请退款的时候,发现快递已经发货了。那我们可以等快递

    2023年02月03 206
  • 怎么看内存条,怎样看内存条上的型号参数?

    很多时候我们家里有些老电脑运行速度有点拉胯,然后想自己简单地升级一下内存条,怎样看内存条上的型号参数?,但是不知道自己电脑支持最大内存是多少,万一买大了不支持还要退换货浪费时间,买小了又感觉提升空间不

    2023年02月03 277
  • 怎样修改京东收货地址,京东如何修改已下单收货地址

    众所周知,京东这个平台,人家补单,你只靠真实销量,这样的可行吗?肯定是不行的,特别是对于刚开的店面,没有生意的时候,无增长就是退步,想要迅速的提高排名、权重、销量,补单是最快捷有效的方法,危险与利益共

    2023年01月03 259
  • 快手怎么赚钱

    01快手直播快手具有很多的流量,用户量大,直播收入也高。直播赚钱的方式,主要是通过粉丝打赏和直播电商两种方式。相比粉丝打赏,通过直播电商方式赚取的利润更多,成为许多自媒体人的首选。而且,怎么做短视频赚

    2023年01月15 241
  • 怎么查主板型号,怎么查看自己电脑主板型号

    前言的13代酷睿处理器已经发布有一段时间了,不过目前市面上适配的主板只有高端的Z790系列,想要处理器超频的用户自然不会错过Z790主板,但对于那些想入手13代i3、i5甚至i7非K系列的用户来说,Z

    2023年02月05 205
  • 怎么注册淘宝店铺,手机淘宝图片空间协议怎么签

    网上购物已经成为一种趋势,很多人都喜欢网上购物,手机淘宝图片空间协议怎么签,不用外出就能买到心仪的宝贝。在这种情况下很多人都开始开通网店赚钱,那么怎么开淘宝店呢?下面就详细的教大家怎么开淘宝店。怎么开

    2023年01月16 201
  • 怎样换回原来微信头像,女生换回原来的微信头像

    前几天微信陆陆续续地有人发现微信QQ更换头像时,会显示“由于系统维护,抢稍后再试”。微信头像不能更换了吗?这样的情况维持了好几天,等我再次查看的时候已经恢复了正常。为什么微信不能更换头像引起了大家那么

    2023年01月04 232
  • 海尔电视怎么投屏,老款海尔电视怎么投屏

    安卓手机投屏海尔电视怎么设置安卓手机投屏海尔电视怎么设置,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下,老款海尔电视怎么投屏,希望可以帮助到大家。,安卓手机投屏1.将手机和电视连接到同一wif

    2023年01月09 207
  • wps热点怎么永久关闭,wps热点怎么永久删除

    以前每次开机,wps热点怎么永久删除,都要坐着等上一会儿,然后再慢慢将所有蹦入眼帘的窗口关掉,这样才会不卡。但是很耽误事,如果急着用电脑,这种情况也太使我们焦躁了。您的电脑是否每次开启都闪烁着“wps

    2023年02月03 227
  • 怎么恢复回收站删除的文件,注册表恢复回收站删除的文件

    生活中总会有很多意外,在使用电脑的过程中也不例外,相信大家都有过不小心删除过重要文件的情况。那么问题来了,如果不小心删除了文件该怎么恢复呢?一般来说,除了非常大的文件,不小心删除之后,文件将会移动到回

    2023年02月03 255
  • 苹果怎样注册新的id,苹果手机怎么注册新的id账号

    第一步:注册新的邮箱账号先注册一个邮箱账号,国内的126、qq、163等等都可以,苹果手机怎么注册新的id账号,只要没用它注册过AppleID就行。,第二步:通过网页注册长按下图扫码,进入苹果Appl

    2023年01月07 272
  • word怎么查找,word能查看编辑历史吗

    引入了一个全新的搜索栏。现在,用户可以在文档中更轻松地查找内容,输入更多选项,还可以在结果中导航。我们来看看如何在Word文档中查找和替换文本。如何在Word文档中查找单词或短语如要在文档中查找单独的

    2023年02月04 242
关注微信