应用部署方式为 nginx + passenger + rails 当我想要用nginx来默认处理400以上状态时,发现在rails返回respose之后,nginx不会再次执行error_page(官方介绍该directive在proxy返回response依然会执行),原因在于需要配置 passenger_intercept_errors on ; nginx.conf 中 server 配置: server { listen 3443 ssl; server_name XXX; ssl_c…
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环境可以使用以下指令 apt-get install build-essential apt-get install libtool centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libtool make 安装g++:…
1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 ) 中在server 区域加入: error_page 404 = /404.html 或者 error_page 404 = http://www.xxx.com/404.html 4.更改后重启nginx,,测试nginx.co…
什么是404页面如果网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则可能为:404 Not Foundnginx/0.8.6 为什么要自定义404页面在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了.如果此时能有一个漂亮的页 面能够引导用户去他想去的地方必然可以留住用户…
转自:http://blog.csdn.net/happydream_c/article/details/54943802 一.nginx简介 Nginx (发音为[engine x])专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对并发连接的高处理能力(单台物理服务器可支持30000-50000个并发连接), 是一个高性能的 HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服. 实际使用中,nginx主要:反向代理.负载均衡 二.nginx基本配置与…
日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很多的下载来源不是本站,是迅雷.flashget, 源源不断的带宽,防盗链绝对是当务之急!使用来源判断根本不靠谱,只能防止一些小白站点的盗链,迅雷之类的下载工具完全无效:如果是nginx配置的站点,可以使用secure link来完美解决这个问题,远离迅雷. 以下Nginx的盗链配置,仅用于下载服务器…
1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Redis下载地址:wget http://download.redis.io/releases/redis-2.8.6.tar.gz 2.安装依赖包 yum install -y gcc gcc-c++ readline-devel pcre-devel openssl-devel tcl perl…
nginx中可以将lua嵌,让nginx执行lua脚本,可以处理高并发,非阻塞的处理各种请求,openresty项目中可以使用nignx可以直接构建 srcache_nginx + redis 缓存,而不用通过动态语言来处理(QPS可以轻松的提高了) 看一下openresty中srcache-nginx-module的工作流 好了废话不多说 一.安装 pcre cd /usr/local/src wget -c ftp://ftp.csx.cam.ac.uk/pub/software/progr…
在使用Nginx时,经常会碰到502 Bad Gateway和504 Gateway Time-out错误,下面以Nginx+PHP-FPM来分析下这两种常见错误的原因和解决方案. 1.502 Bad Gateway错误  在php.ini和php-fpm.conf中分别有这样两个配置项:max_execution_time和request_terminate_timeout. 这两项都是用来配置一个PHP脚本的最大执行时间的.当超过这个时间时,PHP-FPM不只会终止脚本的执行, 还会终止执行…
日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很多的下载来源不是本站,是迅雷.flashget, 源源不断的带宽,防盗链绝对是当务之急!使用来源判断根本不靠谱,只能防止一些小白站点的盗链,迅雷之类的下载工具完全无效:如果是nginx配置的站点,可以使用secure link来完美解决这个问题,远离迅雷. 以下Nginx的盗链配置,仅用于下载服务器…
FastCGI参数 fastcgi主要用于http调用外部解释器的接口,采用c/s结构,可以将http服务器和脚本解析器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程.当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器.这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能. fastcgi在nginx配置文件中的配置实例: http { ..... fa…
问题由来 昨天一网友在segmentfault.com上提问,无法做404重定向 打开对方的网站随便输入一个错误的地址发现给出了404代码,但是页面完全空白,并没有显示404页面的设定内容 当时就明白啥情况了,只要在nginx.conf配置文件上加上一句 fastcgi_intercept_errors on,就可以了 如果没这句的不管是error_page 还是nginx自带的404跳转都不能正常显示(访问不存在的php页面时可能会显示“No input file specified.”) 什…
error_page指令解释 nginx指令error_page的作用是当发生错误的时候能够显示一个预定义的uri,比如: error_page 502 503 /50x.html; 这样实际上产生了一个内部跳转(internal redirect),当访问出现502.503的时候就能返回50x.html中的内容. 同时我们也可以自己定义这种情况下的返回状态吗,比如: error_page 502 503 =200 /50x.html; 这样用户访问产生502 .503的时候给用户的返回状态是2…
转载自:http://www.netingcn.com/nginx-perl.html 如果对于一个绝大部分内容是静态的网站,只有极少数的地方需要动态显示,碰巧你又了解一点perl知识,那么nginx + perl的结合就能很好解决问题.要想nginx支持perl脚本,在编译nginx时候需要如下参数: ./configure --with-http_perl_module 如果make时候出现如下类似错误: Can’t locate ExtUtils/Embed.pm in @INC (@IN…
一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Nginx 已经在俄罗斯最大的门户网站── Rambler Media(www.rambler.ru)上运行了4年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器.在国内,已经有新 浪博客.新浪播客.搜狐通行证.网易新闻.网易博客.金山逍遥网.金山爱词霸.校内网.YUPOO相册.豆瓣.迅雷看看等多家网站.频道使用 Nginx…
nginx服务器日志相关指令主要有两条: 一条是log_format,用来设置日志格式; 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小 可以参加ngx_http_log_module. 一般在nginx的配置文件中日记配置(/usr/local/nginx/conf/nginx.conf). 我在线上的情况是:vi nginx.conf access_log off; include vhost/*.conf; 所有在vhost里面配置的access_log文件日志…
nginx中proxy_pass小斜杠 1. 故事背景 相信做微信公众号开发的朋友都知道,要想在微信中预览效果,必须使用域名访问.很多朋友使用内网穿透工具.不仅不好用还不稳定.所以,发挥脸厚吃天下的态度,向公司it申请了一个子域名指向了阿里云一台ecs的80端口.可是后来,端口不够用了.本着就近原则,又找到IT小哥,能再好心的再映射一个8080端口.那知傲娇的小哥一脸鄙夷眼睛看着我,对不起子域名只能80端口.不凑巧的时,我的ecs也只开放了80端口.此时只有一个域名,我要映射多个服务器.是时候放…
一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc/hosts 格式: ip地址 域名 eg: 192.168.3.172 www.gerry.com 2.在nginx.conf文件中配置server段 server {   listen 80;   server_name www.gerry.com; # 域名区分       location…
VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法 在linux上安装nginx 请参考:Linux Centos7 安装 nginx 在虚拟机centos7上安装nginx之后虚拟机内能访问,真机不能访问,修改iptables配置也不起作用,最后上网查找了资料后才发现centos的防火墙改成了firewall,不再叫iptables,开放端口的方法如下: firewall-cmd --zone=public --add-port=80/tcp --permanent 1…
nginx中如何设置gzip(总结) 一.总结 一句话总结: 真正用的时候,花一小点时间把gzip的各个字段的意思都看一下,会节约大量时间 直接gzip on:在nginx的配置中就可以开启gzip压缩 server{ gzip on; gzip_buffers 32 4K; gzip_comp_level 6; gzip_min_length 100; gzip_types application/javascript text/css text/xml; gzip_disable "MSIE…
拉取 nginx 最新版镜像,然后简单启动一个 nginx 容器: docker pull nginx:latest docker run --name nginx01 -d -p 80:80 nginx 这样就安装并运行好了 nginx,可以使用浏览器访问 ip 地址即可看到 nginx 服务. 如果要对 nginx 进行配置,就需要通过交互模式进入容器: docker exec -it nginx01 bash 在容器内部就可以访问到完整的 nginx 程序文件,可以找到: html文件目录…
https://mp.weixin.qq.com/s/FZAcQQAKomGEe95kln1HCQ 在京东我们是如何做服务降级的 https://mp.weixin.qq.com/s/FZAcQQAKomGEe95kln1HCQ 当我们依赖的中间件资源或者是上游服务性能出现严重问题时,为了防止用户看到错误页面或者加载页面时间过长,我们需要将服务降级静态页面.或者将不影响主流程的旁路服务关闭掉,以让出资源给主要流程.这类操作称为降级.服务降级方案有三种方式,降低一致性.减少非必要功能.简化功能,后…
nginx中location的匹配模式有以下几种: 精确匹配:以=开头,只有完全匹配才能生效,例子location = /uri 非正则匹配:以^~开头,^表示非.~表示正则,例子location ^~ /uri 正则匹配: 以~开头,表示区分大小写的正则匹配,例子location ~ pattern 以!~开头,表示区分大小写不匹配的正则,例子location !~ pattern 以~*开头,表示不区分大小写的正则匹配,例子location ~* pattern 以!~*开头,表示不区分大小…
一个执着于技术的公众号 Nginx系列导读 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 一文带你读懂Nginx反向代理 前言 我们在讲解Nginx 配置文件详解 中, 把Nginx的主配置文件分成了三部分,如图: 今天就带着大家继续学习Nginx主配置文件第三部分http块中的location指令 1.location 介绍 location是Nginx中的块级指令(block directive),locatio…
目录 封禁 IP 仅开放内网 负载均衡 列出文件列表 路由转发 开启 gzip 压缩 解决跨域 资源防盗链 Keepalived 提高吞吐量 HTTP 强制跳转 HTTPS 封禁 IP 通过 deny 可以封禁指定 IP http { # .... # 封禁IP deny 192.168.4.3; deny 31.42.145.0/24; deny 51.12.35.0/24; } 仅开放内网 需要先禁止 192.168.1.1 开放其他内网网段,然后禁止其他所有 IP location / {…
Nginx中root与alias都是定义location {}块中虚拟目录访问的文件位置: 先看看两者在用法上的区别: location /img/ { alias /var/www/image/; } #若按照上述配置的话,当客户端请求访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件 location /img/ { root /var/www/image; } #若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/im…
之前在配置tomcat的时候都是一个项目对应一个tomcat,也就是一个端口.最近需要把两个项目整合到同一个tomcat中,通过配置nginx让两个域名指向同一tomcat的不同项目.整合完毕后发现其中一个项目的后台管理系统登录不了了.经过调试发现原来是session丢失了.上网查了之后得到解决方案.现记录下来作为备忘. 文章转自:http://blog.csdn.net/yakson/article/details/46683285 ******************************…
Nginx中经常需要做各种配置,总结如下: 1.server_name配置 nginx中的server_name指令主要用于配置基于名称虚拟主机,同一个Nginx虚拟主机中,可以绑定多个server_name,各个域名用空格隔开即可.如下: server { listen ; server_name test.com www.test.com; ... ... } 如果server_name有多个,那么通过代码如$_SERVER["SERVER_NAME"]获取的始终将是Nginx s…
FastCGI: FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可用的.另外传统的CGI接口方式安全性也很差,现在已经很少被使用了. FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程.当HTTP服务器每次遇到动态程序时,可以将其直接交付给Fast…
#nginx 开启目录浏览 location / { root /data/www/file //指定实际目录绝对路径: autoindex on; //开启目录浏览功能: autoindex_exact_size off; //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b: autoindex_localtime on; //开启以服务器本地时区显示文件修改日期! } #windows下php-fpm开启多个端口监听 1) 将upstream配置到和server{ }段同一级的…