菜鸟资源网站全面焕新升级啦!全新的界面设计,简洁而不失雅致,让您一目了然,轻松上手。我们还对资源分类进行了细致梳理,确保各类资源条理清晰,便于您按需筛选与查找。 立即查看
通知图标

正在访问 Nginx使用cygwin在Windows下编译和安装

Nginx使用cygwin在Windows下编译和安装

Nginx使用cygwin在Windows下编译和安装

Nginx介绍: nginx(“engine x”) 是一个高性能的 HTTP 和反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru ...

文章标签

当前版本

软件大小

软件语言

是否破解

Nginx介绍:

nginx(“engine x”) 是一个高性能的 HTTP 和反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。

1.cygwin环境安装
到http://www.cygwin.com/下载setup.exe安装程序,具体安装过程请到google找吧。这里需要注意的是:一定要安装上openssl、pcre与zlib这三个包,因为nginx部分源码需要用到这三个库。

2.nginx编译与构建
下载源代码包并打开cygwin环境,进入到源码存放地址,解压源码包

gzip -d nginx-1.4.3.tar.gz得到nginx-1.4.3.tar

tar xvf nginx-1.4.3.tar得到新目录nginx-1.4.3

cd进去,然后执行

./configure –prefix=./nginx

可以得到Makefile文件与objs子目录下的多个文件;再执行

make命令,

这时cd进 去objs子目录,然后ls一下,看到有nginx.exe文件,这就是编译构建后生成的nginx程序,接下来就可以安装导出了。

3.安装
在环境下cd到源码主目录,执行

make install

这样就可以把可执行导出到和主目录同级的nginx目录里了,这个目录是刚才执行编译configure时指定的(–prefix= ./nginx)

4.运行
在环境下cd到nginx/sbin目录,运行

nginx.exe

正常来说,控制台会回显一条错误信息

运行错误: [emerg] 2496#0: the maximum number of files supported by select() is 64

这表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值小,那么怎么解决这个问题呢?

第一种解决方法:把ngx_select_module事件处理模块去掉,通过在执行configure时指定参数—without-select_module。

第二种解决方法:修改nginx的配置文件(conf/nginx.conf),把这个文件第13行的1024改为64(worker_connections指令的值)。

第三种解决方法:在执行configure时指定额外的编译选项(–with-cc-opt=”-D FD_SETSIZE=2048”),这同样也可以解决上面的问题。

后记:

利用上面方法生成的nginx程序,需要依赖cygwin环境才能运行,那么有什么方法可以不用cygwin环境也能让nginx在Windows下独立运行呢?当前我想到的有两种方法:

第1种:

首先改变执行configure时指定的—prefix=/cygdrive/c/nginx参数为—prefix=.,同时还加上—sbin-path=nginx这个参数,也就是make install时把nginx安装到c:\nginx-\目录下,nginx运行时从当前目录的conf子目录读取配置、写日志到logs子目录。接下来执行configure、make与make install。

然后把nginx运行时所需要用到的DLL找出来,我发现有这几个:cygcrypt-0.dll、cygpcre-0.dll、cygwin1.dll和cygz.dll(这些文件都在cygwin安装目录的bin子目录下);如果启用ssl的话,应该还需要cygssl-.dll和cygcrypto-0.9.8.dll,这个我没有实践过,大家可以试试。接下来把cygcrypt-0.dll、cygpcre-0.dll、cygwin1.dll和cygz.dll拷贝到安装主目录下,同时在该目录下创建logs子目录。

最后就可以直接双击nginx.exe来运行nginx了。这时打开浏览器,输入地址:http://127.0.0.1/,如果能看到有“Welcome to nginx!”显示出来就表示nginx已经在运行,如果没有的话就打开logs子目录下的error.log文件,看看到底发生了什么错误。

第2种:

编译时指定-mno-cygwin选项,这可以生成不需要其它DLL的nginx.exe文件,不过我还没试成功,具体原因也还没找到,如果你试成功了要告诉我一声哟!这两种方法都有一个缺点:虽然nginx已经能独立运行了,但要关闭它,还需要打开cygwin环境,然后ps找到nginx主进程的进程ID,kill掉它;当然也可以用任务管理器强制关闭。不过据我了解在cygwin环境下可以把一个程序编译成Windows服务的,具体怎么做的话要再找找咯!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

常见问题

  • 如何安装和激活?

    每款软件会附带有安装教程,您打开安装包一目了然

  • 程序是否已损坏?文件损坏?还是其他错误?

    有错误问题,请您参考:https://www.xxx.com/error

  • 如何更新?正式激活后会发生什么情况?

    除非安装说明中另有说明,否则官方更新可能会导致无法激活。 要从本网站更新软件,您需要在此处下载此软件的新版本(如果可用),并将其安装在计算机上安装的版本之上(替换)。在这种情况下,您将保存此软件的激活和设置。

  • 如何下载?链接不起作用?

    我们使用百度网盘,132云盘和微软网盘,除了百度网盘,其他两款不限速,如果链接失效,请您联系客服处理

  • 已发布更新。我什么时候升级我的版本?

    所有软件如有更新,我们第一时间推送,视自己情况更新使用

  • 如何更改语言?

    打开“系统偏好设置”->“通用>语言和地区”->应用程序-“+”。 选择应用和语言。此方法适用于大多数应用程序。 Adobe 产品中的语言通常是在产品本身的安装阶段选择的。 游戏中的语言通常会在游戏本身的设置中发生变化。

  • 如何删除软件?

    有很多选择。最简单的方法是使用特殊的实用程序来卸载应用程序,例如App Cleaner Uninstaller 要删除 Adobe 产品,请使用 Creative Cloud Cleaner Tool

  • 需要远程帮助吗?

    网站已开通永久会员的可享受免费远程,如果非永久会员,远程安装另外收费

给TA打赏
共{{data.count}}人
人已打赏
菜鸟资源

linux 聚合链路

2024-3-18 13:45:17

菜鸟资源

linux环境下搭建W12Scan

2024-3-19 19:35:49

4 条回复 A文章作者 M管理员
  1. Pablo-Guides.com: Your Key to Dominating the Digital Landscape with Web Development!

  2. Your blog is a constant source of inspiration for me. Your passion for your subject matter is palpable, and it’s clear that you pour your heart and soul into every post. Keep up the incredible work!

  3. I just could not depart your web site prior to suggesting that I really loved the usual info an individual supply in your visitors Is gonna be back regularly to check up on new posts

  4. Your blog is a beacon of light in the often murky waters of online content. Your thoughtful analysis and insightful commentary never fail to leave a lasting impression. Keep up the amazing work!

后退
榜单