【Nginx】Hello world程序

模块如何在运行中生效

配置文件中的location块决定了匹配某种URL的请求将会由相应的HTTP模块处理,因此,运行时HTTP框架会在接收完毕HTTP请求的头部后,将请求的URL与配置文件中的所有location进行匹配,匹配后再根据location{}内的配置项选择http模块来调用。

在mytest模块中,只有在配置了location /uri{mytest;}后,http框架才会在某个请求匹配了/uri后调用它处理请求。如果某个匹配了URL请求的location中没有配置mytest配置项,mytest模块依然不会被调用。

一、config文件编写

Nginx提供了一种简单的方式将第三方的模块编译到Nginx中,首先把源代码文件全部放到一个目录下,同时在该目录中编写一个文件用于通知Nginx如何编译本模块,这个文件名必须为config。

然后,在configure脚本执行时加入参数  --add-module=PATH(新模块代码以及config文件存放目录),就可完成Nginx编译工作。

注意:configure脚本是在nginx解压后的目录中

config文件格式

config文件其实是一个可执行的shell脚本,如果只想开发一个http模块,需要定义三个变量:

1)ngx_adon_name

仅在configure执行时使用,一般设置为模块名称

2)HTTP_MODULES

保存所有的http模块名称,每个模块间由空格相连,在重新设置这个变量时,不要直接覆盖,因此要如下设置:

"$HTTP_MODULES ngx_http_mytest_module"

3)NGX_ADDON_SRCS

用于指定新模块的源代码,多个待编译的源代码之间可以用空格相连

注意,在设置这个变量时可以使用$ngx_addon_dir变量,它等价于configure执行时,--add-module=PATH的PATH参数

ngx_addon_name=ngx_http_mytest_module
HTTP_MODULES="$HTTP_MODULES ngx_http_mytest_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_mytest_module.c"

二、修改配置文件

在/usr/local/nginx/conf/nginx.conf中添加一个location块

location /test{

  mytest;

}

三、定义HTTP模块及处理用户请求

【Nginx】Hello world程序,布布扣,bubuko.com

时间: 2024-10-27 17:14:58

【Nginx】Hello world程序的相关文章

nginx解析PHP程序报错的解决方案

[[email protected] log]# tail -f nginx/error.log 2019/07/31 01:51:02 [error] 26151#0: *52 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.1.124, server: localhost, request: "GET

配置 Nginx 支持 PHP 程序请求访问

1.在虚拟主机配置(即Server块)中添加如下代码: location ~ \.php$ {    include fastcgi_params;    fastcgi_pass 127.0.0.1:9000;    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    } 2.重载 nginx :/usr/local/nginx/sbin/nginx -s reload 3.访问 php 页面即可

Windows平台使用Nginx配置NodeJs程序

简介 Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名. 安装 步骤:官网下载Nginx,解压到D盘目录,启动Nginx服务. 官网下载地址:http:

Nginx缓存和程序动静分离设置

一.配置Nginx缓存. 参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path 语法 proxy_cache_path path [levels=levels] keys_zone=name:size [inactive=time] [max_size=size] [loader_files=number] [loader_sleep=time] [loader_threshold=time];

nginx部署php程序

1.拿到php源码包后要先修改配置文件里面的数据库 [[email protected] ~]# find / -name config.php /www/wwwroot/default/Application/Common/Conf/config.php [[email protected] ~]# vi /www/wwwroot/default/Application/Common/Conf/config.php /* 数据库配置 */ 'DB_TYPE' => 'mysqli', // 数

nginx搭建php程序报错解决---TP框架

1.TP框架中 出现如下错误: 访问网站 http://192.168.0.204/ STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/51620d75af91aa77adc53082d1113d54.php错误位置FILE: /www/wwwroot/default/ThinkPHP/Library/Think/Storage/Driver/File.class.php LINE: 47 TRACE#0 /www/wwwroot/default/ThinkPH

rsync同步Nginx日志遇到问题总结

一.目的 将nginx 日志通过普通用户利用rsync公钥认证的方式实时同步到本地服务器上,之后使用elk程序进行处理. 二.遇到问题及解决方法思路 问题1.文件权限:nginx 的日志默认权限如下: [[email protected] ~]# ll /var/log/nginx/access.log -rw-r----- 1 nginx adm 36330 Sep 11 10:26 /var/log/nginx/access.log 我新建的是普通用户,标准的用户组,用rsync同步时,报个

Nginx网站服务

一.简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件

Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]

mkdir -p /data0/software cd /data0/software wget http://sysoev.ru/nginx/nginx-0.8.46.tar.gz wget http://www.php.net/get/php-5.2.14.tar.gz/from/this/mirror wget http://php-fpm.org/downloads/php-5.2.14-fpm-0.5.14.diff.gz wget http://dev.mysql.com/get/D

Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程

1. Nginx 介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,从2004年开始它已经在该站点运行了七八年了.Igor Sysoev在建立的项目时,使用基于BSD许可. 英文主页:http://nginx.org. Nginx以事件驱动的方式编写,所以有非常