Nginx

  • nginx 禁止指定的IP地址访问3

    步骤1:添加配置# 在nginx的配置文件中,即http中,server外,直接添加如下的配置deny IP地址1;deny IP地址2;步骤2:重启Nginx服务器

  • nginx 禁止指定的IP地址访问2

    步骤1:添加配置# 在站点的配置文件中,添加如下的配置location / { deny IP地址1; deny IP地址2;}步骤2:重启Nginx服务器

  • nginx 禁止指定的IP地址访问1

    步骤1:新建文件# 注意:这个文件可以存放到如何位置,文件后缀名是.conf # 新建/www/server/nginx/ips.conf文件40.77.167.32 yes;40.77.167.79 yes;步骤2:引入文件# 在nginx的主配置文件中,即http中,server外,添加如下黄色内容: http { # 禁止某些IP地址访问 geo $is_jinzhi_ip { default no; include /www/server/nginx/ips.conf; } ... }步骤3:设置伪静态# 给指定的站点设置伪静态如下 location / { if ($is_jinzh

  • 【Nginx基础】缓存服务proxy(3)

    1 fastcgi_cache简介说起fastcgi不得不提cgi,cgi全称是“通用网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序一般运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。摘自百度百科。那fastcgi意思就是比cgi执行速度要快速。主要快在从启动开始,就一直会有一个常驻的进程一直等待外部的请求,不用每次有请求就fork一个进程处理请求。当然,速度快了,占用的内存就会高了,因为不论有没有客人,总要有人在门口迎宾。2&nbs

  • 【Nginx基础】缓存服务proxy(2)

    1 设置不缓存url上一节虽说用nginx把很多url设置了缓存,但是,问题来了,一个服务不是每个url都需要缓存服务的,比如:用户的积分,用户的通知等,要满足这个场景,也可以设置不同的location来应对,不过Nginx也有相关的参数:proxy_no_cacheSyntax: proxy_no_cache string …;Default: —Context: http, server, location2 Nginx配置server{ #......其他配置 #表明用户访问login和search两个url的时候,变量$nocache 设置为1 if ($request_uri ~ ^

  • 【Nginx基础】缓存服务proxy(1)

    1 Nginx缓存服务简介nginx作为web服务器或者代理服务器,可以将应用的内容缓存到nginx服务器,第二次访问的时候,nginx不用再次分发请求给应用服务器,而是把自己缓存的内容直接返回给用户,这样提高了访问速度,也减轻了应用服务器的负担,当然,缓存服务的内容是相对静态的,或者说在一定时间内不会变化的。2 Nginx缓存服务配置upstream slbserver_cache { server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=2; server 127.0.0.1:8082 weight=1 max_fails=2 fa

  • 【Nginx基础】动静分离配置

    1 动静分离简介对于一些应用来说(比如网站),图片,css文件,js文件等静态资源不需要动态语言的支持,可以直接返回给客户端使用,如果这些静态资源跟着动态资源一样的流程,那就太浪费服务器资源了;所以,最好的办法是让他们分家,静态资源直接从nginx服务器返回,动态资源经过nginx转发给相应的服务执行后再返回客户端;动静分离的好处是可以为用户提供更好的使用体验,而不是一直等着服务器一次性将资源返回。2 动静分离配置(1) nginx 配置server { listen 8827; server_name localhost; root /opt/app/php72; #动态请求转发到php服务

  • 【Nginx基础】负载均衡服务器(2)

    1 案例描述使用一台虚拟机,使用端口模拟不同的服务,设置四个nginx配置文件,作用分别如下:端口作用配置文件8888负载均衡/etc/nginx/conf.d/slb.conf8081应用服务1,服务地址:/opt/app/slb1;/etc/nginx/conf.d/slb1.conf8082应用服务2,服务地址:/opt/app/slb2;/etc/nginx/conf.d/slb2.conf8083备份服务器/etc/nginx/conf.d/slb3.conf用户访问8888,可以转发到8081和8082上2 配置文件(1) 负载均衡服务nginx配置文件 slb.conf#设置负载

  • 【Nginx基础】负载均衡服务器(1)

    1 负载均衡简介负载均衡提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。2 负载均衡分类(1) 二层负载均衡(mac):根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应);(2) 三层负载均衡(ip):一般采用虚拟IP

  • 【Nginx基础】开启防盗链功能

    1 防盗链出现原因虽说互联网崇尚分享精神,但是网站资源若是被一些流量大的网站引用或者爬取(图片或其他静态文件),也会造成自己的服务器压力过大,甚至不能正常提供对外服务。所以,有必要防止其他网站盗用本网站的资源。2 防盗链的思路设置一个变量,valid_referers,也就是白名单,只允许以下网址访问,然后,判断这个变量是否存在,不存在则是非法盗链,甩一个默认广告图片给他显示吧!3 开启图片防盗链例子location ~* \.(gif|jpg|png|jpeg)$ { #设置过期时间 expires 30d; #允许本站下访问图片,也允许搜索引擎访问图片 valid_referers *.h

  • 【Nginx基础】设置允许跨站访问

    1 跨站访问的原因出于安全的原因,浏览器默认不允许跨站访问,因为跨站访问很容易造成跨站攻击(CSRF),也就是黑客利用A网站去访问用户曾经访问过的B网站;当然,不默认的话就可以跨站访问了,浏览器会根据服务端返回的头部信息(Access-Control-Allow-Origin)判断是否允许跨域访问,如果服务端都允许跨站访问,浏览器段也就没必要做跨域限制,也就是说,我们可以在服务器端的nginx设置Access-Control-Allow-Origin这个参数就可以实现跨站访问了。2 跨站访问配置例子location: / { #允许这个网站跨站访问。如果允许全部,那就设置为*,当然,这样很傻。

  • 【Nginx基础】静态资源服务相关配置

    Nginx可以作为静态资源服务使用,下面列举静态资源服务的相关配置1 常用配置(1) sendfile使用nginx作为静态资源服务时,通过配置sendfile可以有效提高文件读取效率,设置为on表示启动高效传输文件的模式。sendfile可以让Nginx在传输文件时直接在磁盘和tcp socket之间传输数据;如果这个参数不开启,会先在用户空间(Nginx进程空间)申请一个buffer,用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer,再用write函数把数据从用户空间的buffer写入到内核的buffer,最后到tcp socket;开启这个参数后可以让

  • 【Nginx基础】Nginx配置文件

    1 配置文件语法配置文件由指令与指令块构成;每条指令以;分号结尾,指令与参数间以空格符号分隔;指令块以{}大括号将多条指令组织在一起;使用#符号添加注释,提高可读性;include语句允许组合多个配置文件以提升可维护性;使用$符号使用变量;部分指令的参数支持正则表达式。2 默认配置文件#默认nginx.conf #运行用户,默认即是nginx,可不设置user nginx;#nginx进程,一般设置为和cpu核数一样worker_processes 1;#错误日志存放目录 error_log /var/log/nginx/error.log warn;#进程pid存放位置pid /var/ru

  • 【Nginx基础】Nginx安装

    1 通过命令方式安装(1) 安装Nginxyum -y install nginx(2) 查看Nginxnginx -v 返回结果类似如下所示,表示Nginx安装成功。nginx version: nginx/1.20.12 通过源码方式安装(1) 安装Nginx相关依赖sudo yum install -y gcc-c++sudo yum install -y pcre pcre-develsudo yum install -y zlib zlib-develsudo yum install -y openssl openssl-devel(2) 下载Nginxsudo wget http:

  • 【Nginx基础】Nginx概述

    1 Nginx简介Nginx 是一个开源的服务,遵循BSD开源协议(基本上可以为所欲为),也是一个高性能,高可靠的HTTP中间件和代理服务。2 Nginx应用1)静态资源服务2)代理服务:缓存、负载均衡、访问控制3)API服务

  • 部署Let‘s Encrypt免费SSL证书教程

    步骤 1:安装Certbot工具# 在CentOS系统中运行如下命令安装Certbot工具yum install -y epel-releaseyum install -y certbot步骤 2:配置Nginx服务器确保Nginx服务器已正确配置并且域名已指向服务器的公网IP地址。步骤 3:生成SSL证书# 运行以下命令生成SSL证书命令:certbot certonly --webroot -w [Web站点目录] -d [站点域名] -m [联系人email地址] --agree-tos例子:certbot certonly --webroot -w /usr/local/nginx/h