Windows下编译Nginx并添加模块
windows10系统配置nginx文件服务器的图文教程
windows10系统配置nginx⽂件服务器的图⽂教程Nginx官⽹下载Windows版本的Nginx:将下载的软件包进⾏解压:注意:解压包的路径不能包含中⽂字符,否则Nginx服务启动不了启动Nginx服务:“Windows键+R键"打开运⾏,输⼊"cmd"进⼊"Dos终端”C:\Users\Administrator>f:F:\>cd GX\nginx-1.16.1# 启动命令F:\GX\nginx-1.16.1>start nginxF:\GX\nginx-1.16.1>服务启动成功后,在任务管理器中会有两个"nginx"进程修改配置⽂件,重启Nginx在"nginx.conf"⽂件"HTTPS server块"上⽅新增以下⼏⾏# 添加⽂件管理器# 显⽰⽬录autoindex on;# 显⽰⽂件⼤⼩autoindex_exact_size on;# 显⽰⽂件时间autoindex_localtime on;server {listen 8888;server_name localhost ;# 本地⽂件路径# 注意不能直接以整个逻辑磁盘F:\ 为⽬录路径,要F:\英⽂⽬录名root F:\GX\Chiron ;}重新加载Nginx服务# 重新加载Nginx服务命令F:\GX\nginx-1.16.1>nginx.exe -s reloadF:\GX\nginx-1.16.1>注意:1. ⽬录名与⽂件名要求使⽤英⽂字符才能正常下载;2. 带有中⽂字符的⽂件可能会显⽰乱码,并且下载时,可能会报"500 Internal Server Error"错误Windows 版本的Nginx相关命令:nginx -s stop //停⽌nginxnginx -s reload //重新加载nginxnginx -s quit //退出nginxstart nginx //启动nginx设置PC机开机⾃启动C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup将“nginx.exe”⽣成快捷⽅式到上⾯⽬录下即可总结以上所述是⼩编给⼤家介绍的windows10 系统配置nginx⽂件服务器,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
nginx编译安装
nginx编译安装⼀、nginx版本查看:/usr/local/nginx/sbin/nginx -V可以看到编译安装的nginx版本是1.14.0 ,通过gcc 4.8.5 20150623编译的。
⼆、防⽕墙开启80端⼝firewall-cmd --permanent --zone=public --add-port=80/tcpfirewall-cmd --reload #重新加载⽣效firewall-cmd --list-all #查询所有规则三、安装nginx依赖包yum -y groupinstall Development toolsyum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel wgetpcre pcre-devel:使nginx⽀持正则表达式zlib zlib-devel:使nginx⽀持gzip压缩openssl openssl-devel:使nginx⽀持https四、添加nginx⽤户useradd nginx -s /sbin/nologin -M五、编译安装nginxwgetmv nginx-1.14.0.tar.gz /usr/localtar zxvf nginx-1.14.0.tar.gzcd nginx-1.14.0./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_modulemakemake installln -s /usr/local/nginx-1.14.0 /usr/local/nginx #创建软链接六、查看nginx编译参数:/usr/local/nginx/sbin/nginx -V七、检查配置⽂件并启动nginx进程/usr/local/nginx/sbin/nginx -t #检查配置⽂件/usr/local/nginx/sbin/nginx #启动nginx进程/usr/local/nginx/sbin/nginx -s stop #关闭nginx⼋、查看nginx进程对应的端⼝是否成功启动lsof -i:80九、测试能否访问成功curl⼗、创建并配置nginx.service⽂件centos 7以上是⽤Systemd进⾏系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计⽬标是克服 sysvinit 固有的缺点,提⾼系统的启动速度。
nginx windows 编译原理
nginx windows 编译原理一、概述Nginx是一款流行的开源Web服务器软件,它具有高性能、稳定性和易用性等特点。
在Windows平台上,Nginx可以通过编译的方式进行安装,本文将介绍Nginx在Windows环境下编译的原理。
二、编译环境准备在开始编译Nginx之前,需要确保以下环境准备就绪:1. Windows操作系统,建议使用64位版本。
2. Visual Studio安装,用于编译Nginx源代码。
3. 源代码目录,用于存放Nginx源代码。
三、编译步骤1. 下载Nginx源代码,可以从官方网站下载。
2. 打开Visual Studio,进入Nginx源代码目录。
3. 配置编译环境,包括编译器版本、调试器等。
4. 打开Nginx源代码目录中的“Makefile”文件,根据需要修改编译选项。
5. 点击“开始”按钮,开始编译过程。
6. 等待编译完成,生成可执行文件和库文件。
7. 完成编译后,可以将生成的二进制文件复制到Windows系统下进行安装。
四、编译原理分析Nginx在Windows环境下编译的原理主要包括以下几个步骤:1. 源代码解析:Nginx源代码被解析成可执行的机器码,这是通过编译器和汇编器完成的。
编译器将C/C++代码转换成机器码,汇编器将汇编语言转换成机器码。
2. 链接:在编译过程中,需要进行链接操作,将不同的对象文件和库文件合并成一个可执行文件。
链接器负责将各个对象文件中的符号(函数和变量)正确地链接在一起。
3. 库文件生成:在编译过程中,需要生成一些库文件,如共享库(动态链接库)和静态库。
这些库文件包含了可重用的代码和数据,可以在多个程序中使用。
4. 配置文件处理:Nginx的配置文件是重要的组成部分,它决定了Nginx的行为和功能。
在编译过程中,会根据配置文件进行相应的处理,生成相应的数据结构和函数。
5. 多平台支持:Nginx源代码中使用了跨平台的技术和工具,可以在多种操作系统和硬件平台上进行编译和运行。
nginx在Win下编译
NGINX 1.11.9 Windows下编译攻略简介为了能编译windows版本的NGINX,需要对原版的开源代码做相应的调整。
目前网上能找到的一些攻略都比较老旧,并不一定适应最新的环境配置。
所以我用了2天时间对Nginx的源代码管理及编译管理做了相应的理解和调整。
并总结为如下文档,希望对大家有所帮助。
操作系统我用的是Win10,我相信Win7,8等都是没问题的。
目录简介 (1)一、准备工作 (2)1. 安装msys2 (2)2. 安装解压缩软件 (2)3. 安装ActivePerl5 (2)4. 安装VS2010 (3)5. 下载Nginx源码 (3)6. 下载第三方源码 (4)1)PCRE (4)2)zlib (4)3)OpenSSL (4)4)NASM (如果使用1.0.2版本的OPENSSL此项忽略) (5)7. 相关官方文档资源 (6)二、修改工作 (6)1. Msys2启动追加Windos的PATH (6)2. Msys2支持VC2010命令行调用 (7)3. Msys2中文字符支持 (9)修改如下两处: (10)检查修改后的效果 (12)4. 修改link.exe (12)5. 修改编译参数CFLAGS (15)6. 修改configure支持msys2-64bit (15)7. 添加configure输入 (16)三、编译过程 (18)1. 启动Msys2切换到/nginx-cus/nginx-1.11.9目录 (18)2. 运行.auto/configure (19)3. 运行nmake (20)4. 测试nginx (20)5. 添加nginx-addon(多个插件添加) (22)一个插件的添加方式: (22)多个插件的添加: (22)一、准备工作1.安装msys2网上能找到的所有说明都是基于msys的,但是如果你尝试从官网下载msys实在是太慢了。
而且msys 太过老旧,多年前就停止维护了。
Windows2012中安装Nginx并创建为Windows服务
Windows2012中安装Nginx并创建为Windows服务1、安装Nginx下载windows版nginx (/download/nginx-1.10.0.zip),之后解压到需要放置的位置(D:\xampp\nginx)2、将Nginx设置为Windows服务需要借助"Windows Service Wrapper"小工具,项目地址:https:///kohsuke/wi nsw下载地址:/releases/com/sun/winsw/winsw/1.18/winsw-1.18 -bin.exe下载该工具后,将其放在Nginx安装目录下,并重命名为nginx-service.exe,创建配置文件ngi nx-service.xml(名字要和工具名一样),创建nginx-service.exe.config(为支持NET 4.0 ru ntime,默认只支持NET 2.0 runtime)。
文件结构如下:nginx-service.xml 内容如下:<service><id>nginx</id><name>Nginx Service</name><description>High Performance Nginx Service</description><logpath>D:\xampp\nginx\logs</logpath><log mode="roll-by-size"><sizeThreshold>10240</sizeThreshold><keepFiles>8</keepFiles></log><executable>D:\xampp\nginx\nginx.exe</executable><startarguments>-p D:\xampp\nginx</startarguments><stopexecutable>D:\xampp\nginx\nginx.exe</stopexecutable><stoparguments>-p D:\xampp\nginx -s stop</stoparguments></service> nginx-service.exe.config 内容如下:<configuration><startup><supportedRuntime version="v2.0.50727" /><supportedRuntime version="v4.0" /></startup><runtime><generatePublisherEvidence enabled="false"/></runtime></configuration>在cmd中运行如下命令安装windows服务D:\xampp\nginx\nginx-service.exe install 之后就可以在Windows服务面板中启动服务了。
windows下nginx安装、配置与使用
windows下nginx安装、配置与使用1)下载地址:从nginx官网下载相应的安装包2)启动解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹C:\nginx\logs3)使用http://localhost4)关闭nginx -s stop 或taskkill /F /IM nginx.exe > nul5)常用配置C:\nginx\conf\nginx.conf,使用自己定义的conf文件如my.conf,命令为nginx -c conf\my.conf常用配置如下:Nginx.conf代码http {server {#1.侦听80端口listen 80;location / {# 2. 默认主页目录在nginx安装目录的html子目录。
root html;index index.html index.htm;# 3. 没有索引页时,罗列文件和子目录autoindex on;autoindex_exact_size on;autoindex_localtime on;}# 4.指定虚拟目录location /tshirt {alias D:\programs\Apache2\htdocs\tshirt;index index.html index.htm;}}# 5.虚拟主机配置server {listen 80;server_name ;access_log /logs/access.log;location / {index index.html;root /htdocs;}}}http {server {#1.侦听80端口listen 80;location / {# 2. 默认主页目录在nginx安装目录的html子目录。
root html;index index.html index.htm;# 3. 没有索引页时,罗列文件和子目录autoindex on;autoindex_exact_size on;autoindex_localtime on;}# 4.指定虚拟目录location /tshirt {alias D:\programs\Apache2\htdocs\tshirt;index index.html index.htm;}}# 5.虚拟主机配置server {listen 80;server_name ;access_log /logs/access.log;location / {index index.html;root /htdocs;}}}小提示:运行nginx -V可以查看该Win32平台编译版支持哪些模块。
Nginx已编译的nginx-添加新模块
Nginx已编译的nginx-添加新模块
1.查看已有模块
/usr/local/nginx/sbin/nginx -V
此处我是安装了配置SSL 想在此加上FastDFS模块
将红⾊的地⽅复制出来记到⼀个⼩本本上
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/usr/local/fastdfs-nginx-module/src/
2.重新编译Nginx
在此位置重新执⾏上⾯的:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/usr/local/fastdfs-nginx-module/src/
千万不要make install,不然就真的覆盖了
make //千万不要make install,不然就真的覆盖了
先备份⼀波,备胎还是需要的
/usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
将编译的⽂件复制到你原来的sbin ⽬录⾥
cp ./objs/nginx /usr/local/nginx/sbin/
OK 新模块安装完成该怎么⽤和以前⼀样,只是添加了新的模块
到此这篇关于Nginx已编译的nginx-添加新模块的⽂章就介绍到这了,更多相关nginx 编译添加新模块内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Nginx重新编译添加模块的方法
Nginx重新编译添加模块的⽅法编译安装Nginx的时候,有些模块默认并不会安装,⽐如http_ssl_module,那么为了让Nginx⽀持HTTPS,必须添加这个模块。
下⾯讲解如何在已经安装过后再次添加新的模块。
1、找到安装nginx的源码根⽬录(即安装包存放⽬录),如果没有的话下载新的源码并解压cd softwarelsnginx-1.10.2 nginx-1.10.2.tar.gz2、查看nginx版本极其编译参数/usr/local/nginx/sbin/nginx -V3、进⼊nginx源码⽬录cd nginx-1.10.24、重新编译的代码和模块./configure --prefix=/usr/local/nginx --with-http_ssl_module5、执⾏ make (注意:千万别 make install ,否则就覆盖安装了), make完之后在/software/nginx-1.10.2/objs⽬录下就多了个nginx,这个就是新版本的程序了。
6、备份旧的nginx程序cd /usr/local/nginx/sbin/mv nginx nginx_bak7、把新的nginx程序复制到/usr/local/nginx/sbin/下cp /software/nginx-1.10.2/objs/nginx /usr/local/nginx/sbin/8、测试新的nginx程序是否正确/usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful9、平滑启动服务/usr/local/nginx/sbin/nginx -s reload查看模块是否已安装/usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.10.2built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)built with OpenSSL 1.0.1e-fips 11 Feb 2013TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --with-http_ssl_module重启Nginx./nginx -s quit./nginxnginx重新加载模块完成!以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
windows下Nginx和PHP的安装与配置
一.软件准备1.Nginx:/download/nginx-1.0.4.zip2.php:/download/php-5.2.17-Win32-VC6-x86.zip这里需要注意一下,如果使用Apache或Nginx运行php,要选择VC6的线程安全版本,使用IIS选择VC9版本。
所以这里使用前者。
3.RunHiddenConsole:/attachments/660/RunHiddenConsole.zip 用于隐藏命令行窗口。
二.安装php直接解压php-5.2.17-Win32-VC6-x86.zip文件到php的安装目录PHP_PATH,然后在PATH中添加PHP的安装路径PHP_PATH和PHP_PATH/ext。
将PHP_PATH下的php.ini-dist重命名为php.ini,这个就是PHP的配置文件。
然后修改这个文件。
1.将register_globals = Off修改为On,这个选项是为了直接打开全局变量的,例如$POST["varname"]可以直接通过$varname访问。
2.添加php加载的模块。
通过添加extensions=xxx.dll来实现,这样php就可以自动加载相应的模块。
还需要指定需要加载的模块的路径,默认大部分模块的dll文件在PHP_PATH/ext下,所以把这个路径添加到PA TH中即可,前文已经完成这个操作。
三.安装Nginx直接解压nginx-1.0.4.zip到安装路径NGINX_PATH,启动ngix:>cd NGINX_PA TH>nginxNginx的选项:nginx -s signal 向Nginx主进程发送信号,signal取值:stop,quit,reopen,reloadnginx -c filename 用指定的配置文件来初始化nginx,默认是NGINX_PATH/conf/nginx.conf四.Nginx和php配置1.在WIndows环境下,Nginx可以通过FaseCGI守护进程与php 进行交互,这个守护进程是以php-cgi.exe的形式存在的。
windows下nginx安装配置与使用
windows下nginx安装配置与使用Nginx 是一个高性能的HTTP和反向代理服务器,在 Windows 平台上也能够提供高效稳定的服务。
下面是关于在 Windows 下安装、配置和使用 Nginx 的步骤和指南。
一、安装 NginxWindows 平台上安装 Nginx 非常简单,只需按照以下步骤进行操作:2.解压文件3.环境变量配置将 Nginx 的安装目录添加到环境变量中,以便在任何地方都能够方便地使用 Nginx 命令。
二、配置 Nginx在安装完 Nginx 后,需要对其进行一些配置:1.打开配置文件进入 Nginx 的安装目录,找到并打开"conf"文件夹中的"nginx.conf"文件。
2.修改端口默认情况下,Nginx 使用的 HTTP 端口为 80,如果你希望使用其他端口,可以修改"listen"行的端口号。
3.配置虚拟主机在 Nginx 的配置文件中添加虚拟主机的配置,例如可以配置多个服务。
4.保存退出完成所需的配置后,保存并关闭配置文件。
三、使用 Nginx完成安装和配置后,可以通过以下方式使用 Nginx:1. 启动 Nginx使用命令提示符或 PowerShell 进入 Nginx 的安装目录,执行"nginx.exe"命令来启动 Nginx。
2.检查服务状态执行"nginx.exe -t"命令,可以检查 Nginx 的配置文件是否正确。
3. 停止 Nginx执行"nginx.exe -s stop"命令,可以停止 Nginx 服务。
4.重新加载配置文件执行"nginx.exe -s reload"命令,可以重新加载更新后的配置文件。
5.检查访问情况四、常见问题和解决方案在安装、配置和使用 Nginx 过程中,可能会遇到一些常见的问题:1.端口被占用如果你的系统中已经有其他服务在使用相同的端口号,可以在 Nginx 的配置文件中修改端口号。
window nginx编译
window nginx编译window nginx编译一、编译环境1、系统环境:Windows 7 Professional2、开发环境:Visual Studio 20153、工具:ActivePerl4、编译需要的安装包:nginx-1.10.2二、编译步骤1、安装ActivePerl下载并安装ActivePerl,安装好后会在C盘生成一个Perl文件夹,打开Perl文件夹,在文件夹中新建一个txt文件,名称自己命名,如build.txt;2、下载nginx访问nginx官网,下载最新的stable版本,本文使用的是nginx-1.10.2;3、设置编译所需环境变量打开系统环境变量的设置,在系统变量中新建4个变量:NGINX_ROOT:nginx的安装目录(例如:D:Developginx-1.10.2)MSYS_ROOT:msys所在的目录(例如:D:Developmsys-1.0)MSYS_ROOT_PERL:perl所在的文件夹(C:Perl)MSYS_ROOT_COMMAND:perl程序的文件夹(C:Perlbin)4、编辑编译脚本打开build.txt,在文件中输入下列脚本:#编译脚本设置set NGINX_ROOT=D:Developginx-1.10.2set MSYS_ROOT=D:Developmsys-1.0set MSYS_ROOT_PERL=C:Perlset MSYS_ROOT_COMMAND=C:Perlbin#开始编译cd %NGINX_ROOT%%MSYS_ROOT%msys.bat --norxvtcd %NGINX_ROOT%objsperl %MSYS_ROOT_PERL%Configure -B %NGINX_ROOT%objs-s %MSYS_ROOT_PERL%makepause保存,文件编码选择ANSI格式;5、开始编译双击build.txt,按照提示输入msys的密码(默认为:msys);编译过程可能较慢,等待的时间会比较长,等到提示完成后,编译成功;完成编译;。
NginxWindows详细安装部署教程
NginxWindows详细安装部署教程1、下载nginx包2、下载完成后,在指定位置解压缩,不要直接双击nginx.exe。
3、运⾏cmd,进⼊解压的指定⽬录下4、启动nginx服务,启动命令为:start nginx,启动时会⼀闪⽽过是正常的5、查看任务进程是否存在,命令:tasklist /fi "imagename eq nginx.exe"6、进⼊解压缩⽬录,在conf⽬录下找到nginx.conf使⽤txt⽂本打开即可,找到server这个节点,进⾏修改需修改的下图四个地⽅⽂件内容如下#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;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 8888;//输⼊端⼝号server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root D:/nginx-1.16.1/html/dist; //输⼊包的地址index index.html index.htm;try_files $uri $uri/ @router;}location @router{#rewrite ^.*/index.html last;rewrite ^(.+)$ /index.html last;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500502503504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 ##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;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}7、修改完成后保存,使⽤以下命令检查⼀下配置⽂件是否正确,后⾯是nginx.conf⽂件的路径,successful就说明正确了命令:nginx -t -c /nginx-1.16.1/conf/nginx.conf8、如果程序没启动就直接start nginx启动,如果已经启动了就使⽤以下命令重新加载配置⽂件并重启命令:nginx -s reload9、之后就打开浏览器访问刚才的域名及端⼝http://localhost:8888,出现欢迎页就说明部署成功了10、关闭nginx服务使⽤以下命令,同样也是⼀闪⽽过是正常的,看⼀下是否进程已消失即可快速停⽌:nginx -s stop完整有序的关闭:nginx -s quit11、把安装包放在D:\nginx-1.16.1\html⽬录下,进⾏解压12、在dos指定路径下,输⼊命令:nginx -s reload,重启13、打开浏览器访问http://localhost:8888,就可以访问⾃⼰的项⽬了。
nginx模块编译
nginx模块编译Nginx是一个高性能的开源Web服务器和反向代理服务器。
它具有模块化的架构,通过编写Nginx模块,我们可以对Nginx进行扩展和定制,以满足特定需求。
本文将介绍Nginx模块的编译过程和相关知识。
一、Nginx模块的概念和作用Nginx模块是一段用C语言编写的代码,用于扩展和定制Nginx的功能。
通过编写模块,我们可以添加新的功能、修改现有功能或者屏蔽某些功能。
模块可以与Nginx的核心模块进行交互,通过回调函数实现对请求的处理和响应。
二、Nginx模块的编译过程1.准备开发环境在编写Nginx模块之前,我们首先需要准备好开发环境。
需要安装好Nginx和相关的编译工具,比如gcc、make等。
2.编写模块代码编写Nginx模块的代码需要遵循一定的规范,包括定义模块的结构体、实现模块的初始化函数和回调函数等。
在编写代码时,可以参考Nginx的源码和官方文档,以确保代码的正确性和可靠性。
3.配置Nginx编译参数在编译Nginx时,需要指定模块的路径和相关参数。
可以使用--add-module选项指定模块的路径,也可以使用--with模块名选项启用某个已经编译好的模块。
4.编译和安装Nginx完成配置后,通过make命令进行编译,然后使用make install命令进行安装。
安装完成后,新的模块将会被添加到Nginx的安装目录中。
5.配置和启动Nginx在Nginx的配置文件中,需要添加对新模块的引用。
可以通过指令load_module或者include将模块的配置文件包含进来。
然后通过启动Nginx服务,新的模块将会生效。
三、常见的Nginx模块类型1.核心模块核心模块是Nginx的基础功能模块,包括HTTP模块、事件模块、日志模块等。
它们提供了Nginx的基本功能,如处理HTTP请求、管理连接、记录日志等。
2.第三方模块第三方模块是由开发者自行编写并发布的模块,用于扩展Nginx的功能。
编译nginx平滑添加stream模块
编译nginx平滑添加stream模块1、操作背景操作系统版本:CentOS Linux release 7.4.1708 (Core)nginx版本:1.13.4nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,使nginx⽀持四层负载均衡。
默认编译的时候该模块并未编译进去,需要编译的时候添加--with-stream,使其⽀持stream代理。
2、nginx编译添加stream模块2.1、查看原nginx编译参数[root@test-server sbin]# nginx -Vnginx version: nginx/1.13.4built by gcc 4.8.520150623 (Red Hat 4.8.5-16) (GCC)built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcg 2.2、添加stream模块进⾏重新编译此处nginx源码⽬录为:/usr/local/src/nginx-1.13.4,即为编译命令执⾏⽬录。
编译命令如下:./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-pat 2.3、进⾏make操作此处nginx源码⽬录为:/usr/local/src/nginx-1.13.4,即为编译命令执⾏⽬录。
nginx window 编译
nginx window 编译
在Windows上编译Nginx可能会有一些挑战,因为Nginx最初
是为类Unix系统设计的。
不过,以下是一些步骤和考虑事项,希望
能帮助你进行Nginx的Windows编译。
1. 确保你的Windows环境已经安装了合适的编译工具,比如Visual Studio。
你可能需要安装CMake来配置和生成Nginx项目。
2. 下载Nginx源代码。
你可以从Nginx的官方网站上下载最新
的稳定版本的源代码。
3. 阅读Nginx的官方文档。
Nginx的官方文档通常会提供关于
在Windows上编译的指导和建议。
4. 使用CMake来配置Nginx项目。
CMake是一个跨平台的工具,可以帮助你生成适合于Visual Studio的项目文件。
5. 打开Visual Studio并编译Nginx项目。
根据你的配置,可
能需要进行一些调整和修改,以确保Nginx能够在Windows上正确
编译和运行。
需要注意的是,尽管可以在Windows上编译Nginx,但Nginx 最常见的用途还是在类Unix系统上,比如Linux。
因此,在Windows上编译Nginx可能会遇到一些限制和兼容性问题。
另外,官方并不提供对Windows的官方支持,所以在遇到问题时可能需要依赖于社区或者第三方资源来解决。
总的来说,尽管在Windows上编译Nginx可能会有一些挑战,但通过阅读官方文档,使用合适的工具和进行必要的调整,你应该能够成功地在Windows上编译Nginx。
祝你好运!。
Windows编译nginx
Windows编译nginxwindows下利⽤MSYS2和VS的nmake编译nginx源码之前写⼩论⽂的时候已经在Linux上部署好了Nginx的环境,在Linux上的安装⽐较简单,可以有两种⽅式:1. 添加yum源,然后yum install nginx (CentOS),ubuntu上 sudo apt-get install nginx2. 下载好nginx的源码, auto/configure make make install这周开始准备⼤论⽂,尝试在Windows上通过源码编译nginx,不断试错,总算实现了在Windows上通过源码编译出了nginx.exe⽹上找资料需要MinGW+MSYS,这两个我下载不下来,于是考虑了Cygwin,也试过了MSYS2,最终在我的电脑上得到了想要的结果。
如果各位同学有同样的需求的话可以参考⼀下。
安装需要:openssl;pcre;zlib;这三个nginx依赖的库可⾃⾏⽹上下载,我最后⽤的是在GitHub上找的⼀篇参考⽂献中的,链接:Perl解释器,我⽤的是ActivePerl;MYSY2,nginx是32位的,所以最好⽤32位的,我⽤的是清华⼤学镜像站下的20150916版本32位:另外没有安装VS的可能需要安装⼀下VS,因为需要⽤到nmake下⾯先列出编译过程,在最后总结可能的出错原因。
1.下载解压Nginx所依赖的库Openssl:实现安全套接字ssl功能Pcre:实现正则表达式解析Zlib:实现gzip压缩解压缩功能2. 安装Perl解释器,主要为了解析openssl中的脚本3.下载好Nginx的源码包在Nginx官⽹下载ngixn的源码包或者然后,解压。
在源码根⽬录下新建⼀个objs⽬录,在objs⽬录下新建lib⽂件夹,将解压好的openssl、pcre、zlib拷贝到lib⽬录下4.下载安装MSYS2(模拟unix环境)⽣成Makefile之前先将源码的auto\cc⽬录的msvc⽂件做如下修改:1. 将83⾏的优化选项设置为-W32. 将117和119⾏注释掉(因为我⽤的VS2019,版本较⾼,需要注释掉,不然会报异常)切换到Nginx源码包的解压⽬录下(根⽬录)执⾏以下命令(这⼀段脚本我在最后列出,可直接复制):上述命令是⽣成可以通过VS的nmake编译的Makefile编译后是这样:⾄此,可以关闭MSYS2了。
nginx增加新模块
nginx增加新模块原已经安装好的nginx,现在需要添加一个未被编译安装的模块: nginx -V 可以查看原来编译时都带了哪些参数原来的参数:--prefix=/app/nginx添加的参数:--with-http_stub_status_module --with-http_ssl_module --with-http_realip_module步骤如下:1. 使用参数重新配置:./configure --prefix=/app/nginx -user=nobody -group=nobody --with-http_stub_status_module \--with-http_ssl_module --with-http_realip_module \--add-module=../nginx_upstream_hash-0.3.1/ \--add-module=../gnosek-nginx-upstream-fair-2131c73/2. 编译:make#不要make install,否则就是覆盖安装3. 替换nginx二进制文件:cp /app/nginx/sbin/nginx /app/nginx/sbin/nginx.bakcp ./objs/nginx /app/nginx/sbin/with-http_realip_module:有些网站使用这样的方式来搭建分布式缓存,若干台Squid放在前面提供缓存服务,内容从后面的Nginx 获取。
不过如此一来,Nginx日志里看到的IP就是Squid的IP了,为了能让Nginx透明获取IP,可以使用 NginxHttpRealIpModule。
NginxHttpRealIpModule缺省并没有激活,可以在编译的时候使用--with-http_realip_module选项激活它。
with-http_addition: 这个模块可以在当前的location之前或者之后增加别的location。
nginx添加新模块
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
6.替换nginx二进制文件
cp /usr/local/src/nginx-1.8.1/objs/nginx /usr/local/nginx/sbin/nginx
4.重新编译
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=/usr/local/src/nginx-1.8.1/echo-nginx-module --with-ipv6 make
3.查看已编译参数
/usr/local/nginx/sbin/nginx -V 结果为: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6
您使用的浏览器不受支持建议使用新版浏览器
nginx添 加 新 模 块
1.下载模块
git clone https:///agentzh/echo-nginx-module
2.放入指定位置
mv echo-nginx-module-master /usr/local/src/nginx-1.8.1/echo-nginx-module
在wdcp下为nginx添加ipv6模块
一、为nginx添加ipv6模块2.3.2版本的nginx默认为1.0.12版本,其他版本请做相应修改,如果想升级nginx,顺便支持ipv6,有简单方法,请看二楼在SSH窗口中执行1./www/wdlinux/nginx/sbin/nginx -V复制代码返回含有如下字符1.configure arguments: --user=www --group=www --prefix=/www/wdlinux/nginx-1.0.12--with-http_stub_status_module --with-http_ssl_module复制代码说明默认并没有把nginx的ipv6模块编译进去,于是我们需要重新编译nginx,为其添加ipv6模块如果带有“ --with-ipv6”则说明ipv6模块已被添加,请直接查看第二步进入nginx安装目录1.cd /root/lanmp/nginx-1.0.12复制代码执行1../configure --user=www --group=www --prefix=/www/wdlinux/nginx-1.0.12--with-http_stub_status_module --with-http_ssl_module --with-ipv6复制代码返回正确信息,接着输入1.make复制代码编译完会在objs目录下生成一个nginx执行文件,先备份下原来老的nginx文件,执行:1.mv /www/wdlinux/nginx-1.0.12/sbin/nginx /www/wdlinux/nginx-1.0.12/sbin/nginx.old复制代码再把新objs下的nginx cp到sbin下,执行:1.cp objs/nginx /www/wdlinux/nginx-1.0.12/sbin/nginx复制代码可以执行1./www/wdlinux/nginx/sbin/nginx -t复制代码返回1.nginx: the configuration file /www/wdlinux/nginx-1.0.14/conf/nginx.conf syntax is ok2.nginx: configuration file /www/wdlinux/nginx-1.0.14/conf/nginx.conf test is successful复制代码说明nginx已经编译成功执行执行[/code]/www/wdlinux/nginx/sbin/nginx -V [/code]返回含有如下字符1.configure arguments: --user=www --group=www --prefix=/www/wdlinux/nginx-1.0.14--with-http_stub_status_module --with-http_ssl_module --with-ipv6复制代码说明ipv6模块已经添加成功执行1.make upgrade复制代码升级程序二、配置nginx使之支持监听通过ipv6发来的访问请求将/www/wdlinux/nginx-1.0.12/conf/vhost中所有的*.conf文件中1.listen 80;复制代码改为1.listen [::]:80;复制代码使之监听本机所有ipv4、ipv6地址再次执行1./www/wdlinux/nginx/sbin/nginx -t复制代码若返回1.nginx: the configuration file /www/wdlinux/nginx-1.0.12/conf/nginx.conf syntax is ok2.nginx: configuration file /www/wdlinux/nginx-1.0.12/conf/nginx.conf test is successful 复制代码说明nginx配置无误重启nginx,先执行1.killall nginx复制代码再执行1./www/wdlinux/nginx-1.0.12/sbin/nginx复制代码三、为域名添加AAAA记录,待生效后,即可通过ipv6访问网站,若域名服务商不支持AAAA解析,推荐DNSPOD,免费的或者直接用1.http://[ipv6]/复制代码访问主机上的默认网站注:1、请确定主机带有ipv6,ifconfig查看2、其他主机环境,请根据情况适当修改3、二步中若不想监听全部ip,请修改listen [::]:80;为listen ipv4:80;listen [ipv6]:80;本文教程摘自wdlinux论坛,转载请注明~。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows下编译Nginx并添加模块
一.准备工作
1.环境安装
1.安装vs2010或vs2013等vs工具。
2.安装ActivePerl,安装完成后,将其安装路径加入到PATH环境变量。
3.安装MinGW,下载mingw-get-setup.exe,安装完成后,将其安装路径加入到PATH环境变量。
(记得安装的时候装上msys,不懂就全勾了)
4.安装nasm,安装完成后,将其安装路径加入到PATH环境变量。
2.下载编译nginx源码文件
1.nginx源码:nginx-1.1
2.2
2.pcre:pcre-8.40
3.zlib:zlib-1.2.11
4.openssl:openssl-1.0.2l
3.下载添加模块文件
1.文件上传模块: nginx-upload-module
2.rtmp模块:nginx-rtmp-module
3.文件上传进度条模块:nginx-upload-progress-module
二.编译并添加模块
1.将上述7个压缩包文件解压至文件夹msys文件目录下,如C:\MinGW\msys\1.0\home\$UESRNAME\。
2.找到msys.bat的路径并双击msys.bat,运行。
如下图所示
3.打开msys.bat后如下所示
右击上方编辑栏,选择编辑,粘贴,可进行粘贴复制功能。
4.cd 至nginx源码路径,并在源码路径下执行下面语句:
auto/configure --with-cc=cl --builddir=objs --prefix= \
--conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \
--http-log-path=logs/access.log --error-log-path=logs/error.log \ --sbin-path=nginx.exe
--http-client-body-temp-path=temp/client_body_temp \
--http-proxy-temp-path=temp/proxy_temp \
--http-fastcgi-temp-path=temp/fastcgi_temp \
--with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=../pcre-8.40 \
--with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2l \
--with-select_module --with-http_ssl_module \
--with-http_sub_module \
--add-module=../nginx-upload-module-2.255 \
--add-module=../nginx-upload-progress-module-master \
--add-module=../nginx-rtmp-module-master \
其中pcre,zlib,openssl的语句需根据版本号的不同进行改变,最后增加的模块也需更具实际情况进行相应的改变,步骤4操作如下图所示:
下图表示正在形成Makefile文件,请等待。
这里会发现有一个异样的提示,auto/cc/msvc: line 117: [: : integer expression expected ,只要修改文件$nginx源码目录\auto\cc\msvc即可,echo " + cl version: $NGX_MSVC_VER"的前面加入一行NGX_MSVC_VER=15.00,当然不修改也不会影响后续的编译。
(因为不会影响后续编译,我并没有修改) 如果需要指定后续编译nginx时禁用优化,则将其中的CFLAGS="$CFLAGS -O2"修改为CFLAGS="$CFLAGS -Od"。