前提:环境centos linux 6.2 系统
采用源码安装方式
安装依赖包:g++、gcc、openssl-devel、pcre-devel和zlib-devel软件
简介:
什么是Nginx?
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。
Nginx 作为 负载均衡 服务器:
Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。 Nginx 采用 C 进行编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好很多。作为邮件代理服务器:
Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。Nginx 是一个安装非常简单,配置文件非常简洁(还能够支持perl语法), Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。 你还能够不间断服务的情况下进行软件版本的升级。
1、安装依赖包: yum install gcc-c++ -y
yum install zlib zlib-devel openssl openssl--devel pcre pcre-devel -y
2、下载最新稳定版nginx:wget http://nginx.org/download/nginx-1.4.2.tar.gz
3、安装nginx
首先把ngxin-1.4.2.tar.gz copy到/usr/local下
#tar -zxvf nginx-1.4.2.tar.gz
#cd nginx-1.4.2
#./configure --prexfix=/usr/local/nginx-1.4.2 \
--conf-path=/usr/local/nginx-1.4.2/nginx.conf \
(注意:很多编译安装的说明都没有设置conf-path,但是我这里没有设置的话,在make install 中会报 cp: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file 的错误)
#make
#make install
{ 注:在./configure的时候可以详细加上以下参数,仅供参考
./configure --prefix=/usr/local/nginx-1.2.3 \
--conf-path=/usr/local/nginx-1.2.3/nginx.conf \
--openssl-path=/usr/local/openssl-1.0.1c \
--with-http_ssl_module \
--with-pcre=/usr/local/pcre-8.21 \
--with-http-stub-status-module
编译参数说明:
--prefix=
―path
Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。
--sbin-path=
―path
Nginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为<prefix>/sbin/nginx。
--conf-path=
―path
在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf。
--pid-path=
―path
指定nginx.pid的文件名,安装后该名字可以在nginx.cong文件中修改。如果没有指定,默认为 <prefix>/logs/nginx.pid。
--error-log-path=
―path
在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为 <prefix>/logs/error.log。
--user=
―name
在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody。
--group=
―name
在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody。
--with-http_ssl_module
―
开启HTTP SSL模块,使NGINX可以支持HTTPS请求。这个模块需要已经安装了OPENSSL
--with-pcre=
―path
指定PCRE库路径。(PCRE为正则表达式库)
--with-pcre-jit
― builds the PCRE library with “just-in-time compilation” support. }
4、在防火墙里面开通80端口,重启防火墙
5、启动:
/usr/local/nginx-1.4.2/sbin/nginx -c /usr/local/nginx-1.4.2/conf/nginx.conf
或 #cd /usr/local/nginx-1.4.2/sbin
#./nginx
6、停止:
#查询nginx主进程号 |
7、重启
# /usr/local/nginx/sbin/nginx -s reload
8、测试
http://ip:80
9、如果弄文件下载,nginx默认是没有开通子目录浏览的,需要在nginx.conf的最后面加上以下autoindex参数,然后重启nginx
location / {
root html;
index index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}