2014-03-07 12:50:01
来 源
IT技术网
Nginx安装配置
本文介绍Nginx服务器安装配置过程详解,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。
WHOIS NGINX

高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。

Nginx 超越 Apache 的高性能和稳定性。

稳定性、功能集丰富、 冷源配置文件和系统资源低能耗

在高连接并发的情况下,Nginx是Apache服务器不错的替代品

10000 个非活动的 HTTP keep-alive 连接仅需要 2.5M 内存。

据说,能够支持高达 50,000 个并发连接数的响应(当然,受硬件配置影响)

HTTP功能

处理静态文件,索引文件以及自动索引; (lighttpd is all right)

反向代理加速,负载均衡和容错,FastCGI;

支持SSI-filter,SSL等;

基于IP 和名称的虚拟主机服务;

基于IP 和名称的虚拟主机服务;

支持 keep-alive 和管道连接;

重新配置和在线升级而无须中断客户的工作进程;

定制的访问日志,日志写入缓存,以及快捷的日志回卷;(HTTP高负载下日志也许是个瓶颈)

4xx-5xx 错误代码重定向;(默认或自定义)

基于 PCRE 的 rewrite 重写模块;(需要安装pcre支持正则,可见其精简程度)

基于客户端 IP 地址和 HTTP 基本认证的访问控制;

支持 FLV (Flash 视频);

支持带宽限制;

后又详细配置方法

邮件PROXY功能(Last.fm

使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端;

使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端;

SUPPORT SYSTEM

FreeBSD,Windows,Linux,MacOS X, Solaris

INSTALL

当前稳定版: Nginx 0.7.61,并只研究其安装及详细的配置,不做源码及模块开发的分析,若有兴趣可到

http://emiller.info/nginx-modules-guide.html 阅读模块开发文档E文

主要编译选项摘录configure

--prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。

--conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf。

--pid-path=<path> - 在nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为 <prefix>/logs/nginx.pid。

--lock-path=<path> - nginx.lock文件的路径。

--error-log-path=<path> - 在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为 <prefix>/logs/error.log。

--http-log-path=<path> - 在nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为 <prefix>/logs/access.log。

--user=<user> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody。

--group=<group> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody。

--with-http_ssl_module -开启HTTP SSL模块,使NGINX可以支持HTTPS请求。需要安装了OPENSSL

--with-http_flv_module

--with-http_stub_status_module - 启用 "server status" 页(可有可无)

--without-http_gzip_module - 禁用 ngx_http_gzip_module. 如果启用,需要 zlib 。

--without-http_ssi_module - 禁用 ngx_http_ssi_module

--without-http_referer_module - 禁用 ngx_http_referer_module

--without-http_rewrite_module - 禁用 ngx_http_rewrite_module. 如果启用需要 PCRE 。

--without-http_proxy_module - 禁用 ngx_http_proxy_module

--without-http_fastcgi_module - 禁用 ngx_http_fastcgi_module

--without-http_memcached_module - 禁用 ngx_http_memcached_module

--without-http_browser_module - 禁用 ngx_http_browser_module

--http-proxy-temp-path=PATH - Set path to the http proxy temporary files

--http-fastcgi-temp-path=PATH - Set path to the http fastcgi temporary files

--without-http - 禁用 HTTP server(用作代理或反向代理)

--with-mail - 启用 IMAP4/POP3/SMTP 代理模块

--with-mail_ssl_module - 启用 ngx_mail_ssl_module

--with-openssl=DIR - Set path to OpenSSL library sources

安装过程

先安装gcc openssl-devel pcre-devel zlib-devel

/usr/sbin/groupadd www

/usr/sbin/useradd -g www www

mkdir -p /data/www

mkdir -p /data/logs

chown -R www.www /data/www

chown -R www.www /data/logs

规范编译选项:

./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx.conf --with-http_ssl_module

make && make install

配置文件(perlphp语法)

 

if ($http_user_agent ~ MSIE) {

 rewrite  ^(.*)$  /msie/$1  break;

}

if ($http_cookie ~* "id=([^;] +)(?:;|$)" ) {

 set  $id  $1;

}

if ($request_method = POST ) {

 return 405;

}

if (!-f $request_filename) {

 break;

 proxy_pass  http://127.0.0.1;

}

if ($slow) {

: limit_rate  10k;

}

if ($invalid_referer) {

: return   403;

}

 

---------------------------------------------------

user          www www;

worker_processes     8; 一般情况下开4个或8个, 再往上开的话优化不太大,开启太多,会影响主进程调度,占用cpu会增高

error_log       /data/logs/error.log    crit;

pid        /usr/local/nginx/nginx.pid;

worker_cpu_affinity 0001 0100 1000 0010 0001 0100 1000 0010;

 

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。