Nginx
nginx学习工作配置笔记
yunson_Liu
在工作中学习,在学习中工作;活到老学到老,学到老活到老;我一直在学习的路上活着,我也一直活在学习的路上;你呢??希望所有的爱好学习的朋友和不爱好学习但又想学习的朋友,我们一同进步吧!期待。。。巅峰之巅
展开
-
关于代理的配置
### 新加的代理http_proxy=http://192.168.1.34:1080https_proxy=$http_proxyftp_proxy=$http_proxyno_proxy=10...,192.168..,172.16..,.local,localhost,127.0.0.1,*.github.comexport http_proxy https_proxy ftp_proxy no_proxy原创 2021-08-19 11:21:24 · 8 阅读 · 0 评论 -
nginx共享内存机制详解
levels:在linux操作系统中,如果所有文件都放在一个文件夹中,那么当文件数量非常多的时候,可能一个磁盘驱动就无法读取这么多文件了,如果放置在多个文件夹中,那么就能够利用多个驱动并且读取的优点。这里为什么会生成文件的原因在于,对于上游服务发出的响应,是可以将其生成一个文件存储在nginx上的,后续如果有同样的请求,就可以直接读取该文件或者读取共享内存中的缓存以响应客户端;keys_zone:该参数指定了当前共享内存的名称,这里为one,后面的10m表示当前共享内存用于存储key的内存大小为10m;..原创 2022-08-11 11:35:24 · 398 阅读 · 0 评论 -
k8s nginx deployment配置日志切割
4、编写nginx-log-rotate.conf文件,文件内容那个如下。其中nginx-log-rotate.conf挂载到了阿里云的nas上。1、编写自定义nginx Dockerifle。5、编写pod yaml文件并指定镜像仓库地址。6、登录pods对应的容器验证查看。到指定的时间验证日志是否已经切割。3、将镜像推送到镜像仓库。原创 2023-06-20 22:04:06 · 1237 阅读 · 0 评论 -
nginx实现自动匹配手机和pc端
直接通过http_user_agent匹配到手机时指向新的路径。或者可以指定一个新的域名进行rewrite。但是要把整段放到location外面。原创 2022-11-28 18:17:05 · 758 阅读 · 0 评论 -
nginx使用lua通过request_body按条件开放访问权限
需求:当我们的请求在我们条件内的主机上时只允许balance.query和asset.list请求,其余主机不受限制。此时测试也符合要求,在条件主机和非条件主机对应的两个接口都不受影响。1、在条件内的不同主机上执行balance.query请求。非条件请求asset.summary在条件主机上的请求。上面已经测试了条件请求在条件主机上能正常请求。在条件主机上:192.168.1.159。在非条件主机192.168.1.36。3、测试非条件请求在条件主机上的测试。4、条件主机上的不同请求。原创 2022-11-25 17:25:04 · 1570 阅读 · 0 评论 -
nginx安装lua模块
2、LuaJIT解压后直接make & make install即可。原创 2022-11-25 14:22:15 · 2229 阅读 · 0 评论 -
nginx代理导致请求头header中的信息丢失
nginx代理导致请求头header中的信息丢失原创 2022-07-05 15:33:56 · 2481 阅读 · 0 评论 -
Nginx server模块
Nginx原创 2022-06-21 11:03:00 · 351 阅读 · 0 评论 -
Nginx反向代理之ip_hash
1. 什么是ip_hash?ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会发送到同一台特定的Tomcat里面,它的session不会跨到其他的tomcat里面去的;2. hash算法原理如图所示:首先通过将ip地址映射成一个hash值,然后将hash值对Tomcat的数量3取模,得到Tomcat的索引0、1、2;比如:5%3=2,则把这个请求发送到Tomcat3服务器,以此类推;原创 2022-05-26 09:23:28 · 7323 阅读 · 0 评论 -
nginx获取代理服务ip及客户端真实ip
一、问题背景 在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用 request.getRemoteAddr() 就可以获取到客户端ip,但是当我们使用了nginx 作为反向代理后,使用 request.getRemoteAddr() 获取到的就一直是nginx 服务器的ip的地址,那这时应该怎么办?首先,一个请求肯定是可以分为请求头和请求体的,而我们客户端的IP地址信息一般都是存储在请求头里的。如果你的服务器有用Nginx做负载均衡的话,你原创 2022-05-24 19:37:12 · 11630 阅读 · 2 评论 -
nginx配置长链接
1、更改nginx.conf配置文件,打开keepalive_requests,默认是100 keepalive_timeout 65; keepalive_requests 10000;2、让Nginx和Server之间维持长连接,最朴素的设置如下http { upstream backend { server 192.168.0.1:8080 weight=1 max_fails=2 fail_timeout=30s; ser原创 2022-04-12 11:36:47 · 9990 阅读 · 0 评论 -
nginx前端页面出现跨域报错问题
nginx前端页面出现跨域报错问题'Access-Control-Allow-Origin' header contains multiple values '*, *',解决办法: location / { if ($request_method = 'OPTIONS') { add_header Access-Control-Allow-Origin *; add_header Acces原创 2022-02-18 10:27:47 · 1504 阅读 · 0 评论 -
nginx rewrite配置的两种方式try_files和rewrite
方式1、try_files location /bank/h5 { try_files $uri $uri/ @backend; } location @backend { rewrite ^/(.*)$ https://bank.abc.com; }方式2、rewrite此方式出现苹果手机和苹果浏览器无法跳转的情况 location /bank/h5 {原创 2022-01-19 17:41:09 · 2745 阅读 · 0 评论 -
nginx代理web网站
因公司对接ftx国内被屏蔽,现配置nginx进行代理,刚开一直报错no live upstreams while connecting to upstream解决办法proxy_ssl_server_name on;nginx 配置内容如下server { listen 443 ssl; server_name ftx.test.com; access_log /data/nginxlog/ftx.com_80_access.log原创 2021-11-26 17:59:33 · 2553 阅读 · 0 评论 -
Nginx限流模块limit_req_zone、limit_req_conn
根据nginx官网提供的说法,有两种算法,一种是漏桶算法,一种是令牌桶算法.limit_req_zone 用来限制单位时间内的请求数目,以及速度限制。limit_req_conn 用来限制同一时间连接数,即并发限制。一、令牌桶算法令牌桶:令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时,多余的令牌被丢弃;请求要消耗等比例的令牌才能被处理;令牌不够时,请求被缓存或者被拒绝二、漏桶算法漏桶算法水(请求)从上方倒入水桶,从水桶下方流出(被处理);来不及流出的水存在水桶中(原创 2021-09-02 14:39:06 · 7964 阅读 · 0 评论 -
记一次nginxproxy_cache配置
在浏览器和应用服务器之间,存在多种“潜在”缓存,如:客户端浏览器缓存中间缓存内容分发网络(CDN)服务器上的负载均衡和反向代理缓存,仅在反向代理和负载均衡的层面,就对性能提高有很大的帮助。为什么要用缓存?网站的访问速度更快减轻源服务器的负担提高负载平衡器、反向代理和应用服务器前端web服务的性能nginx代理模块缓存指令指令 说明proxy_cache 定义缓存的共享内存区域proxy_cache_bypass 一个或者多个字符串变量,变量的值为非空或者非零将会导致响应从上游服务器原创 2021-07-28 20:14:00 · 640 阅读 · 1 评论 -
OpenResty 代理 trx api部署
OpenResty 安装1、安装依赖库2、下载,编译安装3、下载http lua 脚本&部署4、部署api项目5、启动6、验证是否正确7、制作service 启动(可选)8、配置文件路径 /data/deploy/api/config.lua9、查看最新的节点OpenResty 代理 trx api 部署OpenResty 安装参照 http://openresty.org/cn/installation.html1、安装依赖库centos:yum install pc原创 2021-06-28 16:58:45 · 105 阅读 · 0 评论 -
Nginx末尾加杠不加杠的问题
假设访问路径的 /pss/bill.html加/斜线的情况location /pss/ {proxy_pass http://127.0.0.1:18081/;}被代理的真实访问路径为:http://127.0.0.1:18081/bill.html不加/斜线的情况location /pss/ {proxy_pass http://127.0.0.1:18081;}被代理的真实访问路径为:http://127.0.0.1:18081/pss/bill.html...原创 2021-06-04 19:16:26 · 462 阅读 · 0 评论 -
linux系统Nginx下limit_req模块burst参数超详细解析
在学习Nginx的时候遇到了这个问题,百度到了很多博客,大多都讲得不清不楚,在看到了,参照http://www.wangjingfeng.com/730.htmlhttp://cjhust.blog.163.com/blog/static/17582715720111017114121678/添加链接描述漏斗算法(Leaky Bucket),该算法有两种处理方式Traffic Shaping和Traffic Policing在桶满水之后,常见的两种处理方式为:暂时拦截住上方水的向下流动,等待桶中转载 2021-06-03 16:14:54 · 1111 阅读 · 0 评论 -
Nginx配置HTTP2
nginx配置文件内容如下server { listen 80; server_name abc.exchange.test; access_log logs/abc.exchange.test_80_access.log main; error_log logs/abc.exchange.test_80_error.log; location / { proxy_red原创 2021-06-02 17:23:59 · 190 阅读 · 0 评论 -
nginx配置ws请求
map $http_upgrade $connection_upgrade { default keep-alive; #默认为keep-alive 可以支持 一般http请求 'websocket' upgrade; #如果为websocket 则为 upgrade 可升级的。}server { listen 80; listen 443 ssl; server_name .原创 2021-04-29 12:02:19 · 1857 阅读 · 0 评论 -
Nginx配置文件下载
nginx配置文件中server块内容如下:server { listen 80; server_name download.test.com; charset utf-8;location / { allow all; autoindex on; #开启目录浏览功能; autoindex_exact...原创 2020-11-30 16:30:21 · 583 阅读 · 0 评论 -
nginx remote_address控制访问地址
nginx对应server段配置内容如下: server { listen 80; server_name admin.shanhua.test localhost; error_page 404 /404.html; location /404.html { allow all; root html; } locat...原创 2020-11-06 14:13:45 · 7445 阅读 · 0 评论 -
nginx配置四层端口转发mysql登录
1、安装nginx,安装过程中注意添加--with-stream模块2、修改nginx配置文件(编辑配置文件时注意所有的空格避免tab键出现)stream { #类似于7层的http段 upstream mysql { #hash $remote_addr consistent; server 172.16.1.202:3306 weight=1 max_fails=3 fail_timeout=10s; } server { listen 新端口; proxy_原创 2020-07-04 12:54:17 · 1017 阅读 · 2 评论 -
upstream timed out (110: Connection timed out) while reading response header from upstream, client:
遇到的问题之前没配置下面这段,访问时候偶尔会出现 504 gateway timeout,由于偶尔出现,所以不太好排查proxy_connect_timeout 300s;proxy_read_timeout 300s;proxy_send_timeout 300s;proxy_buffer_size 64k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;proxy_ign原创 2020-06-23 11:56:50 · 2112 阅读 · 0 评论 -
nginx实现四层端口转发
本背景是实现服务器代理登录安装依赖 yum install gcc gcc-c++ zlib-devel pcre-devel openssl openssl-devel -y重新编译nginx./configure --prefix=/home/deploy/nginx --with-http_stub_status_module --with-http_ssl_module --w...原创 2019-12-17 21:25:26 · 770 阅读 · 0 评论 -
linux服务器手动生成ssl证书
openssl是目前最流行的SSL密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS协议的实现。比如生成到:/usr/local/ssl1、生成命令openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ss...原创 2019-11-21 15:05:47 · 2467 阅读 · 2 评论 -
nginx实现顶级域名跳转到www
配置文件如下[root@Nginx www]# cat test.conf server { listen 80; server_name test.com; location / { root html/test; index index.html index.ht...原创 2019-10-31 09:21:55 · 4954 阅读 · 0 评论 -
nginx屏蔽中国ip地址以及开放特定ip地址
1、更新操作:[root@host ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm2、安装相应大陆地址模块库相应的包[root@host ~]#yum install libmaxminddb libmaxminddb-devel -y[root@host ...原创 2019-05-16 19:01:43 · 3534 阅读 · 0 评论 -
nginx日志切割
1、编辑配置文件(如下所示)vim /home/deploy/nginx/conf/nginx-log-rotate/home/deploy/nginx/logs/*.log { nocompress daily copytruncate create notifempty rotate 7 olddir /home/deploy/nginx/old_logs...原创 2019-05-24 13:19:51 · 156 阅读 · 0 评论 -
服务器配置禁止某个IP访问网站
nginx禁止某个IP访问有IP刷网站,想封掉这个IP,不让他打开网站。查资料,网上很多人说 /etc/hosts.deny 可以实现。其实是不行的。又不想用 iptable,感觉太麻烦。直接查 nginx阻止ip访问的办法。 首先建立下面的配置文件放在 nginx 的 conf目录下面,命名为blocksip.conf:deny 4.4.4.4 //这是nginx要禁止的I...原创 2018-08-03 18:00:57 · 13342 阅读 · 1 评论 -
Nginx配置及内核优化详解
在日常的运维工作中,经常会用到Nginx服务,也时常会碰到Nginx因高并发导致的性能瓶颈问题。今天这里简单梳理下Nginx性能优化的配置(如有不妥,敬请指出~) 一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项: 1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。 worker_...转载 2018-08-03 17:55:04 · 298 阅读 · 0 评论 -
Linux zabbix3.4 安装文档(一)
图形界面安装部分见(https://mp.csdn.net/postedit/80965718)安装之前安装依赖包[root@VM_0_5_centos opt]# yum -y install openssl*libxml2*bzip2* libcurl*libjpeg-turbo*libpng* freetype* openldapopenldap-devel...原创 2018-07-09 09:14:07 · 598 阅读 · 0 评论 -
Keepalived+nginx高可用及+Tomcat负载均衡集群以及动静分离
概括:主要是利用keepalived做nginx的高可用 再用nginx做tomcat Web的负载均衡。总体拓扑图如下: 高可用部分第一步:安装部署nginx[root@localhost ~]# useradd nginx -s /sbin/nologin -M[root@localhost ~]# tar -xf nginx-1.13.8.tar.gz[root@localhost ~]# ...原创 2018-06-05 22:30:48 · 3327 阅读 · 0 评论 -
nginx配置优化+负载均衡+动静分离详解
nginx配置如下:#指定nginx进程运行用户以及用户组user www www;#nginx要开启的进程数为8worker_processes 8;#全局错误日志文件#debug输出日志最为详细,而crit输出日志最少/var/log目录是linux下的日志存放目录error_log /var/log/nginx/nginx_error.log crit;#指定进程id的存储位置pid ...转载 2018-06-05 17:41:07 · 598 阅读 · 0 评论