Nginx服务搭建与配置优化.doc_第1页
Nginx服务搭建与配置优化.doc_第2页
Nginx服务搭建与配置优化.doc_第3页
Nginx服务搭建与配置优化.doc_第4页
Nginx服务搭建与配置优化.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Nginx服务搭建与配置优化编写人:刘玉林日期:2015年11月6日目录简介3资源3安装部署4配置6总结12简介Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和反向代理服务器,具备IMAP/POP3和SMTP服务器功能。起初是供俄国大型的门户网站及搜索引擎Rambler(俄语:)使用。此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。Nginx相较于Apache、lighttpd具有占有内存少,稳定性高等优势,并且依靠并发能力强,丰富的模块库以及友好灵活的配置而闻名。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或 FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。目前使用FastCGI+Nginx运行PHP应用时如果配置文件设置不合理,并不是十分可靠。建议使用NAMP架构(Nginx+Apache+Mysql+PHP),即使用Nginx处理静态请求,并将动态请求反向代理给Apache处理。目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。资源1. 官网下载地址/en/download.html2. 在线电子书籍Nginx开发从入门到精通/book/3. 真实书籍【深入剖析Nginx】、【Nginx高性能Web服务器详解】、【决战Nginx】等,可登录京东或当当网购买。安装部署为了安装Nginx/Win32,需先下载它。这里选择下载稳定版本(nginx/Windows-1.8.0)然后解压下载到本地的nginx-1.8.0.zip。Nginx/Win32是控制台程序,可以使用以下开关来管理它:Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。Nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。 Nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。 Nginx -s reopen 重新打开日志文件。为了方便管理,可以自建批处理文件。双击start.bat启动nginx,进入浏览器在地址栏输入:http:/localhost,回车后看到如下页面,说明服务启动成功!配置配置文件位置如下图:找到里面的nginx.conf,这就是我们要配置的地方了,打开它看到如下内容:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events worker_connections 1024;http include mime.types; default_type application/octet-stream; #log_format main $remote_addr - $remote_user $time_local $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / root html; index index.html index.htm; #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html root html; # proxy the PHP scripts to Apache listening on :80 # #location .php$ # proxy_pass ; # # pass the PHP scripts to FastCGI server listening on :9000 # #location .php$ # root html; # fastcgi_pass :9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; # # deny access to .htaccess files, if Apaches document root # concurs with nginxs one # #location /.ht # deny all; # # another virtual host using mix of IP-, name-, and port-based configuration # #server # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / # root html; # index index.html index.htm; # # # HTTPS server # #server # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / # root html; # index index.html index.htm; # #下面根据要实现的功能,简单对配置文件进行讲解。1. 反向代理Weblogic服务如下:有正式1服务:http:/localhost:8001.有正式2服务:http:/localhost:8002.需求如下:要通过http:/localhost/zs1访问正式1服务,且通过http:/localhost/zs2访问正式2服务.解决方案如下:location /zs1/ #参数off将在这个字段中禁止所有的proxy_redirect指令#语法:proxy_redirect default|off|redirect replacement proxy_redirect off;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_set_header Host $host;proxy_set_header Proxy-Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#请求转向http:/localhost:8001/定义的服务地址 proxy_pass http:/localhost:8001/;location /zs2/ proxy_redirect off;proxy_set_header Host $host;proxy_set_header Proxy-Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http:/localhost:8002/;2. 负载均衡双服务器负载均衡示例如下:upstream zs1Clusterserver :8001;server :8001;location /zs1/ proxy_redirect off;proxy_set_header Host $host;proxy_set_header Proxy-Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http:/ http:/ zs1Cluster /;3. 性能优化worker_processes 定义了nginx对外提供web服务时的worder进程数。最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始(设置为“auto”将尝试自动检测它)。worker_rlimit_nofile 更改worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。设置后你的操作系统和Nginx可以处理比“ulimit -a”更多的文件,所以把这个值设高,这样nginx就不会有“too many open files”问题了。Events模块events模块中包含nginx中所有处理连接的设置。worker_connections设置可由一个worker进程同时打开的最大连接数。如果设置了上面提到的worker_rlimit_nofile,我们可以将这个值设得很高。HTTP 模块HTTP模块控制着nginx http处理的所有核心特性。因为这里只有很少的配置,所以我们只节选配置的一小部分。所有这些设置都应该在http模块中,甚至你不会特别的注意到这段设置。server_tokens 并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的。keepalive_timeout 给客户端分配keep-alive链接超时时间。服务器将在这个超时时间过后关闭链接。我们将它设置低些可以让ngnix持续工作的时间更长。client_header_timeout 和client_body_timeout 设置请求头和请求体(各自)的超时时间。我们也可以把这个设置低些。reset_timeout_connection告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。send_timeout 指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接。总结到此反向代理、负载均衡等基本功能已经可以实现了,更多详细资料请翻阅书籍。最后附上一个全面的DEMO示例:#worker进程数worker_processes 8;events #worker连接数 worker_connections 1024;http include mime.types; default_type application/octet-stream; sendfile on;#keep-alive链接超时时间 keepalive_timeout 65;#负载均衡服务器列表#正式1服务upstream zs1Clusterserver :8001 weight=2 fail_timeout=3 max_fails=3;server :8001 fail_timeout=3 max_fails=3;#正式2服务upstream zs2Clusterserver :8002 weight=2 fail_timeout=3 max_fails=3;server :8002 fail_timeout=3 max_fails=3;#测试1服务upstream test1Clusterserver :8003 weight=2 fail_timeout=3 max_fails=3;server :8003 fail_timeout=3 max_fails=3;#测试2服务upstream test2Clusterserver :8004 weight=2 fail_timeout=3 max_fails=3;server :8004 fail_timeout=3 max_fails=3;server #服务端口 listen 80; #服务域名 server_name localhost;#默认请求 location / #定义服务器的默认网站根目录位置 root html;#定义首页索引文件的名称 index index.html index.htm; #定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html root html; #定义反向代理请求转发路径location /zs1/ #参数off将在这个字段中禁止所有的proxy_redirect指令#语法:proxy_redirect default|off|redirect replacement proxy_redirect off;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_set_header Host $host;proxy_set_header Proxy-Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarde

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论