NGINX - 技术教程文章

linux安装nginx【图】

1. 下载:  # wget http://nginx.org/download/nginx-1.15.1.tar.gz2. 原文:https://www.cnblogs.com/changlezhong/p/9280734.html

学习计划 nginx 中 php的配置详解【代码】

本章只看一个刚下载的nginx是如何支持php的-- 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;}主要学习这里的配置问题--首先看一下location块,这是一个正则匹配,说明了所有以 .php 结尾的部分都会在这里解析,我们也是主要讲解这个模块是如何和php通信的。--fastcgi_pass  匹...

nginx作为反向代理常用模块

什么是反向代理?反向代理简单讲就是代理后端服务器响应客户端请求的服务器。我的理解,反向代理也可以理解为工作在7层应用层的负载均衡服务器为什么需要反向代理?1.隐藏后端主机2.更好的管理后端各主机的路由状况3.灵活的分配后端服务器资源4.根据具体服务进行转发。nginx如何实现反向代理功能?最简单的例子:location / {proxy_pass http://localhost:8000; #将匹配此location的请求发送到http://localhost:80000处理proxy_set...

nginx-项目在Windows下部署

服务器问题:一台电脑(没有显示器,主机)24小时开着,为用户提供服务中小型公司没有自己的服务主机 租借 ( 阿里云 华为云 腾讯云 )主机 就会有操作系统 Windows / Linuxnginx(反向代理)/tomcat其实就是这个主机上的提供服务的软件 第一:将自己的电脑作为服务器 安装nginx第二:远程部署(Mac)原文:https://www.cnblogs.com/gsq1998/p/12528447.html

Nginx启动错误:error while loading shared libraries: libpcre.so.1【代码】

# /usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 从错误提示信息可以得知是因为缺少lib文件导致,进一步查看具体内容:# ldd $(which /usr/local/nginx/sbin/nginx)libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030e8400000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000030f9a00000) lib...

Nginx HTTP负载均衡和反向代理配置【代码】

当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发。先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源。nginx完整的反向代理代码如下所示 :[root@data conf]# vim nginx.conf user www www; worker_processes 10; error_log /var/log/nginx/nginx_error.log; pid logs/nginx.pid; worker_rlimit_nofile 65535 events { u...

为重负网络优化 Nginx 和 Node.js --引用自https://linux.cn/article-1314-1.html【代码】

为重负网络优化 Nginx 和 Node.js在搭建高吞吐量web应用这个议题上,NginX和Node.js可谓是天生一对。他们都是基于事件驱动模型而设计,可以轻易突破Apache等传统web服务器的C10K瓶颈。预设的配置已经可以获得很高的并发,不过,要是大家想在廉价硬件上做到每秒数千以上的请求,还是有一些工作要做的。这篇文章假定读者们使用NginX的HttpProxyModule来为上游的node.js服务器充当反向代理。我们将介绍Ubuntu 10.04以上系统sysctl的调...

nginx-ingress之server-snippet用法【代码】

apiVersion: extensions/v1beta1 kind: Ingress metadata:annotations:nginx.ingress.kubernetes.io/server-snippet: |set $agentflag 0;if ($http_user_agent ~* "(Mobile)" ){set $agentflag 1;}if ( $agentflag = 1 ) {return 301 https://m.example.com;}原文:https://www.cnblogs.com/uglyliu/p/11777457.html

nginx.conf【代码】

#运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1;#全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid;#工作模式及连接数上限 events {use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能worker_connections 1024;#单个后台worker process进程的最大并发链接数# mul...

Nginx将utf8编码的url解码成\x的16进制格式导致无法匹配静态文件的问题处理

例如请求/touch/article/北京/full.html,到达nginx后变成/ /touch/article/%E5%8C%97%E4%BA%AC/full.html,Nginx静态文件配置: location ~* ^/touch/article/.*\.html$ { expires -1; root /home/htmlfile; charset UTF-8; if ( !-f $request_filename ){ proxy_pass http://client.api.com; } }实际请求的地址为/home/htmlfile/touch/article/\xE5\x8C\x97\xE4\xBA\xAC/...

nginx 配置 缓存更新,后端故障,允许使用过期缓存

1.配置 缓存更新,后端故障,允许使用过期缓存#缓存配置 , 不能去掉 proxy_cache_path proxy_cache levels=1:2 keys_zone=page_cache:512m inactive=1m max_size=80g use_temp_path=off; #配置 缓存更新,后端故障,允许使用过期缓存proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;原文:https://www.cnblogs.com/hixiaowei/p/12104013.html

nginx 切割日志文件【代码】【图】

一、利用crontab 切割nginx日志文件(linux平台下)cat nginx_log.sh #!/bin/bash # 零点执行该脚本 # Nginx 日志文件所在的目录 LOGS_PATH=/data/opt/nginx/logs ## 获取昨天的 yyyy-MM-dd YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) # 移动文件 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log # 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件 kill -USR1 $(cat /data/opt/nginx/logs/nginx.pi...

nginx 常用指令【代码】

1.启动# ./sbin/nginx -c ./nginx/conf/nginx.conf 2.停止./sbin/nginx -s quit  正常停止./sbin/nginx -s stop 强制停止 3.重启./sbin/nginx -s reload 原文:https://www.cnblogs.com/lv77/p/15163327.html

Nginx代理缓存加速服务器【图】

Nginx缓存概述 提供与Squid类似的缓存,把URL以及相关信息当成key,用MD5编码哈希后,把数据文件保存在硬盘上,并且只能为指定的URL或者状态码设置过期时间,并不支持类似 squid的purge命令来手动清除指定缓存页面,但是可以通过第三方的ngx_cache_purge来清除指定的URL缓存Nginx的缓存加速功能是由proxy_cache(用于反向代理和静态缓存)和fastcgi_cache(PHP动态缓存)两个功能模块完成1.proxy_cache原理2.Nginx缓存特点缓存稳定...

nginx配置多个server【代码】

http{}容器里面写两个不一样的server监听不一样的地址即可server {listen 8992;server_name localhost;location / {index index.php index.html index.htm;}location ~ .php$ {root /usr/local/nginx/html/zabbix;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}server {listen 8991;server_name localh...

nginx配置【代码】

For more information on configuration, see:* Official English Documentation: http://nginx.org/en/docs/* Official Russian Documentation: http://nginx.org/ru/docs/user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid;Load dynamic modules. See /usr/share/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;events { worker_connections 1024; }http { log_forma...

使用Nginx实现反向代理【图】

一、代理服务器 1、什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。 2、为什么要使用代理服务器 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的...

Nginx下的https配置【图】

https: https(Secure Hypertext Transfer Protocol) 安全超文本传输协议 它是以安全为目标的http通道,即它是http的安全版。它使用安全套接字层(SSL)进行信息交换。它在使用之前须要先得到证书。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作。并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用port443)SSL使 用40 位keyword作为RC4流加密算法,这...

nginx正向代理实现受限网站的访问【图】

项目背景:公司商务同事需要操作合作方的后台,但是这个后台做了限制(安全考虑只对指定IP放行),刚好公司是adsl拨号,经常更换IP需求:让商务同事不要经常给IP到合作方去添加白名单于是想到了做正向代理代理的方法,关于正向代理和反向代理的区别后面有说明,该场景适合用正向代理具体操作:两种方案:方案1将一台固定外网ip的windows系统添加到客户网站白名单,开通一个远程账号给商务同事,让他通过远程桌面操作合作方的后台方案...

nginx后端服务器返回给nginx502、504、404、执行超时等错误状态的解决方法

今天公司的网站访问的时候全部变成404页面,查看网站的文件没有问题,来检查nginx的配置的时候,发现后端的一台服务器不可用,直接访问那台后台的服务器的时候,返回的是404页面,因为upstream 里面设置了ip_hash。所以导致我怎么刷新都是404页面。由此想到了nginx的一个功能,就是当后端的服务器返回给nginx502、504、404、执行超时等错误状态的时候,nginx会自动再把这个请求转发到upstream里面别的服务器上面,从而给网站用户提...

nginx+webpy 出现 upstream timed out【代码】

关于nginx配置webpy应用出现的错误upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.6.141, server: localhost, request: "POST /api/ HTTP/1.1", upstream: 解决方法:在你的nginx主配置文件中的server下配置以下内容,如果你的nginx后面是proxy,就设置proxy相关的配置,如果是fastcgi就设置fastcgi相关的配置。我们目前配置的是webpy应用,所以配置fastcgi相关即...

nginx挂维护页面【代码】

本篇文章摘抄于他人的文章,来自于CSDN的JeremyIT同学,但我还是自己重新敲一遍。实现的效果是:访问网站的任何页面,都跳转到同一个页面。而这一个页面就是维护页面,可以根据需要修改。server {listen 80;index index.html index.htm;server_name www.example.com; if ($request_uri !~ "^/502.html$") {rewrite ^(.*) http://www.example.com/502.html permanent; }location / {...} } 还有一类需求是:1.某些重要页面还是...

nginx集群中图片指定一个地址中

#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;worker_rlimit_nofile 65535;events { worker_connections 65535;}http { include mime.types; default_type application/octet-stream; #log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ # ...

nginx平滑升级【代码】

把nginx从nginx-0.8.55升级到nginx-1.0.5准备工作:查看旧版本的配置信息nginx: nginx version: nginx/0.8.55 nginx: TLS SNI support disabled nginx: configure arguments:--prefix=/usr/local/nginx --user=nginx --group=nginx--with-http_stub_status_module --with-http_ssl_module [root@web01 ~]#1)准备好高版本的nginx源码包,解包# tar -zxf nginx-1.0.5.tar.gz2)配置,与低版本配置一样[root@web01 nginx-1.0.5]# ./c...

Windows环境将Flask应用程序部署在tornado+nginx的简单方法【代码】

1、Flask的入口程序为manage.py,代码如下: #coding=utf-8#!/usr/bin/pythonfrom somewhere import app #somewhere 表示的包含Flask的实例,如app = Flask(__name__) if __name__ == "__main__": app.run(debug=True)2、在manage.py的同级目录添加tornado应用程序tornado_server.py来托管manage.py,代码如下:#coding=utf-8#!/usr/bin/python from tornado.wsgi import WSGIContainerfrom tornado.httpserver import HTTPSer...

shell 分析 nginx 日志统计

1.统计ip访问量前10的 ip地址 cat access.log | awk ‘{print $1}‘ | sort | uniq -c | sort -nr | head -n 102.查看当天ip访问量统计 cat access.log |grep "21/Apr/2016" |awk ‘{print $1}‘|sort|uniq -c|sort -nr3.查看访问前10的页面统计 cat access.log | grep "21/Apr/2016" | awk ‘{print $7}‘ | sort | uniq -c | sort -nr | head -n 104.查看当天访问次数最多的时间段 tail -n 1000 access.log | awk ‘{pri...

nginx的几种常用配置

1. 设置默认虚拟主机对没有匹配的Host值时,返回错误403到客户端server { listen 80 default_server; server_name _; return 403;}2. 用户认证用户认证需要用到apache的htpasswd命令生成密码,如果没有安装apache,可以使用yum install httpd安装。生成密码文件,创建用户htpasswd -c /usr/local/nginx/conf/htpasswd test添加test用户,第一次添加时需要加-c参数,第二次添加时不需要-c参数在nginx的配置文...

nginx + tomcat 架构中,error_page错误页面的设置【代码】

如果是单独的nginx设置404或者403等错误页面时,只需要如下即可:fastcgi_intercept_errors on; error_page 404 /404.html;但是,如果nginx为后台tomcat做代理时,上述方法就搞不定了,那要如何,如下:proxy_intercept_errors on; #有意思的是,这个开关默认是关闭的,所以得配置打开 error_page 404 /404.html;nginx为tomcat做代理时,404或者403等错误都是后台tomcat报出来的,由于默认proxy_intercept_errors 参数...

Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群【代码】【图】

描述:1、前端两台NGINX,通过keepalived虚拟IP漂移,实现前端两台NGINX高可用;2、利用NGINX反向代理功能对后端varnish实现高可用集群, 3、再通过varnish实现动静分离注:1、先装Nginx +keepalived2、装varnish3、装lamp需要6台虚拟机(100-101装Nginx +keepalived:100主,101备)需要联网(102-103装varnish)需要联网(104-105装lamp)需要联网所有主机必做的步骤 systemctl stop firewalld //关闭防火墙 setenforce 0 ...

Nginx基本介绍【图】

1.Nginx介绍nginx是由俄罗斯人开发的一款高性能的http和反向代理服务器,也可以用来作为邮件代理。相比较于其他的服务器,具有占用内存少,稳定性高等优势2.反向代理正向代理类似一个跳板机,代理访问外部资源。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我。从网...