array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 Nginx安装和配置介绍 - 爱码网

Nginx 安装使用

1.下载nginx的安装包(www.baidu.com)

2.tar -zxvf ngxin-1.10.2.tar.gz

3.cd nginx-1.10.2

4. mkdir /data/program/nginx

5. ./configure –prefix=/data/program/nginx

6. Make&&make install

常见问题(依赖组建缺失)

yum –y install gcc gcc-c++ autoconf automake

yum –y install pcre pcre-devel

yum –y install zlib zlib-devel

 

启动命令 NGINX_HOME/sbin/nginx  ./nginx

停止命令 NGINX_HOME/sbin ./nginx -s stop

配置文件重新加载:nginx -s reload

校验nginx.conf 文件的语法格式 , nginx -t

Centos关闭防火墙 sudo systemctl stop firewalld.service

 

负载均衡策略

1.轮询     

upstream tomcat{

       server 192.168.130.130:8080;

       server 192.168.130.131:8080;

    }

2.ip_hash

upstream tomcat{

       ip_hash;

       server 192.168.130.130:8080;

       server 192.168.130.131:8080;

    }

3.权重 weight

upstream tomcat{

       server 192.168.130.130:8080 weight=3;

       server 192.168.130.131:8080 weight=1;

    }

4.响应时间

upstream tomcat{

       server 192.168.130.130:8080;

       server 192.168.130.131:8080;

       fair;

    }

5.url_hash  相同的url 走一个服务器

 

Nginx 配置文件,以轮询为例

upstream tomcat{

        server 192.168.232.133:8080;

        server 192.168.232.132:8080;

    }

    server {

        listen       80;

        server_name  localhost;

        location /

        {

            proxy_pass http://tomcat;

           proxy_set_header Host $host;

        }

}

 

Ngxin 进程模型及工作原理

Master/ worker进程

nginx是异步非阻塞的。


 

 

Nginx的日志管理

#access_log  logs/host.access.log  main;

Log声明  路径及文件名 日志标识

 

#log_format main '$remote_addr- $remote_user [$time_local] "$request" '#'$status $body_bytes_sent "$http_referer" '

 #'"$http_user_agent" "$http_x_forwarded_for"';

 

远程ip – 远程用户/用户时间 请求方法(get/post) 状态 请求body长度  referer 来源信息 http-user-agent 用户代理 被转发的原始请求IP

 

Location

Location主要做定位功能,根据uri来进行不同的定位

语法:location [=|~|~*|^~] /uri/ { …}

=    开头表示精确匹配

^~ 表示uri以某个常规字符串开头,相当于匹配uri路径

~ 区分大小写的正则匹配

~  区分大小写不匹配

~* 不区分大小不匹配

 ~*  不区分大小写的正则匹配

/     通用匹配

 

匹配优先级

1.首先匹配精准路径

2.如果两个location都是一般匹配规则,那么会按照最长路径匹配

3.一般匹配和正则匹配的过程是:首先会选择一般匹配过程中的大前缀匹配,但是匹配过程不会停止,最大前缀匹配只是一个临时结果,nginx还会继续检查正则location。按照正则location在配置文件的物理顺序做匹配,如果匹配到一条正则location,就不会考虑后面的规则


 

 

Return指令

语法: return code/uri;

停止处理并返回状态码给客户端

 

Rewrite指令

语法: rewrite regex  replacement  ; flag

Last/break/redirect/permant

用于请求重定向

 

对远程指定ip进行限制

 Nginx安装和配置介绍

浏览器判断

 Nginx安装和配置介绍

 

 

Gzip压缩

Gizp主要对内容、静态文件做压缩,用来提升网站访问速度,节省带宽

 Nginx安装和配置介绍

 

Gizp on|off 是否开启

Gzip_buffer 32 4k  设置系统获取多少个单位的缓存用于存储gzip的压缩结果数据流

Gzip_comp_level [1-9] 压缩级别,值越高,压缩的内容越小

Gzip_min_length 200 ;开始压缩的最小长度

Gzip_types 对哪些文件做压缩处理

Gzip_vary on|off 是否传输gzip压缩标识

Gzip_disable 正则匹配UA,表示对指定的浏览器不做gzip压缩

 

图片、mp3、视频之类, 上传图片的时候压缩,不建议压缩,压缩性价比低,损耗CPU资源太小的文件没必要压缩,200KB




 



相关文章: