location / { autoindex on; autoindex_localtime on; }…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.nginx常用的命令 (1)启动命令 在/usr/local/nginx/sbin 目录下执行 ./nginx (2)关闭命令   在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop (3)重新加载命令   在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload 2.nginx.conf  配置文件 nginx 安装目录下…
这篇文章主要介绍了Nginx中的root&alias文件路径及索引目录配置,顺带讲解了root和alias命令的用法,需要的朋友可以参考下     root&alias文件路径配置nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上.[root]语法:root path默认值:root htm…
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者…
一.性能优化考虑点 1.当前系统结构瓶颈 通过压力测试观察指标.日志检测.性能分析 2.了解业务模式 接口业务类型.系统层次化结构 3.性能与安全 二.ab接口压力测试工具 1.安装:yum -y install httpd-tools 2.使用: ad -n 2000 -c 2 http://127.0.0.1-n:总的请求数-c:并发数-k:是否开始长连接 准备环境 检查语法,并重载nginx -tc /etc/nginx/nginx.conf nginx -s reload -c /etc…
为了简单共享文件,有些人使用svn,有些人使用ftp,但是更多得人使用索引(index)功能.apache得索引功能强大,并且也是最常见得,nginx得auto_index实现得目录索引偏少,而且功能非常简单.先来看看我们得效果图. nginx auto_index索引效果图 nginx配置   1 2 3 4 5         location ~ ^/2589(/.*)         {                 autoindex on; //开启                …
Nginx常见的问题 1.相同server_name多个虚拟主机优先级访问,是按读取文件的优先级来排序 在/opt/app/下准备3个code文件夹,下面放入3个html文件,里面的内容分别是code1下对应server1... 在/etc/nginx/conf.d/下准备了3个conf文件 diff看一下区别,server1就指定code1... 检查语法,并重载nginx -tc /etc/nginx/nginx.conf nginx -s reload -c /etc/nginx/ngin…
一.HTTPS原理和作用: 1.为什么需要HTTPS?原因:HTTP不安全1.传输数据被中间人盗用.信息泄露2.数据内容劫持.篡改 2.HTTPS协议的实现对传输内容进行加密以及身份验证 对称加密:加密秘钥和解密秘钥是对等的,一样的 非对称加密: HTTPS加密协议原理: 中间人伪造客户端和服务端: HTTPS的CA签名证书: 二.证书签名生成CA证书 先确认环境:已经安装openssl和nginx已经编译ssl的模块 生成秘钥和CA证书步骤: 步骤1.生成key秘钥 步骤2.生成证书签名请求文…
Nginx+Lua的安全waf防火墙 看一下别人写好的:https://github.com/loveshell/ngx_lua_waf 先安装git:yum -y install git 在/opt/download下执行:git clone https://github.com/loveshell/ngx_lua_waf.git 这里如果不能克隆的话,手动下载再上传至服务器 把克隆下来的ngx_lua_waf下的所有文件,移到/etc/nginx/waf下 修改配置文件中的两个路径 wafc…
实战场景 - 灰度发布 灰度发布的作用:按照一定的关系区别,分部分的代码进行上线,使代码的发布能平滑过渡上线实现方式: 1.用户的信息cookie等信息区别 2.根据用户的IP地址 安装memcached:yum -y install memcached 准备好两个tomcat,9090代表生产环境,8080代表预发布环境 为避免冲突,修改tomcat9090的端口号 这里分别在同个tomcat/webapp/ROOT/下放了同样内容的jsp文件 把8080下的jsp问价内容改一下区别于9090…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.nginx 原理与优化参数配置 ​ ​ master-workers 的机制的好处 首先,对于每个 worker 进程来说,独立的进程,不需要加锁,所以省掉了锁带来的开销,同时在编程以及问题查找时,也会方便很多.其次,采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,master 进程则很快启动新的worker 进程.当然,worker 进程的异常退出,肯定是…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 tomcat 安装文件放到 liunx 系统中,解压 进入 tomcat 的 bin 目录中,./startup.sh 启动 tomcat 服务器 (2)对外开放访问的端口 firewall-cmd --add-port=8080/tcp --permanent firewall-cmd –relo…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) Nginx 简介: 1.介绍 nginx 的应用场景和具体可以做什么事情 2.介绍什么是反向代理 3.介绍什么是负载均衡 4.介绍什么是动静分离 一.Nginx 简介 1.Nginx 概述 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好. 中国大陆使用 nginx…
首先从官网上http://nginx.org/下载最新的stable version源码,当前最新版本为nginx-1.10.2.tar.gz. 2.1 configure 解压之后,会发现里面有一个名为"configure"的文件: configure本身是一个Shell脚本,中间会调用<nginx-source-path>/auto/目录下别的脚本执行各种任务.根据不同的用途,auto目录下面的脚本各司其职,有检查编译器版本的,有检查操作系统版本的,有检查标准库版本的,…
我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易.但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了. 下面分别介绍如何用js来动态设置.   一.动态设置字段的change事件 // form on load event function onLoad() { init();   pageAttr.delivery_from.addOnChange(deliveryFromChange); pageAttr.type.addOnChange(typ…
基于Nginx的中间件架构 一:了解需求 1.定义Nginx在服务体系中的角色 1.静态资源服务 2.代理服务 3.动静分离 2.静态资源服务的功能设计 3.代理服务 二:设计评估 三:配置注意事项…
解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yum install lua 2.运行 第一种运行方式: 第二种运行方式: Lua的基础语法 1.注释:--行注释--[[ 块注释 --]] 2.变量a = 'alo\n123"'a = "alo\n123""a = '\97lo\10\04923"'a = […
proxy client web1 web2 1.nginx反向代理   使用Nginx实现Web反向代理功能,实现如下功能:   后端Web服务器两台(web1 192.168.2.100 web2 192.168.2.200,使用httpd实现   Nginx采用轮询的方式调用后端Web服务器    两台Web服务器的权重要求设置为不同的值   最大失败次数为1,失败超时时间为30秒 1.1 配置两台web服务器,首先访问页面分别为:192.168.2.100 192.168.2.200 ]…
-prefix=                                                    安装路径-with-http_ssl_module                               启用ssl支持,需要安装openssl--with-http_realip_module                          允许从请求报头修改客户端的ip地址--with-http_image_filter_module                …
摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431925324119bac1bc7979664b4fa9843c0e5fcdcf1e000 Python内置的os模块也可以直接调用操作系统提供的接口函数. >>> import os >>> os.name # 操作系统类型 'nt' 如果是posix,说明系统是Linux.Unix或M…
ngx.re.match 语法: captures, err = ngx.re.match(subject, regex, options?, ctx?, res_table?) 环境: init_worker_by_lua*, set_by_lua*, rewrite_by_lua*, access_by_lua*, content_by_lua*, header_filter_by_lua*, body_filter_by_lua*, log_by_lua*, ngx.timer.*, ba…
[root@localhost nginx-]# vi src/http/ngx_http_header_filter_module.c 修改:49-50行 static char ngx_http_server_string[] = "Server: XWEB" CRLF; static char ngx_http_server_full_string[] = "Server:XWEB " NGINX_VER CRLF; 编译安装…
keepalive的配置文件 ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_time…
目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android"    android:id…
CRM里有二种方式实现字段change事件,一种是在form里,一种完全通过js来实现.本文介绍下二者的用途及区别. 1. Form里用法 这种方式估计其实也是添加一个js的function. 这种方式功能最强大,无论是前台还是后台只要这个字段有变化就会触发这里的事件. 2. 纯js Xrm.Page.getAttribute("new_actual_unit_price").addOnChange(function () { calculateExpense("new_ac…
前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现的. 那么,如果要在list (homepage)界面实现多条记录的克隆,这时就不方便加字段以触发插件了.这时我们可以用js调用web service的方式来实现.下面介绍详细的步骤:   1. List界面添加按钮 要注意不是form界面:   添加按钮: 跟普通添加按钮一样,注明function…
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数可以多选或全选:动态地显示列,列不是固定的:根据某一字段的值来动态地显示整行字体的颜色. 下面介绍详细的方法: 一.动态参数.参数多选全选 动态参数: 首先定义一个Dataset: SELECT DISTINCT new_countryId, new_codename AS name FROM ne…
在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常我们想把一条记录放在一页,下一条记录另起一页,而不是紧连在上一条记录的后面:有时我们还会出现上传报表时报错:An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the repor…
Nginx是一个开源且高性能.可靠的HTTP中间件.代理服务 常见的HTTP服务: HTTPD--Apache基金会 IIIS--微软 GWS--Google(不对外开放) Nginx优势: 一.IO多路复用epoll:类似于电路中的串联和并联的道理,这里是并联,即多线程 IO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用”指的是复用同一个线程 IO多路复用的实现方式:select.poll.epoll select: 缺点: 1.能够监视…
ArrayBuffer ArrayBuffer对象.TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口.它们都是以数组的语法处理二进制数据,所以统称为二进制数组. 二进制数组由三类对象组成. (1)ArrayBuffer对象: 代表内存之中的一段二进制数据,可以通过“视图”进行操作.“视图”部署了数组接口,这意味着,可以用数组的方法操作内存. (2)TypedArray视图: 共包括 9 种类型的视图,比如Uint8Array(无符号 8 位整数)数…