Year: 2017
-
Sphinx全文检索引擎使用指南:安装支持的操作系统:在绝大多数现代的Unix类操作系统上,只需要一个C++编译器就可以编译并运行Sphinx,而不需要对源码进行任何改动。
Sphinx可以在以下系统上运行: Linux 2.4.x, 2.6.x (包括各种发行版) ? Windows 2000, XP ? FreeBSD 4.x, 5.x, 6.x ? NetBSD 1.6, 3.0 ? Solaris 9, 11 ? Mac OS X 支持的CPU种类包括 X86, X86-64, SPARC64。 依赖的工具:在UNIX平台上,你需要以下的工具用来编译和安装Sphinx: C++编译器。GNU gcc就能够干这个活。 make程序。GNU make就能够干这个活。 安装Sphinx: tar包解压,并进入sphinx子目录: $ tar xzvf sphinx-0.9.7.tar.gz $ cd sphinx configuration程序: $ ./configure configure程序有很多运行选项。完整的列表可以通过使用 –help开关得到。最重要的如下: –prefix, 定义将 Sphinx安装到何处; –with-mysql, 当自动检测失败时,指出在那里能找到MySQL头文件和库文件; 制作二进制程序: …
-
centos6 安装 sphinx
安装前请先确定安装了常用的组件,然后在官方网站下载最新的Sphinx, yum install -y python python-develhttp://sphinxsearch.com/downloads/release/ 安装sphinxtar zxvf sphinx-2.1.4-release.tar.gz cd sphinx-2.1.4-release ./configure –prefix=/usr/local/sphinx –-with-mysql make && make install libsphinxclient 安装(PHP模块需要) cd api/libsphinxclient ./configure –prefix=/usr/local/sphinx make && make install 安装PHP的Sphinx模块 下载地址:http://pecl.php.net/package/sphinx wget http://pecl.php.net/get/sphinx-1.3.0.tgz tar zxf sphinx-1.3.0.tgz cd sphinx-1.3.0 /usr/local/PHP/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config –with-sphinx=/usr/local/sphinx/ make && make install 安装好后,在安装目录下etc目录下,有份测试数据和配置的样本 cd /usr/local/sphinx/etc cp sphinx.conf.dist sphinx.conf
-
discuz 静态化rewrite规则大全 apache windows iis nginx zeus
Apache Web Server(独立主机用户) <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/archiver/index.php?action=$2&value=$3&%1…
-
mac sublime text3 常用快捷键总结(转自简书)
cmd+n 新建页面 cmd+数字键 切换到对应页面 cmd+p 搜索跳转到对应页 cmd+w 关闭页面 cmd+j 合并一行 cmd+d 选中当前单词,继续敲可以选中多个 cmd+l 选中当前行 cmd+z 撤销 cmd+c 复制 cmd+v 粘贴 cmd+s 保存 cmd+x 删除当前行 cmd+delete 删除光标定位到当前行起始的一块 cmd+]缩进当前行,[回缩当前行,对应tab/shift+tab功能 cmd+enter 向下开辟一行 cmd+shift+enter 向上开辟一行 cmd+f 查询内容 cmd+shift+f 全局查询,可替换 cmd+g 查询到的内容下一个 cmd+鼠标右键 多点编辑 cmd+~ 调出控制台 cmd+k then u 大写 cmd+k then l 小写 cmd+shift+p 调出命令面板 cmd+⬅️ 光标定位到当前行最前 +shift 选中…
-
建立网站涉及的前置审批行业及需要的证件和资质(论坛不需要审批了)
涉及前置审批的行业及批复单位: 分类 批复单位 前置审批名称 备注 新闻类 国务院新闻办公室或者省、自治区、直辖市人民政府新闻办公室 《互联网新闻信息服务许可证》 出版类 国家新闻出版广电总局 《互联网出版许可证》 药品和医疗器械类 各省食品药品监督管理局;工信部(开办农药、化工生产企业审批) 《药品经营许可证》、《医疗器械经营企业许可证》)、《互联网药品信息服务资格证书》、化学类药品由工信部颁发 文化类 省文化厅 《网络文化经营许可证》 广播电影电视节目类 广电总局 《信息网络传播视听节目许可证》 教育类 各省教育厅 除浙江、青海、西藏外,其余省份已取消。 医疗保健类 各省卫生厅 除河北、西藏外,其余省份已取消。 网络预约车 公司注册所在地的交通管理委员会 《网络预约出租汽车经营许可证》 电子公告类 省通信管理局 全国范围内取消。 新闻类 互联网新闻信息服务是指通过互联网登载新闻信息(时政类新闻信息包括有关政治、经济、军事、外交等社会公共事务的报道、评论,以及有关社会突发事件的报道、评论)、提供时政类电子公告服务和向公众发送时政类通讯信息。 第一类:新闻单位设立的登载超出本单位已刊登的播发的新闻信息,提供时政类电子公告服务 ,向公众发送时政类通讯信息的互联网新闻信息服务单位; 第二类:非新闻单位设立的转载新闻信息,提供时政类电子公告服务 、向公众发送时政类通讯信息的互联网新闻信息服务单位; 第三类:新闻单位设立的登载本单位已刊登播发的新闻信息的互联网新闻信息服务单位; 出版类 互联网出版,是指服务提供者将自己创作或他人创作的作品经过选择和编辑加工,登载在互联网上或者通过互联发送到用户端,供公众浏览、阅读、使用或者下载的在线传播行为。其作品主要包括:正式出版的图书 、报纸、期刊、音像制品、电子出版物等出版物内容或者在其他媒体上公开发表的作品,经过编辑加工的文学、艺术和自然科学、社会科学、工程技术等方面的作品。 凡是在互联网和移动网上上线运营电子阅读,电子出版物,音像制品,互联网图书,互联网报纸,互联网杂志,手机出版物,学术出版物,艺术出版物,教育出版物,游戏,地图等,都需要到相关单位申请互联网出版许可证。 药品和医疗器械类 根据《互联网药品信息服务管理办法》互联网药品信息服务,是指通过互联网向上网用户提供药品(含医疗器械)信息的服务活动。 文化类 根据《互联网文化管理暂行规定》互联网文化产品是指通过互联网生产、传播和流通的文化产品。如游戏、音乐、动漫等。 广播电影电视节目类 利用摄影机、录音机和其它视音频摄制设备拍摄、录制的,由可连续运动的图像或可连续收听的声音组成的视音频节目 ,如视频类,直播类网站。 教育类 教育类前置审批指与教育有关的教育网站和网校,如办理文凭、远程教育视频、考试培训等。 医疗保健类 互联网医疗保健信息服务是指通过开办医疗卫生机构网站、预防保健知识网站或者在综合网站设立预防保健类频道向上网用户提供医疗保健信息的服务活动。 2015…
-
discuz nginx 的静态化配置
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last; rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last; rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last; rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last; rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last; rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last; rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last; rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last; rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last; if (!-e $request_filename) { return 404; }
-
F5负载均衡设备选型依据性能指标
假设你是一个用户,需要为自己公司的系统部署一套负载均衡设备,那么应该根据哪些因素来考虑要选择的负载均衡设备的性能指标是否能够满足自己的需要呢?许多用户往往根据自己的网络和应用情况的统计或者再加上未来发展的规划,简单地选择刚好与自己的计算结果相符性能的负载均衡设备型号,结果是许多用户发现所购买的设备并不能完全满足自己的需求,这说明在选型的过程中疏漏了某些因素。我们来详细分析一下。 负载均衡设备选型要考虑性能、功能项开启情况以及满足真实和未来需求三个方面。 1. 性能 性能指标包含4/7层吞吐量,4/7层新建连接数,并发连接数三大指标。同时包含SSL加速能力,HTTP压缩能力,内存Cache等功能模块指标。 1) 4/7层吞吐量(单位bps) 如果系统应用配置都是4层的(负载均衡设备只判断TCP包头进行转发),那么考虑4层吞吐量即可。如果涉及到应用层数据包头或者数据包内容的判断和分析,那么必须考虑7层的吞吐量能力。吞吐量的计算通过统计单位时间内网络中的流量(出向流量+入向流量)即可得出,一般来说要把峰值流量作为吞吐量选择的最低依据(如果可以容忍峰值丢包,那么可以以平均每秒的流量作为参考),例如经过统计峰值流量为10Gbps,那么必须考虑10Gbps吞吐量以上的设备。 2) 4/7层新建连接数(单位CPS) 新建连接数也分为4层新建连接数和7层新建连接数/请求数两大指标,判断该用哪个指标跟吞吐量一样,都是判断负载均衡设备对经过的流量是4层的处理还是7层的处理。新建连接数衡量的是负载均衡设备每秒能处理多少个4层或者7层的用户新建连接,例如一个用户每秒会发起10个新建连接,网络中有1万个并发用户,那么负载均衡设备的4层新建连接能力不能小于10万CPS,如果负载均衡设备是做7层处理的,那么必须要求7层新建连接数也不能小于10万CPS。 3) 并发连接数 并发连接数衡量的是负载均衡设备能够同时处理多少个用户会话,如果有设备号称新建连接数很高,但并发连接数较低,则该设备将很快达到瓶颈,新的用户连接将处于排队或者丢弃的状态,这显然是不合理的,所以一个性能强的负载均衡设备,必然是新建连接和并发连接数指标都会很高,而不会只有一个高。并发连接数可以通过统计服务器上的连接数来计算,例如经过统计,共有100台服务器,每台服务器并发连接数峰值为5000个,那么要求设备至少支持50万并发连接能力。 4) 功能模块性能指标 a) SSL加速 经验表明,服务器自己开启SSL加解密后的性能会降为开启前的十分之一,所以需要安全访问的系统往往会把SSL的加解密通过负载均衡设备的SSL加速功能来完成。 SSL加速性能指标有SSL新建连接数(CPS),新建交易数(TPS),SSL Bulk(对称加解密)吞吐量等,这些指标的估算跟7层新建连接数和吞吐量的估算一样,判断需要SSL加解密的流量和连接数有多少即可。 b) HTTP压缩 负载均衡设备的HTTP压缩功能会把服务器的应答包压缩后发送给客户端,然后客户端浏览器会自动解压缩,HTTP压缩降低了数据包大小,自然也就提高了用户的访问速度,是否开启这个功能要对负载均衡设备压缩的开销,压缩的效果以及网络传输速度做综合衡量,一般在配置中只会对部分确实需要的应用来开启,HTTP压缩的单位bps,例如需要压缩的流量为1Gbps,则选择至少1Gbps压缩性能的负载均衡设备。 c) 内存Cache 内容缓存可以降低服务器的负载并提高响应速度,抛开功能差异,缓存能力衡量的指标是用于缓存的内存大小。该功能各负载均衡厂家一般是免费赠送。 2. 功能项开启 负载均衡设备开启功能项的数量多少对于负载均衡设备的性能影响是不同的,开启的功能项越多,越复杂,设备的性能也会随之做更多的下降,所以在考虑负载均衡设备时,如果自己的系统会用到多个功能项,对于前面的性能指标要有一定的盈余考虑。 3. 满足真实和未来需求 以上所述的吞吐量,新建连接数,并发连接数以及各模块指标都是在相对单纯干净的环境测出的值,也就是说都是各负载均衡设备在最优环境下的最大值,但在真实环境,流量可能复杂很多,所以负载均衡设备在真实应用中一般不可能达到标称的性能(实际上对于所有做复杂处理的设备来说,都不可能达到标称值)。考虑到应用的复杂程度不同,功能模块开启的数目不同,在负载均衡性能指标的选型时,一定要留下充足的空间,原则如下: 1) 如果确认负载均衡设备对所有应用的处理都是最简单的4层处理,那么理论上选择的负载均衡设备的4层性能稍高于实际性能需求即可。 2) 如果确认负载均衡设备对所有应用的处理都是简单的7层处理,那么理论上选择的负载均衡设备的7层性能稍高于实际性能需求即可。 3) 如果负载均衡设备处理的应用既有4层的也有7层的,建议按照7层应用的性能来考虑负载均衡设备。 4) 如果确认自己的应用经过负载均衡处理时,需要复杂的4层或者7层处理,例如需要根据客户端的地址做策略性分发,需要根据tcp的内容做处理,需要根据HTTP头或者HTTP报文做处理,那么建议选择的负载均衡设备4/7层性能为真实性能需求的两倍。 5) 如果负载均衡设备有混合的复杂流量处理并且还开启了一些功能模块,那么建议选择的负载均衡设备4/7层性能为真实性能需求的3倍。 6) 考虑到设备需要轻载运行才能更加稳定,所以有可能的话在以上基础上再增加30%的性能。 7) 如果还要满足未来几年的发展需求,在以上基础上还要留出未来发展所需要增加的性能。 8) 不同负载均衡设备厂家由于不同的架构,使得某些设备在复杂环境下可能也表现的比较优秀,这个客户可以对比判断,但总体来说,以上建议适合于所有厂家的设备。
-
ICP/IP地址/域名信息备案管理系统 进行 系统升级
要升级了,拭目以待 尊敬的用户: 2017年12月15日-2017年12月18日,工业和信息化部“ICP/IP地址/域名信息备案管理系统”进行 系统升级。在此期间,阿里云代备案管理系统将同时关闭进行系统维护(具体关闭时间:2017年12月 15日17:30至2017年12月18日09:00)。届时您将不能登录备案系统提交或修改备案信息,同时将暂停 向各省通信管理局提交备案信息审核。2017年12月18日09:00系统恢复运行后,阿里云会尽快将您的 备案信息提交各省通信管理局审核。 紧急事宜,请咨询备案客服电话:95187转3
-
docker Alpine镜像的中国时区东八区设置
Dockerfile修改 增加安装tzdata包 在安装包时安装tzdata安装包,并且在构建成功后不能清理此安装包 #定义环境变量 ENV TIME_ZONE Asia/Shanghai #dockerfile增加命令 RUN \ … #安装tzdata安装包 && apk add –no-cache tzdata \ 增加时区配置 安装此安装包后,会在/usr/share/zoneinfo目录下生成各时区配置信息,Alpine目录并无timezone及locatime配置,此时我们需要将时区值覆写至Alpine的timezone及localtime配置中,命令如下: RUN \ … #安装tzdata安装包 && apk add –no-cache tzdata \ #设置时区 && echo “${TIME_ZONE}” > /etc/timezone \ && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \
-
nginx 1.13 see security.limit_extensions 错误解决办法
server{ listen 80; server_name moneyslow.com; access_log /data/logs/nginx/moneyslow_access.log main; error_log /data/logs/nginx/moneyslow_error.log; index index.php index.html; root /var/www/html; if ($request_uri ~ ” “) { …
-
docker 删除 状态 exited的容器
docker rm $(docker ps -q -f status=exited) docker rm $(docker ps –all -q -f status=exited)
-
从DigiCert对赛门铁克的证书业务进行收购看阿里云和腾讯云的后台人性化提示
12月初开始DigiCert开始对赛门铁克的证书业务进行收购的技术升级,国内的免费证书受影响很大。阿里云提示比较人性化,告诉确切的时间,而且将免费证书服务进行下架。腾讯云比较暧昧,后台申请后一直让等,告诉是用户的配置不对,申请不过。其他数字证书提供商全线完蛋。 阿里云:【通知】赛门铁克DV证书(包括免费证书)调整为交叉根证书,接口调整时间为2017年11月27日~2017年12月17日,在此期间Symantec DV证书可能无法签发,介时请选择其它类型,或者其它品牌证书。 腾讯后台: 腾讯云后台[/caption]
-
[WARNING]: Empty continuation lines will become errors in a future release.解决办法
docker for mac 下版本: $ docker –version Docker version 17.09.0-ce, build afdb6d4 编译镜像出现错误: [WARNING]: Empty continuation lines will become errors in a future release. 解决办法: 去掉RUN里的注释即可。
-
nginx标准日志格式
Nginx 日志相关配置有 2 个地方:access_log 和 log_format 。 默认的格式: access_log /data/logs/nginx-access.log; log_format old ‘$remote_addr [$time_local] $status $request_time $body_bytes_sent ‘ ‘”$request” “$http_referer” “$http_user_agent”‘; 相信大部分用过 Nginx 的人对默认 Nginx 日志格式配置都很熟悉,对日志的内容也很熟悉。但是默认配置和格式虽然可读,但是难以计算。 Nginx 日志刷盘相关策略可配置: 比如,设置 buffer,buffer 满 32k 才刷盘;假如 buffer 不满 5s 钟强制刷盘的配置如下: access_log /data/logs/nginx-access.log buffer=32k flush=5s; 这决定了是否实时看到日志以及日志对磁盘 IO 的影响。 Nginx 日志能够记录的变量还有很多没出现在默认配置中: 比如: 请求数据大小:$request_length 返回数据大小:$bytes_sent 请求耗时:$request_time 所用连接序号:$connection 当前连接发生请求数:$connection_requests Nginx 的默认格式不可计算,需要想办法转换成可计算格式,比如用控制字符 ^A…
-
Lua包管理工具Luarocks是干什么的?
1. Luarocks是什么? 2. Luarocks有什么用? lua这种解释性的语言,其代码的运行必须要有一个运行环境才行,这个运行环境就是能够解释代码的代码解释器——-虚拟机,就像java,ruby,go语言之类一样,都要由虚拟机来解释执行其代码,Lua这种解释性的语言自然也需要这种虚拟机了。上一篇介绍的,lua环境的搭建,其实就是在做一件事情—-编译出lua的虚拟机。 任何一门语言都有很多的依赖库,包括编译型的语言和解释性的语言都一样,需要库函数来支持其功能的扩展或者是功能的完备性实现。像ruby就有很多的gem包,这个gem包就是ruby这门解释性语言的库。 Lua程序的运行,也需要很多的库函数的支持,例如网路函数库、字符串处理函数库等等。在lua的虚拟机执行lua程序的时候,如果遇到require “XXXXX”,那么虚拟机就知道要去相应的地方去找这个包(库函数的集合),那么去哪里寻找呢?这个寻找路径如果是绝对路径,那么虚拟机自然可以找到,但是如果只是一个包名,那么虚拟机就要依赖于一个找寻路径规则来找寻该包了,类似于C语言中的INCLUDE_PATH这个机制。这个虚拟机默认的找寻路径可以在编译虚拟机的时候设置,也就是在搭建lua运行环境的时候来设置这个路径,在下载下来的lua虚拟机的源代码中,有一个.h文件,叫做luaconf.h,这个文件里面有很多配置虚拟机属性的配置项,这里面有一个宏定义叫做LUA_PATH_DEFAULT,它就是lua的虚拟机去找寻lua包的路径,还有一个路径就是LUA_CPATH_DEFAULT,它是告诉lua虚拟机去找寻C动态库的路径。 结论:lua的执行不仅需要虚拟机,还需要依赖一些库(lua叫做包),虚拟机会根据一套路径找寻规则来找这些包。 既然有包,那根据我们的不同需求,就会有很多的包,这些包辣么多,有些要升级,有些要删除,有些要降级之类的等等,有一些包还有依赖关系,非常麻烦。。。。这样的话,对这些包的管理这个新的需求就出现了—-管理lua的包。so,Luarocks就出现了,它就是专门管理lua的包的一种工具——-包管理器。它可以帮助我们下载、查找、删除我们需要的包,一句话,帮助我们方便地管理这些lua的依赖包。 什么是Luarocks: Luarocks是一个Lua包管理器,基于Lua语言开发,提供一个命令行的方式来管理Lua包依赖、安装第三方Lua包等,社区比较流行的包管理器之一,另还有一个LuaDist,Luarocks的包数量比LuaDist多。 源码安装部署Luarocks wget http://luarocks.org/releases/luarocks-2.2.2.tar.gz tar zxvf luarocks-2.2.2.tar.gz cd luarocks-2.2.2 ./configure –help configure help查看所支持的安装配置,这里我们主要关注以下两个 –prefix=DIR …
-
docker 管理界面 portainer 的启动 (管理swarm mode 集群)
portainer: https://portainer.readthedocs.io/en/latest/deployment.html 只在miji0qamdnvkrinj009qa77yy 上运行portainer: docker service create \ –name portainer \ –publish 9000:9000 \ –constraint ‘node.id == miji0qamdnvkrinj009qa77yy’ \ –mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \ –mount type=bind,src=/data/portainer/data,dst=/data \ docker.ifeng.com/portainer/portainer \ -H unix:///var/run/docker.sock 其他约束用法: –constraint ‘node.id == asdfasdfadf’ –constraint ‘node.role…
-
Mac 安装homebrew 并利用brew安装wget
Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器 Homebrew安装 Homebrew的安装非常简单,打开终端复制、粘贴以下命令,回车,搞定(请放心使用,原汁原味的官方安装方法搬运) ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” Homebrew使用 搜索软件:brew search 软件名,如brew search wget 安装软件:brew install 软件名,如brew install wget 卸载软件:brew remove 软件名,如brew remove wget
-
windows2012强行安装.NET Framework 3.5
Enable .NET Framework 3.5 by using the Add Roles and Features Wizard (Windows Server 2012 only) You can use Server Manager to enable .NET Framework 3.5 for a local or remote installation of Windows Server® 2012. Requirements Windows Server 2012 Installation media Administrator user rights. The current user must be a member of the local…
-
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
错误记录 max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] 解决办法 先解决第一条错误 max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] 原因分析: 操作系统的vm.max_map_count参数设置太小导致的 解决办法: 这里我们可以直接修改docker本身的参数,当然也可以直接修改宿主机本身的配置文件,需要注意的是在docker 容器中执行 sysctl -w vm.max_map_count=655360 会提示错误:…
-
如何在docker容器里手动重启php-fpm
php-fpm is a process manager which supports the USER2 signal, which is used to reload the config file. From inside the container: kill -USR2 1 Outside: docker exec -it <mycontainer> kill -USR2 1 Complete example: docker run -d –name test123 php:7.1-fpm-alpine docker exec -it test123 ps aux docker exec -it test123 kill -USR2 1 docker…
-
AB — APACHE自带的压力测试工具 (APACHE BENCHMARK )
简介 ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下。 通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用。 一个简单的例子 /*在这个例子的一开始,我执行了这样一个命令 ab -n 10 -c 10 http://www.google.com/。这个命令的意思是启动 ab ,向 www.google.com 发送10个请求(-n 10) ,并每次发送10个请求(-c 10)——也就是说一次都发过去了。跟着下面的是 ab 输出的测试报告,红色部分是我添加的注释。*/ C:\Program Files\Apache Software Foundation\Apache2.2\bin>ab -n 10 -c 10 http ://www.google.com/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 1997-2005…
-
shell自动改密码 非交互模式要求两次输入密码
docker的ftp启用的时候,需要加用户和改密码。 https://hub.docker.com/r/stilliard/pure-ftpd/ 添加用户: pure-pw useradd bob -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/bob 改密码命令: pure-pw passwd bob -f /etc/pure-ftpd/passwd/pureftpd.passwd -m 想实现添加用户的时候就自动改密码: (echo “abcd”;sleep 1;echo “abcd”) | pure-pw useradd bob -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/bob > /dev/null 想实现docker启动后自动改密码方法: (echo “abcd”;sleep 1;echo “abcd”) | pure-pw passwd bob -f /etc/pure-ftpd/passwd/pureftpd.passwd -m > /dev/null
-
dockerfile 之php5.6.32扩展安装memcache memcachd redis mongodb
FROM php56:v1 LABEL maintainer=”moneyslow” RUN apk update && apk add autoconf openssl-dev g++ make && \ pecl install mongo && \ docker-php-ext-enable mongo RUN apk add –no-cache –virtual .build-deps pcre-dev && \ pecl install mongodb && \ docker-php-ext-enable mongodb RUN apk add rsync php5-memcache php5-mysql php5-mssql php5-bz2…
-
dockerfile 之php7的memcache、memcached、redis、mongodb 扩展安装
—————————————————– php 7 ——————————————————————————- 参考:https://stackoverflow.com/questions/31369867/how-to-install-php-redis-extension-using-the-official-php-docker-image-approach Slightly revised version of starikovs and skyred answers for the current PHP 7 version of the docker image (tested on php:7.0.8-fpm-alpine and php:7.0.8-alpine). Uses the newly released 3.0 version (June 2016) for PHP 7. 安装redis扩展 ENV PHPREDIS_VERSION 3.0.0 RUN mkdir -p /usr/src/php/ext/redis \ && curl -L https://github.com/phpredis/phpredis/archive/$PHPREDIS_VERSION.tar.gz |…
-
基于nginx-php-fpm的docker安装php7的redis扩展memcahced扩展
镜像:https://hub.docker.com/r/richarvey/nginx-php-fpm/ php版本:FROM php:7.1.11-fpm-alpine 下载镜像并启动容器: docker run -d richarvey/nginx-php-fpm 进入容器: docker exec -it 08f7c84d5b84 bash 1 php -m|grep redis 2 mkdir -p /usr/src/php/ext/redis 3 curl -L https://github.com/phpredis/phpredis/archive/3.0.0.tar.gz | tar xvz -C /usr/src/php/ext/redis –strip 1 4 echo ‘redis’ >> /usr/src/php-available-exts 5 docker-php-ext-install redis 6 php -m|grep…
-
docker容器删除状态为Removal In Progress
[root@www.moneyslow.com ~]# systemctl restart docker 重启docker后,发现一个容器状态开始为Dead,后来转为 Removal In Progress [root@www.moneyslow.com ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …
-
libiconv-1.14 ./stdio.h:1010:1: error: ‘gets’ undeclared here 解决办法
如题:配置编译参数通过,在进行 make 的时候报如下错误: In file included from progname.c:26:0: ./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function) _GL_WARN_ON_USE (gets, “gets is a security hole – use fgets instead”); ^ make[2]: *** [progname.o] Error 1 make[2]: Leaving directory `/usr/local/src/zabbix-2.4.7/libiconv-1.14/srclib’ make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/local/src/zabbix-2.4.7/libiconv-1.14/srclib’ make: *** [all] Error 2 复制代码 解决方法: 使用…
-
https证书申请过程中的域名验证方式
通常有三种域名验证的方式: 1、文件验证 证书服务商会给你一个文件,让你放到你域名指定的地方,比如 www.moneyslow.com/.well-known/pki-validation/fileauth.txt 2、邮件验证 你需要提供一个邮箱地址,证书服务商给你发邮件,你要点里面的链接完成验证。 3、DNS记录验证 要求你添加一个TXT记录,注意这里有一个问题,如果你的域名已经cname到其他地方了,你就要添加一个该域名的下级域名的TXT记录,比如: a.com 已经cname 到 b.com ,你想为a域名申请证书并添加TXT记录进行验证,你是直接加不上TXT记录的,怎么办呢? 解决方法: 添加 _dnsauth.a.com 的TXT记录即可 4、其他验证(ov或者ev的证书) 给你打电话,让你发企业营业执照之类的,花钱多,高大上。
-
导入mib库并获取负载均衡F5的Mib信息
按以下方法将F5的mib库mibs_f5.tar.gz 解压后的文件放到snmpd服务器的mib库目录,重启服务 service snmpd restart即可。 验证成功: snmpwalk -c public -v 2c 123.123.123.123 F5-BIGIP-LOCAL-MIB::ltmVirtualServVaName 参考: Management Information Base(管理信息库,MIB)是一组对象,定义可对某个设备提出的查询。 我们所 用的snmp监控主机如果要轮询一个支持snmp的设备的某项数据,它必须发出被查询设备所能理解的查询命令,这个就需要监控主机载入被查询设备对应的 MIB,这个MIB将通知snmp监控主机有关由 MIB 模块化的数据的布局和组成。 Linux 中所使用的net-snmp自带了一些标准的MIB,但是世界上支持snmp的设备有无数种,各厂家都有自己的定义,这些定义不可能都包含在net- snmp自带的MIB中,因此,想要正确轮询一个这样的设备,必须载入厂家自己的MIB文件。 一般 我们下载回来的MIB文件可能后缀名为.mib,为了清晰起见,一般改成 MIB_NAME.txt 这样的形式,当然不改也可以,这个MIB文件叫什么名字无关紧要。 系统要载入一个MIB文 件,net-snmp必须知道从哪里载入。默认情况下是下边两个目录: 1. $HOME/.snmp/mibs 2. /usr/local/share/snmp/mibs 不过也有些发行版会改变这个默认路径,那么可以用下边两种方法之一获取它 所使用的路径。 1.如果系统安装了net-snmp-config: net-snmp-config –default-mibdirs 2.如果未安装net-snmp-config: snmptranslate -Dinit_mib .1.3 2>&1 |grep MIBDIR 一般来说MIB文件是一个纯文本文件,我们打开这个 文件查看,找到第一个包含 DEFINITIONS 的行 例如/usr/share /snmp/mibs/IP-MIB.txt 中包含如下一行 IP-MIB…
-
nginx 访问加密码保护
nginx配置文件中加入 location / { root html; index index.html index.htm index index.jpg; auth_basic ‘Restricted’; auth_basic_user_file htpasswd; } yum install httpd 目的是要htpasswd 这个工具 为user设置密码: htpasswd -c /usr/local/nginx/conf/htpasswd user
-
Ubuntu 中的 APT 和 dpkg 有什么区别? apt-get update 和 upgrade 的区别
Debian系的Linux发行版的两种包管理工具:apt (Advanced Packaging Tools) 高级包管理工具(install安装,remove移除)dpkg Debian package,直接操作下载好的软件包文件(-i安装,-r移除)。 apt update:只检查,不更新(已安装的软件包是否有可用的更新,给出汇总报告)用法: apt update apt upgrade:更新已安装的软件包用法: apt upgrade 软件包名 关系:apt是基于dpkg的。APT 和dpkg都是命令行包管理界面,APT 使用 dpkg 安装包,当 APT(或其表亲 Apt-get)安装软件包时,它实际上是在后端使用 dpkg 来完成该操作。通过这种方式,dpkg 更像是 APT 更友好的用户界面的“幕后”工具。APT会自动检查并获取相关的依赖项,以确保您尝试正确安装任何功能。这就是为什么我们建议在使用 dpkg 安装软件包后,您仍然使用 APT 的特殊命令来恢复依赖项:sudo apt install -f 使用语法 Apt:apt install ./discord-0.0.14.deb使用语法 Dpkg:dpkg -i ./discord-0.0.14.deb APT可以下载包,可以从远程存储库中检索文件并安装它。dpkg,只能安装自己已经下载的本地文件。它无法搜索远程存储库或从中提取包。dpkg 不会安装依赖,只简单地安装软件包。 apt 列出已安装的软件 apt list –installed安装 apt-get install xxx卸载 apt-get remove xxx…
-
redis安全配置四大招
1.绑定IP: # bind 127.0.0.1 把# bind 127.0.0.1前面的 注释#号去掉,然后把127.0.0.1改成你允许访问你的redis服务器的ip地址 2.设置密码,以提供远程登陆,方便不安全 redis.conf 配置文件里设置密码: requirepass yourpassword yourpassword就是redis验证密码,设置密码以后发现可以登陆,但是无法执行命令了。 命令如下: redis-cli -h yourIp -p yourPort//启动redis客户端,并连接服务器 keys * //输出服务器中的所有key 报错如下 (error) ERR operation not permitted 这时候你可以用授权命令进行授权,就不报错了 命令如下: auth youpassword 另外,在连接服务器的时候就可以指定登录密码,避免单独输入上面授权命令 命令如下: redis-cli -h yourIp-p yourPort -a youPassword 除了在配置文件redis.conf中配置验证密码以外,也可以在已经启动的redis服务器通过命令行设置密码,但这种方式是临时的,当服务器重启了密码必须重设。命令行设置密码方式如下: config set requirepass yourPassword 有时候我们不知道当前redis服务器是否有设置验证密码,或者忘记了密码是什么,我们可以通过命令行输入命令查看密码,命令如下: config get requirepass 如果redis服务端没有配置密码,会得到nil,而如果配置了密码,但是redis客户端连接redis服务端时,没有用密码登录验证,会提示:operation not permitted,这时候可以用命令:auth yourpassword 进行验证密码,再执行…
-
Docker daemon 只能响应本地Host的客户端请求,开启允许远程客户端请求
在A机器 服务端xx.xx.xx.xx 上 # locate docker.service /usr/lib/systemd/system/docker.service 增加 -H tcp://0.0.0.0 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0 systemctl daemon-reload systemctl restart docker.service # netstat -anlp|grep docker tcp6 0 0 :::2375 :::* LISTEN 13327/dockerd 从其他机器客户端: # docker -H…
-
discuz 分组取第一个aid,并将宽度加1
选取第一个aid select a.aid from pre_forum_attachment_9 a where width<>801 and aid=(select min(aid) from pre_forum_attachment_9 where tid=a.tid) order by a.tid; 批量将第一张图宽度加1 update pre_forum_attachment_9 set width=width+1 where aid in (234,23423,23423423,234234); 新贴将第一张图宽度加1 update pre_forum_attachment_0 set width=width+1 where filename=’1.jpg’ and tid > 466456; update pre_forum_attachment_1 set width=width+1 where filename=’1.jpg’ and tid > 466456; update pre_forum_attachment_2 set width=width+1 where filename=’1.jpg’ and…
-
sql按分组求最大最小值
SQL按某一字段分组取最大(小)值所在行的数据 1 –按某一字段分组取最大(小)值所在行的数据 2 — www.moneyslow.com 3 /* 4 数据如下: 5 name val memo 6 a 2 a2(a的第二个值) 7 a 1 a1–a的第一个值 8 a 3 a3:a的第三个值 9 b 1 b1–b的第一个值 10 b 3 b3:b的第三个值 11 b 2 b2b2b2b2 12 b …