分类 后端技术 中的文章

windows环境配置ssh tunnel

ssh tunnel 是一个非常好用的工具,它能够在本地创建一个socks5 代理,然后走ssh通道,懂得都懂,在linux 环境下配置使用都非常方便 最近开始使用windows办公,也要部署这个工具,搜索了一圈教程,提到需要用putty或者plink.exe,甚至ccproxy之类, 看起来非常麻烦,实……

阅读全文

在python3环境使用Supervisor

supervisor 是一个用python2 开发的 进程管理工具,我用了7/8年了,非常好用,最早是做搜索的时候5000台服务器上的程序都用它管理,一直用到现在 supervisor官网 py2迁移到python3是个大的趋势,从官网看,supervisor迁移到python3还没有实现,估计作者也没有啥……

阅读全文

升级到python39

二话不说,直接build from source code 编译方法 1 2 3 4 5 6 7 8 9 wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tar.xz xz -d Python-3.9.7.tar.xz tar -xvf *.tar sudo apt install libffi-dev #不然会出现 _ctype 错误 sudo apt install libssl-dev #pip3 支持ssl ./configure --prefix=/usr/local/python3 make && sudo make install sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 sudo ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3 可以把Python-3.9.7.tar.xz 换成最新的python包 深入思考 需要全面启用python3,不要再抱着python2……

阅读全文

Nginx配置auth密码鉴权的方法

nginx开启auth 密码属于便宜又好用的鉴权方法,特别部署在公网的服务,加一层auth 密码,安全性大幅提升,部署也简单 修改nginx配置 只需要增加2行,在server /http /location 都可以 1 2 auth_basic "Please input password"; ##输入用户名密码提示框 auth_basic_user_file /etc/nginx/conf.d/auth_pwd; ##配置用户名密码验证文件路径 生成密码 有两种软件可以生产密码,……

阅读全文

Puppet只是虚妄的概念

作为程序员,我却有好几年的时间都要替公司管理服务器,所以对各种运维技术都研究了一番。2010年的时候,调研了 puppet,chef 等工具,当时就觉得不适用。 后来 随着devops 概念越演越烈,puppet名气变到 不puppet,无devops 吓的我每隔几个月就要去翻puppet的文档,害怕错过了大时代……

阅读全文

5分钟搞定solr索引主从同步

solr配置主从同步非常简单,比mysql/redis 要简单的多,5分钟搞定 solr索引同步的是core对core,以core为基本同步单元 一个solr instance可以装载多个core,每个core拥有不同的schema,core与实例的关系等同于mysql中table和da……

阅读全文

服务器软件为什么需要编译安装

为什么服务器软件需要编译安装?一个流传很广的说法是编译安装性能更好,这是个谣言 服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的。Intel宣传自己的编译工具Intel C++ Compiler 比GCC编译出来性能要提升10%-20%,这就是一广告,生产环境很少用人用……

阅读全文

vagrant box linux 正确显示中文

vagrant box http://www.vagrantbox.es/ 提供了一大堆box。 其实这些box大部分都是基于ubuntu或者centos的精简版版本,平均大小300M,性价比确实好,但是去掉了中文支持无法显示/输入中文,修复方法如下 apt-get install language-pack-zh 修改缺省的编码为zh-CN vi /etc/default/locale LANG="zh_CN.UTF-8"; 重启 重启 vagrant box必须通过 vagrant reload这个指令 vagrant是 w……

阅读全文

过滤solr query 非法字符串的方法

solr是基于 lucence,非常的傲娇,如果query中带有非法字符串,结果直接报错,所以你对用户的输入必须要先做处理.o 非法字符串的官方说明 http://wiki.apache.org/solr/SolrQuerySyntax http://lucene.apache.org/core/400/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#Escaping%20Special%20Characters 非法字符串有这些 + - && || ! ( ) { } [ ] ^ " ~ * ? : \ / 过滤的方法很简单,用\ 进行转义 solr 官方的处理方法 https://svn.apache.org/repos/asf/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/util/ClientUtils.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15……

阅读全文

sqlite使用的一些经验

最近采集了点数据,用sqlite来存,折腾有如下经验 sqlite表建立好之后,不能通过add column的方式添加primary key,只能新建一个表,然后把旧表的数据插入进去 sqlite的表,每行默认有一个行id, 64-bit signed integer key. 可以充当primary key,可以用 “rowid”, “oid”, or “rowid” 这几种名称引……

阅读全文