Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤

 

转载自:

http://apps.hi.baidu.com/share/detail/11192699#content

 

Nginx介绍:

Nginx ("engine x")是一个高性能的 HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的形式发布。
  Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx作为 Web 服务器的网站也越来越多,其中包括新浪博客新浪播客网易新闻等门户网站频道,六间房56.com等视频分享网站,Discuz!官方论坛水木社区等知名论坛,豆瓣YUPOO相册海内SNS迅雷在线等新兴Web 2.0网站。

Nginx 的官方中文维基:http://wiki.nginx.org/NginxChs

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

默认安装不包括上述三个库:


上图为完全安装时会包括上述三个库。

2.nginx编译、构建与安装

1、从nginx.net下载源码 nginx-0.7.62.tar.gz存放到D:\linux\

2、使用cygwinnginx安装到d:/nginx

安装命令如下:

1.         cd /cygdrive/d/linux

2.         tar zxvf nginx-0.7.62.tar.gz

3.         cd nginx-0.7.62

4. /configure --prefix=/cygdrive/d/nginx --sbin-path=/cygdrive/d/nginx --with-cc-opt="-D FD_SETSIZE=4096" --with-rtsig_module --with-select_module --with-poll_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-cpp_test_module --with-mail_ssl_module

5. make && make install

执行完第4步:得到一个Makefile文件与objs子目录下的多个文件。

执行完第5步的make命令,这时cdobjs子目录,然后ls一下,看到有nginx.exe文件。这就是编译构建后生成的nginx程序。make install命令是安装程序到指定的目录中。

如果不加--with-cc-opt=”-DFD_SETSIZE=4096”的话,你装好nginx后运行会出现

   2008/01/12 16:34:56 [emerg] 2496#0: the maximum number of files supported by select() is 64
的错误提示,这表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值,你可以把nginx.conf里的worker_connections选项改小一些,比如44,加了--with-cc-opt=”-D FD_SETSIZE=4096”后就不会碰到这问题

上面的第45步每次都要输入这么多命令,调试时非常麻烦。有一个办法可以减少工作量。就是在nginx-0.7.62目录中,新建一个记事本文件,里面内容为:

./configure --prefix=/cygdrive/d/nginx --sbin-path=/cygdrive/d/nginx --with-cc-opt="-D FD_SETSIZE=4096" --with-rtsig_module --with-select_module --with-poll_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-cpp_test_module--with-mail_ssl_module;make && make install

然后把这个记事本文件改名为makeexe,保存文件。注意没有后缀名。

cygwin窗口中执行sh makeexe,相当于执行第45步。

  1. nginx运行

nginx运行时所需要用到的DLL文件找出来,(这些文件都在cygwin安装目录的bin子目录下),复制到d:/nginx目录下。所需文件如下图所示:


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

start-nginx.bat
批处理文件内容:

@ECHO OFF

d:\nginx\nginx.exe

ping 127.0.0.1 -n 1>NUL

echo Starting nginx

echo .

echo .

echo .

ping 127.0.0.1 >NUL

EXIT

stop-nginx.bat批处理文件内容:

@ECHO OFF

process -k nginx.exe

process -k nginx.exe

process -k nginx.exe

process -k nginx.exe

echo .

echo .

echo .

EXIT


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值