本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9689489
建立时间:2004年12月20日




[c++]Windows下编译Nginx源码再安装来个 nginx for windows (转载 有修改)
原创空间,  文章收藏,  网上资源,  软件技术,  电脑与网络

邢红瑞 发表于 2009/5/27 18:43:55

 Nginx介绍:Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。 1.cygwin环境安装到http://www.cygwin.com/下载setup.exe安装程序,使用的url是http://www.cygwin.cn/pub/,一定要安装上openssl、pcre与zlib这三个包,因为nginx部分源码需要用到这三个库,我是全部安装base devel和utils。 2.nginx编译与构建到http://nginx.net/下载源代码包(最新稳定版:nginx-0.7.59,测试版:nginx-0.7.59),假设下载下来的源代码包存放在C盘根目录下(例如全路径名为c:\nginx-0.7.59.tar.gz)。打开cygwin环境,cd到C盘根目录(命令:cd /cygdrive/c),解压源代码包(首先执行命令 tar -zxvf nginx-0.7.59.tar.gz 有一个新目录nginx-0.7.59。cd进去,然后执行configure(命令: /cygdrive/c/nginx-0.7.59/configure --prefix=/cygdrive/c/nginx),得到一Makefile文件与objs子目录下的多个文件;再执行make命令,这时cd进 去objs子目录,然后ls一下,看到有nginx.exe文件,这就是编译构建后生成的nginx程序,接下来就是安装了。 3.nginx安装在cygwin环境下cd到/cygdrive/c/nginx-0.7.59目录,执行make install命令,这样就可以把nginx安装到c:\nginx目录,这个目录是刚才执行configure时指定的(--prefix= /cygdirve/c/nginx)。 4.nginx运行在cygwin环境下cd到/cygdrive/c/nginx/sbin目录,运行nginx.exe(命令:/cygdrive/c/nginx/sbin/nginx.exe),不出意外的话,应该会出现一条错误信息:出现 the maximum number of files supported by select() is 64,这表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值小,那么有什么办法解决这个问题呢?第一:把ngx_select_module事件处理模块去掉,通过在执行configure时指定参数—without-select_module。第二:修改nginx的配置文件(c:\nginx\conf\nginx.conf),把这个文件第13行的1024改为64(worker_connections指令的值)。第三:在执行configure时指定额外的编译选项(--with-cc-opt=”-D FD_SETSIZE=2048”),这同样也可以解决上面的问题。 首先改变执行configure时指定的—prefix=/cygdrive/d/nginx参数,同时还加上—sbin-path=nginx参数,也就是make install时把nginx安装到d:\nginx\目录下,nginx运行时从当前目录的conf子目录读取配置、写日志到logs子目录。接下来执行configure、make与make install。然后把nginx运行时所需要用到的DLL找出来,使用depends,cygcrypt-0.dll、cygpcre-0.dll、cygwin1.dll和cygz.dll(这些文件都在cygwin安装目录的bin子目录下);如果启用ssl的话,应该还需要cygssl-0.9.8.dll和cygcrypto-0.9.8.dll,接下来把cygcrypt-0.dll、cygpcre-0.dll、cygwin1.dll和cygz.dll拷贝到d:\nginx下,同时在该目录下创建logs子目录。最后就可以直接双击nginx.exe来运行nginx了。这时打开浏览器,输入地址:http://127.0.0.1/,如果能看到有“Welcome to nginx!”显示出来就表示nginx已经在运行,如果没有的话就打开logs子目录下的error.log文件,看看到底发生了什么错误。


阅读全文(7925) | 回复(0) | 编辑 | 精华
 


回复:Windows下编译Nginx源码再安装来个 nginx for windows (转载 有修改)
原创空间,  文章收藏,  网上资源,  软件技术,  电脑与网络

cjcj发表评论于2010/3/4 23:37:05

nginx有个WIN版本吗? 他是用的IOCP来做IO访问么?


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144752307 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号