存档

‘nginx’ 分类的存档

nginx + fastcgi + c/c++

2016年7月18日 1 条评论

使用php写后端程序的例子很多,用c/c++的比较少。 本文采用nginx,spawn,fastcgi++来构建一个基于cgi的web程序。 由于fastcgi++依赖于boost库,我们先来装boost库 Linux下编译boost 1.编译前的准备工作 sudo yum install bzip2 bzip2-devel bzip2-libs python-devel -y 1 sudo yum install  bzip2 bzip2-devel bzip2-libs python-devel -y 2.下载安装包并解压 #wget http://netcologn...

分类: nginx 标签:

nginx 实现 ajax 跨域请求

2016年1月24日 1 条评论

AJAX从一个域请求另一个域会有跨域的问题。那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。如下所示: location /{ add_header 'Access-Control-Allow-Origin' 'http://other.subdomain.com'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET'; ... ... the rest of your configuration here ... ... } 1234567891011 ...

分类: nginx 标签: ,

nginx rewrite 实现伪静态的自动补全

2015年8月21日 2 条评论

nginx+php 使用的时候经常需要伪静态,一般大家都手动设置。那有没有办法让 nginx 自动补全路径呢? 这两天折腾很久,才实现了这样一个功能: 请求 /a/b/c 若文件不存在,查找 /a/b/index.php,/c 作为 PATH_INFO; 若文件不存在,查找 /a/index.php,/b/c 作为 PATH_INFO; 若文件不存在,查找 /index.php,/a/b/c 作为 PATH_INFO; 若文件不存在,返回 404. 虽然这种损耗性能的行为不适合部署,但在本机调试的时候还是能够带来方便的 🙂 server 端应有如下代码,其他部分使用自己的配置: index index.php index.html index.htm; ...

分类: nginx 标签:

NGINX如何实现高性能和可扩展性

2015年6月28日 没有评论

Owen Garrett是Nginx公司的产品总监,他在Nginx的官方博客上发表了一篇博文,说明了是哪些设计决策使得NGINX产品具备一流的性能和扩展能力。 NGINX的整体架构的特点是由一组进程协同工作: 主进程:负责执行特权操作,如阅读配置文件、绑定套接字、创建/通知协调(Signalling)子进程。 工作进程:负责接收和处理连接请求,读取和写入磁盘,并与上游服务器通信。当NGINX处于活跃状态时,只有工作进程是忙碌的。 缓存加载器进程:负责将磁盘高速缓存加载到内存中。这个进程在启动时运行后随即退出。 缓存管理器进程:负责整理磁盘缓存的...

分类: nginx 标签:

nginx使用线程池提升9倍性能

2015年6月22日 9 条评论

众所周知nginx使用异步,事件驱动方法处理连接。这意味着nginx使用一个worker进程处理多个连接和请求,而不是每一个请求有一个专门的进程或着线程处理(像传统架构的服务器那样,例如apache)。为了实现这个目的,nginx使用非阻塞模式的socket和高效的方法epoll和kqueue。 因为高负荷进程的数量少且相对不变(通常1个cpu核心配1个进程),它内存消耗少,cpu时间没有浪费在任务切换上。这种处理请求的方式的优势也因为nginx而被大家所熟知。nginx能够成功处理数百万并发请求同时扩展性非常好。 不过异步,事件驱动方法还是有一个问题...

分类: nginx 标签: ,

nginx与tomcat多实例搭建

2015年3月28日 没有评论

nginx和tomcat结合也是一个常用的组合,看到一个好的文章,介绍nginx做为方向代理,后端多个tomcat。 实现:一个nginx实例和多个tomcat实例,每个tomcat实例承载唯一的项目,tomcat实例在项目启动时自动启动 Nginx的安装配置 在/usr/local/目录下分别安装nginx和tomcat 为nginx添加conf.d目录,用于各项目的配置,比如新建renhetoutiao.conf文件 server { listen 80; server_name devtoutiao.renhe.cn; root /home/renhetoutiao/renhetoutiao/htdocs; access_log /home/...

分类: nginx 标签:

connect() failed (111: Connection refused) while connecting to upstream

2015年3月24日 没有评论

nginx是一个方向代理服务器,它负责把http请求转发给另一个服务进程处理(例如php-fpm). nginx的111错误表示nginx收到了一个请求,但是不能转发给配置文件中配置的的要给转发的进程。 一般发生这种情况都是nginx启动了,但是没有启动服务进程php-fpm,这时候启动或者重启服务进程就可以了。

分类: nginx 标签:

nginx uWSGI Django python运行环境安装和配置

2015年2月8日 1 条评论

uWSGI is a fast (pure C), self-healing, developer/sysadmin-friendly application container server.”, it utilizes the uwsgi protocol (notice the all-lowercase spelling), and supports WSGI applications served from it. 上面这段文字是uWSGI的官方定义。 uWSGI是一个快速(纯C的)、自维护、对开发管理人员友好的应用容器。它使用uwsgi协议(小写定义),支持WSGI应用运行在它上面。 uwsgi安装 yum install python python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openss...

分类: nginx 标签: ,

nginx location 配置踩坑过程分享

2015年2月6日 3 条评论

问题描述 我们的业务系统比较复杂,但最终提供给用户的访问接口比较单一,都是使用 Nginx 来做一个代理转发,而这个代理转发,往往需要匹配很多种不同类型的 URL 转给不同的服务。这就使得我们的 Nginx 配置文件变得很复杂,粗略估计了下,我们有近20个 upstream,有近60个 location 匹配。这些配置按照模块分布在不同的文件中,虽然复杂,但是仍然在我们的努力下运行的良好。直到有一天,有位同事给我反映说偶尔有些 URL 会出现 404 的问题。一开始没太在意,因为他也说不准是哪一种 URL 才遇到这个问题。 问题查找 后来,慢慢的查找...

分类: nginx 标签:

nginx屏蔽ip

2014年12月28日 11 条评论

采集和防止采集是一个经久不息的话题,一方面都想搞别人的东西,另一方面不想自己的东西被别人搞走。 本文介绍如何利用nginx屏蔽ip来实现防止采集,当然也可以通过iptable来实现。 1.查找要屏蔽的ip awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n 1 awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n nginx.access.log 为日志文件, 会到如下结果,前面是ip的访问次数,后面是ip,很明显我们需要把访问次数...

分类: nginx 标签: