




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Nginx现场实施方案一、 所需软件a) nginx-0.7.64.tar.gz (截止2009年11月18日最新版)b) zlib-1.2.3.tar.bz2 (截止2009年11月18日最新版)用于提供压缩类库c) pcre-8.00.tar.gz (截止2009年11月18日最新版)正则表达式类库二、安装前准备a) 由于nginx在默认编译的时候,采用了DEBUG的模式进行编译。编译后会很大,因此我们需要将此模式去掉。#vi auto/cc/gcc找到该文件最下面的一段配置# debugCFLAGS=$CFLAGS -g# DragonFlys gcc3 generates DWARF#CFLAGS=$CFLAGS -g -gstabsif .$CPP = . ; then CPP=$CC -Efi将红字部分注释或删除b) 修改Nginx的Header伪装服务器#vi /usr/soft/soft/nginx-0.7.64/src/core/nginx.h将:#define nginx_version 7064#define NGINX_VERSION 0.7.64#define NGINX_VER nginx/ NGINX_VERSION#define NGINX_VAR NGINX#define NGX_OLDPID_EXT .oldbin改为:#define nginx_version 0#define NGINX_VERSION 6#define NGINX_VER IIS/ NGINX_VERSION#define NGINX_VAR IIS#define NGX_OLDPID_EXT .oldbinc) 使用google-perftools提高系统性能libunwind-0.99-alpha.tar.gz#tar zxvf libunwind-0.99-alpha.tar.gz#cd libunwind-0.99-alpha#CFLAGS=-fPIC ./configure#make CFLAGS=-fPIC#make CFLAGS=-fPIC installgoogle-perftools-0.99.tar.gz#tar zxvf google-perftools-0.99.tar.gz#cd google-perftools-0.99#./configure#make# make install注:libunwind与google-perftools的版本号要一致。需要在编译nginx的时候加载google-perftools模块#./configure -with-google_perftools_module在配置文件中加入:google_perftools_profiles /path/to/profile;执行如下语句:#echo /usr/local/lib /etc/ld.so.conf.d/usr_local_lib.conf#ldconfigd) 如果在nginx中使用ssl则需要在编译时加载该模块#./configure with-http_ssl_module三、安装目录:/usr/soft/nginxa)解压(无须安装,有时安装反而会出错)zlib#mkdir -p /usr/soft/nginx#tar jxvf zlib-1.2.3.tar.bz2#cd zlib-1.2.3#mv zlib-1.2.3 /usr/soft/nginx/b)安装pcre#tar zxvf pcre-8.00.tar.gz#cd pcre-8.00#./configure prefix=/usr/soft/nginx/pcre#make#make installc)安装nginx#tar zxvf nginx-0.7.64.tar.gz#cd nginx-0.7.64#./configure -prefix=/usr/soft/nginx/nginx -with-pcre=/usr/include/pcre -with-http_stub_status_module -with-zlib=/usr/soft/nginx/zlib-1.2.3/ -with-google_perftools_moduled) 创建启动脚本#!/bin/shCWD=pwdcase $1 in start) /usr/soft/nginx/nginx/sbin/nginx; ; stop) kill -2 ps -ef|grep /nginx/sbin/nginx|grep -v grep|awk print $2 ; restart) cd $CMD $0 stop $0 start ; *) echo $Usage: $0 start|stop|restart exit 1esacexit 0四、配置文件说明1) user nobody nobody;指定管理nginx服务进程的用户和组2) worker_processes 1;nginx要开启的进程数,一般为48个,它可以减少IO的负载,大多数的情况下和服务器的CPU数一样多(每个单核也管)。3)#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;指定错误、信息、警告等日志存放目录。4) #pid logs/nginx.pid;用于指定启动nginx后,保存nginx的进程ID,以备快速关闭nginx进程,命令如下:kill -HUP cat /data/nginx/logs/nginx.pid5) 如果你想使用google_perftools来为nginx进行性能优化,则需要加入:google_perftools_profiles /path/to/profile;6) events use epoll;#规定使用的I/O复用模式,大幅提高性能 worker_connections 1024; #每个工作进程允许的最大连接数7)设定http服务器,利用它的反向代理功能提供负载均衡支持http include mime.types; #设定mime类型 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; #设定请求缓冲 client_header_buffer_size 1k; large_client_header_buffers 4 4k;#注意这里不是连在一起的,有一个空格#keepalive_timeout 0;#设置连接超时时间keepalive_timeout 65;#启用网页压缩gzip on;gzip_http_version 1.0;gzip_comp_level 3;gzip_proxied any;gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_min_length 1100; gzip_buffers 4 8k;#提高web传输文件的效率,只要内核版本大于2.4,nginx会自动使用#sendfile64来提高传输文件的效率 sendfile on; #用于解决大量小请求时发生的网络堵塞问题 tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65;#将压缩参数放置到外部文件中引入 #gzip on; include gzip.conf;#配置负载均衡,并且使用ip_hash来完成类似于session stick的功能 upstream backend server 3:8080; server 3:7070; ip_hash; server listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main;#配置监控nginx location /NginxStatus/ stub_status on; access_log off; #禁止网络用户访问工程目录中的WEB_INF目录 location /(WEB_INF)/ deny all; #注释部分为实现动静分离的一种手段,就是对所有来自互联网的请中所#所有既包含sunray又包含image关键字的链接的请求自动转到root#所指定的目录下,从而不需要从均衡服务器组请求,而是由nginx来做。 #location /sunray(s*)/images/ # root /usr/soft/web/sunray/picture/image; # expires 24h; #根据请求的文件类型设置防盗链接及缓存 location .*.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ #valid_referers none blocked server_names http:/localhost ; valid_referers http:/localhost; if ($invalid_referer) rewrite / /sunray; return 404; #设置缓存 root /usr/soft/web/sunray/proxy_cache; expires 30d; include proxy.conf; if ( !-e $request_filename) proxy_pass http:/backend; #设置主请求 location / #root html; index index.html index.htm; proxy_pass http:/backend; include proxy.conf; 以下略。五、一些额外配置1、禁止外部访问WEB_INF文件夹location /(WEB_INF)/ deny all;2、采用pererfer进行防盗链location .*.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ valid_referers none blocked http:/localhost; if ($invalid_referer) rewrite / /sunray; #return 404; 释义:定义合法的网站链接地址,其中none表示空的来路,也就是直接访问,比如直接在浏览器用地址栏打入图片地址,从而访问图片;blocked 表示被防火墙标记过的来路;server_names也就是自定义的域名。判断如果进入公司网站的URL不在上述定义的合法地址范围内,采用特定规则进行处理。使用nginx的重写URL的功能,将来的非法URL转向。不对URL进行处理,而是直接返回404。注意:(1)、如果不想让别人直接使用图片链接,则需要将none及blocked去掉。(2)、以上这种方案是针对用户请求服务器的文件类型进行防盗链处理,也可以针对服务器某个目录进行防盗链。如下,root /data/img/; valid_referers none blocked *. ; if ($invalid_referer) rewrite / /images/error.gif #return 403; 3、使用nginx自带的缓存location .*.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ root /usr/soft/web/sunray/proxy_cache; expires 30d; include proxy.conf; if ( !-e $request_filename) proxy_pass http:/backend; 释义:注意这个地址一定要和proxy.conf配置文件中的proxy_temp_path属性中定义的地址相关。设置过期时间为30天。由于代理配置项目过多,放在主配置文件中太庞杂,因此需要将其单独配置,可以通include引入其他附属的配置文件。如果root对应的文件不存在,则需要从远程服务器拉过来,这样就可以轻松的实现动静分离,而且不需要改变原有应用程序。配置的负载集群,即静态文件不存时,需要到哪个服务器去将文件拉过来。下面给出proxy.conf的配置文件内容:proxy_redirect off;proxy_set_h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 面向自动驾驶的路网-洞察及研究
- 状物作文黄果树瀑布650字7篇
- 建筑物维修养护合同
- 2025购房按揭贷款合同范本专业版范文
- 2025合作伙伴采购协议
- 农户与农业资源开发利用合作协议
- 自救类选择题题目及答案
- 农业资源高效利用技术合同
- 持续集成与持续部署指南
- 专业会议考试题目及答案
- 第13课 美丽中国我的家(教学课件)小学二年级上册 统编版《道德与法治》新教材
- 2025年生物结业考试卷及答案
- 塔吊出租安全协议书范本
- 2025-2026学年人教版(2024)小学数学三年级上册(全册)教学设计(附目录P296)
- 2025年山东省临沂市、枣庄市、聊城市、菏泽市、济宁市中考语文试题解读
- 《人为因素与航空法规》课件(共九章)
- 碳中和技术概论全套教学课件
- 材料风险调差表
- 新媒体运营全套PPT完整教学课件
- 精细化管理课件PPT课件
- 村卫生室整治工作会议讲话
评论
0/150
提交评论