nginx安装

来源:互联网 发布:plc编程一个月多少钱 编辑:程序博客网 时间:2024/05/07 01:32

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 它是由 Igor Sysoev
为俄罗斯最大的门户网站 Rambler.ru 开发的,它已经在该站点运行超过三年了。 同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代
理服务器。 nginx的源代码以类BSD许可证的形式发布。
Nginx 的官网: http://nginx.net/
Nginx 的英文维基:http://wiki.codemongers.com/Main
Nginx 的中文维基:http://wiki.codemongers.com/NginxChs
作者的个人站点为: http://sysoev.ru/en/
在国内有腾讯,新浪,网易,迅雷等多家网站使用 Nginx 作为Web服务器或反向代理服务器。
Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性:
1.  高并发连接: 能够支持高达 50,000 个并发连接数的响应, 是因为Nginx选择了 epoll and kqueue作为开发模型
2.  内存消耗少
3.  配置简单:易读,且支持perl语法
4.  成本低廉:开源
5.  支持Rewrite重写规则: 需要pcre 库的支持
6.  内置的健康检查功能
7.  节省带宽:
8.  稳定性高:几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动. 你还能够 不间断服务的情况下进行软件版本的升级

编译安装
1. 下载安装包.

到http://sysoev.ru/nginx/download.html下载nginx的源码包, 目前最新的稳定版是nginx- 0.6.35
# wget http://sysoev.ru/nginx/nginx-0.6.35.tar.gz
2. 下载依赖包:
gzip 模块需要 zlib 库
  # wget http://www.zlib.net/zlib-1.2.5.tar.gz
rewrite 模块需要 pcre 库
  # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz
ssl 功能需要 openssl 库
  # wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz  
3.  解包
# tar zxvf nginx-0.6.35.tar.gz
# tar zxvf openssl-0.9.8j.tar.gz
# tar zxvf pcre-7.8.tar.gz
# tar zxvf zlib-1.2.3.tar.gz
4.  编译
# cd nginx-0.6.35/
# ./configure --prefix=/usr/local/nginx-0.6.35 --without-http_ssi_module  --with-pcre=../pcre-8.00/ --with-zlib=../zlib-1.2.5/ --with-openssl=../openssl-0.9.8j --with-http_stub_status_module --with-http_ssl_module --without-http_memcached_module --without-http_userid_module  --without-http_fastcgi_module --without-http_map_module --without-http_geo_module --without-http_autoindex_module
#./configure --prefix=/home/luming/develop/nginx-1.2.6 --with-pcre=../pcre-8.21/ --with-http_stub_status_module --with-http_gzip_static_module --without-http_gzip_module

   --prefix=/usr/local/nginx-0.6.35  # Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。
   --without-http_ssi_module  # 禁用 ngx_http_ssi_module
   --with-pcre=../pcre-8.00/  # 指定 PCRE 库的源代码的路径
   --with-zlib=../zlib-1.2.5/  # 指定 zlib 库的源代码路径
   --with-openssl=../openssl-0.9.8j # 指定 openssl 库的源代码路径
   --with-http_stub_status_module # 启动监控模块(服务状态查看模块)
   --with-http_ssl_module # 把ssl编译进去, 仅仅指定openssl库的源代码路径还是不够哦
   --without-http_memcached_module # 禁用 ngx_http_memcached_module
   --without-http_userid_module  # 禁用 ngx_http_userid_module
   --without-http_fastcgi_module  # 禁用 ngx_http_fastcgi_module
   --without-http_map_module  # 禁用 ngx_http_map_module
   --without-http_geo_module  # 禁用 ngx_http_geo_module
   --without-http_autoindex_module # 禁用 ngx_http_autoindex_module

# make && make install
5.  相关的系统配置
# ln -ds /usr/local/nginx-0.6.35 /usr/local/nginx
# mkdir -p /usr/local/nginx/utils
# mkdir -p /data/nginx_log
# rm -rf /usr/local/nginx/logs
# ln -ds /data/nginx_log /usr/local/nginx/logs
# chown -R username:groups /data/nginx_log /usr/local/nginx-0.6.35

# su username -c "/usr/local/nginx/utils/username_start.sh"  #使用xyz_start.sh调用/usr/local/nginx/sinb/nginx启动nginx进程

6.  启动并测试
# /usr/local/nginx/sbin/nginx
在浏览器里输入http://ip:port便可以看到welcome to nginx!的字样


PS:

1、2009/09/30 10:00:02 [emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:74  这个是因为./configure的时候没有加上
--with-http_ssl_module, 加上重新./configure; make; make install即可

2、zlib安装

$wget http://www.zlib.net/zlib-1.2.5.tar.gz
$tar -xvzf zlib-1.2.5.tar.gz
$cd zlib-1.2.5.tar.gz
$./configure
$make
$sudo make install


Nginx -s stop                  快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
Nginx -s quit                   平稳关闭Nginx,保存相关信息,有安排的结束web服务。
Nginx -s reload               因改变了Nginx相关配置,需要重新加载配置而重载。
Nginx -s reopen              重新打开日志文件。