ngnix 感受

来源:互联网 发布:mac截图存在哪里 编辑:程序博客网 时间:2024/06/08 15:24

nginx主要功能
反向代理和负载均衡

nginx 的下载地址
http://nginx.org/en/download.html

nginx\conf\nginx.conf 配置说明

#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes  1;#全局错误日志及PID文件#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;#工作模式及连接数上限events {    #epoll是多路复用IO(I/O Multiplexing)中的一种方式,    #仅用于linux2.6以上内核,可以大大提高nginx的性能    use   epoll;     #单个后台worker process进程的最大并发链接数        worker_connections  1024;    # 并发总数是 worker_processes 和 worker_connections 的乘积    # 即 max_clients = worker_processes * worker_connections    # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4  为什么    # 为什么上面反向代理要除以4,应该说是一个经验值    # 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000    # worker_connections 值的设置跟物理内存大小有关    # 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数    # 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右    # 我们来看看360M内存的VPS可以打开的文件句柄数是多少:    # $ cat /proc/sys/fs/file-max    # 输出 34336    # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内    # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置    # 使得并发总数小于操作系统可以打开的最大文件数目    # 其实质也就是根据主机的物理CPU和内存进行配置    # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。    # ulimit -SHn 65535}http {    #设定mime类型,类型由mime.type文件定义    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 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,    #对于普通应用,必须设为 on,    #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,    #以平衡磁盘与网络I/O处理速度,降低系统的uptime.    sendfile     on;    #tcp_nopush     on;    #连接超时时间    #keepalive_timeout  0;    keepalive_timeout  65;    tcp_nodelay     on;    #开启gzip压缩    gzip  on;    gzip_disable "MSIE [1-6].";    #设定请求缓冲    client_header_buffer_size    128k;    large_client_header_buffers  4 128k;    #设定虚拟主机配置    server {        #侦听80端口        listen    80;        #定义使用 www.nginx.cn访问        server_name  www.nginx.cn;        #定义服务器的默认网站根目录位置        root html;        #设定本虚拟主机的访问日志        access_log  logs/nginx.access.log  main;        #默认请求        location / {            #定义首页索引文件的名称            index index.php index.html index.htm;           }        # 定义错误提示页面        error_page   500 502 503 504 /50x.html;        location = /50x.html {        }        #静态文件,nginx自己处理        location ~ ^/(images|javascript|js|css|flash|media|static)/ {            #过期30天,静态文件不怎么更新,过期可以设大一点,            #如果频繁更新,则可以设置得小一点。            expires 30d;        }        #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.        location ~ .php$ {            fastcgi_pass 127.0.0.1:9000;            fastcgi_index index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include fastcgi_params;        }        #禁止访问 .htxxx 文件            location ~ /.ht {            deny all;        }    }}

Demo

nginx.conf

# 常用命令# 启动: nginx# 重启: nginx -s reload# 关闭: nginx -s stop# 用的帐号和组,windows的直接注释掉就好了#user  benny staff;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;    gzip_min_length 1k;    gzip_buffers 16 64k;    gzip_http_version 1.1;    gzip_comp_level 6;    gzip_types text/plain application/x-javascript text/css application/xml application/javascript;    gzip_vary on;    # 当你访问localhost时的站点配置,地址默认是d:/wwwroot    server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            # 这里就是地址            root   d:/wwwroot;            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 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;        #}    }    include vhosts/*.conf; # 将vhosts所有东西包含进来    autoindex on; #开启nginx目录浏览功能    autoindex_exact_size off; #文件大小从KB开始显示    autoindex_localtime on; #显示文件修改时间为服务器本地时间    # 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;    #    }    #}}

vhost/* * * *.conf

# 想建一个新站点?# 1、复制本文件然后改名# 2、修改root值,指向你的新站点根目录# 3、运行nginx -s reload 重新加载配置就行了server {    listen  80;    server_name  xtkj.dev.com;    root   F:\xtkjCompany;    index  index.html index.htm;    error_page   500 502 503 504  /50x.html;    location ~ /.ht {        deny  all;    }    # 以下是反向代理    # 配置是云平台用的,不需要的直接删除即可    location /proxy/ {        if ($request_uri ~ ^/proxy/([a-z-A-Z]+)/(.*)) {            set $state $1;            set $uri_i $2;        }        set $proxy_header $host;        #proxy_set_header Host $host;        #proxy_set_header X-Real-IP $remote_addr;        #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        # adp 营销/广告平台        if ($state = "adp") {            set $proxy_header 192.168.27.63;            proxy_pass $scheme://192.168.27.63:8080/$uri_i;        }        proxy_set_header host $proxy_header;        proxy_cookie_path /proxy/$state /;        proxy_cookie_domain ~^.+$ $host;    }}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 全面战争三国 庄不周策行三国 三国之宅行天下 三国之虎步天下 三国英雄排名 统一三国的是谁 三国人物排名 三国新版全集 三国剧情分集介绍 三国人物大全 三国是谁给统一的 三国之席卷天下 魏蜀吴三国简介 三国谁统一的 三国武将排名易中天 三国中武将排名 三国类单机手游 三国是什么时候 三国之后谁统一天下 三国魂公益服 霸三国online 法意瑞三国10日游 三国系列的手游 三国名将排行 三国风云再起 三国杀神将 sanguo 三国杀图片 三国有哪三个国 三囯 三国杀吧 三国杀online 三国杀下载 三国杀网页版在线玩 束甲网游之止戈三国 三个土念什么 三个土 三土 三土念什么 三个土读什么 水嫩妒土被连射三次