量子恒道网站统计的关闭
星期日, 五月 8th, 2016 | JAVA-and-J2EE, linux | 没有评论
早就看到关闭的通知,一直等到过了五一,自己都还没有舍得撤下对应的统计代码,现在彻底看不到统计信息了,
只有去撤掉对应的信息了,也发个小短文聊以纪念感谢陪伴的那多年.
对应网站流量统计,大家知道的可能多是 google统计,百度统计,CNZZ统计等
在当CNZZ还不是很好的时候,选择了恒道,后来恒道又被阿里收购,逐渐淡出统计和数据分析的视野.
对于 量子恒道网站统计将于2016年4月30日正式下线 感觉奇怪又 觉得很正常.
不想多说什么,所有的持续都需要商业行为的支持,聊以纪念下,在大数据盛行的今日,应该有更多的用途.
后续的自己需要撤掉几个网站对应的统计信息.
启用https的安全连接基于LetsEncrypt SSL的nginx配置
星期四, 五月 5th, 2016 | JAVA-and-J2EE, linux | 2 Comments
现在网站不是https都不好意思和别人说了,顺便也跟下潮流.
操作系统:Centos6.5版本
官方文档参考: let’s encrypt getting started
具体介绍就不废话了,知道是免费、时效是90天即可,记得及时自动续期就好.
一.系统环境配置
Git
1 | yum -y install git |
python 2.7 检查
1 | /usr/bin/python -V #查看版本 |
安装编译需要的工具
1 | yum install zlib-devel bzip2-devel openssl-devel xz-libs wget xz |
安装 Python2.7.8
› Continue reading
mysql支持存储emoji在5.5.3版本以后支持
星期一, 五月 2nd, 2016 | JAVA-and-J2EE, linux | 没有评论
在做基于办公的沟通软件中,常用一些emoji的聊天版本,发现在mysql中无法存储.
因为emoji表情在存储时转成的四个字节(\xF0\x9F\x90\xAC);
由于数据库使用的是utf8字符集utf8_general_ci,这个校对规则(collation)最大只支持3个字节,所以四个字节的emoji就会存储不全,从而取出无法显示.
简要说明
上文提到的 utf8_general_ci 与 ut8_unicode_ci 是utf8的两种字符编码方式,不同之处就是对字符的分类(sorting)和对比(comparison)。
MySQL 5.5.3及以后版本支持使用utf8mb4字符集,它在与utf8数据格式处理性能相同基础上加强了对字符码位(code point)的处理能力。与utf8对应的,utf8mb4有 utf8mb4_general_ci 和 utf8mb4_general_ci 。
utf8mb4_general_ci 基于Unicode standard sorting与comparison,支持更多的语言种类。
utf8mb4_general_ci 不能解析所有的Unicode分类规则,在一些特别的语言或字符处理上存在一定的问题。不过在性能上,它能更快的sorting、comparison,因其采用一组性能相关的快捷方式(performance-related shortcuts)。
解决办法
通过上文我们已经知道一种解决办法了,但有一个硬性条件就是你的数据库版本。当你的数据库版本没有达到5.5.3怎么办呢…总结一下,mysql支持存储emoji表情的方法,至少有两种。
1.修改数据库编码为utf8mb4,前提是你的mysql数据库版本必须得是5.5.3及以后的
2.将带emoji的文本转为base64来进行存储,返回时进行相应解码返回
下面介绍我如何使用第一种方法:
将数据库编码由utf8改为utf8mb4
set character_set_client = utf8mb4; set character_set_connection = utf8mb4; set character_set_database = utf8mb4; set character_set_results = utf8mb4; set character_set_server = utf8mb4; |
将已经生成的表也转成utf8mb4
ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; |
小记:直接在这个层面上解决,省了在代码中转和处理方便很多.
CentOS6.5安装配置postfix邮件系统 启用并配置SMTP虚拟账户
星期三, 三月 9th, 2016 | JAVA-and-J2EE, linux, php | 一条评论
CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP虚拟账户 实录
开启用户注册的邮件检验功能,需要发送邮件,使用其他服务商的邮件服务总有每日和发送间隔发送邮件限制.
废话不多说主要实现功能为设置postfix配置,启用smtp服务帐号,只用来发送邮件验证和newsletter邮件
一:配置postfix及简单简介
开始之前,先介绍几个枯燥的名词:
MUA:用户代理端,即用户使用的写信、收信客户端软件。比如:outlook、foxmail等客户端软件,乃至通过浏览器登录邮箱并发送邮件的BS架构网页也算是MUA。
MTA:邮件传送端,即常说的邮件服务器,用于转发、收取用户邮件。本文之中的postfix实现的就是MTA,当然postfix也是一种特殊的MUA,不再深入介绍,本文之中仅把postfix当做MTA使用。
MDA:邮件代理端,相当于MUA和MTA的中间人,可用于过滤垃圾邮件。
POP:邮局协议,当前是第三版,也就是POP3,用于MUA连接服务器收取用户邮件,通信端口110。
IMAP:互联网应用协议,功能与POP类似:也用于MUA连接服务器收取用户邮件;功能较POP多,通信端口143。
SMTP:简单邮件传送协议,MUA连接MTA或MTA连接MTA发送邮件使用此协议,通信端口25,启用ssl/tls的情况下端口为465或587。
一般发邮件的步骤流程是:
1、MUA通过POP、IMAP或SMTP协议连接MTA(称之为mta1);本文之中php通过phpmailer请求发送邮件的php脚本就扮演了MUA的角色,而postfix就是MTA;
2、MUA发送邮件给mta1(或者说MUA通过mta1发送邮件);本文中postfix就是这个mta1;
3、mta1与其他的MTA自主沟通连接将邮件传送至指定域下的指定用户(此时mta1就扮演了MUA的角色功能,这种交互是由邮件系统软件自主实现,与用户端无关)。
本次搭建postfix目的很明确:
› Continue reading
阿里云Centos6.5服务器配置说明
星期日, 三月 6th, 2016 | linux | 2 Comments
一、linux添加swap分区
512M的物理内存,太小了,而阿里云方面初始化系统并没有交换分区;手动添加一个1G大小的swap分区,swap的物理文件在/var目录下创建。
1.1、检测并创建swap
1 2 | [root@www ~]# cd /var #进入/var目录 [root@www var]# dd if=/dev/zero of=swapfile bs=1024 count=1048576 #检测是否存在swap 若不存在则创建 |
1.2、将刚才dd命令创建的文件转换为swap类型的文件(分区)
1 2 | [root@www var]# /sbin/mkswap swapfile #创建swap文件(或分区) [root@www var]# /sbin/swapon swapfile #挂载(启用)该swap分区文件 |
Base64.encodeBase64String换行回车解决方法
星期四, 二月 18th, 2016 | JAVA-and-J2EE | 没有评论
在做接口对接的时候老是报签名错误,一步一步跟踪到原来是Base64出的问题,记录下:
据RFC 822规定,每76个字符,还需要加上一个回车换行
就因为这些换行弄得出了问题,解决办法如下,替换所有换行和回车
1 2 3 4 5 | private static String base64(String str, String charset) throws UnsupportedEncodingException { String encoded = Base64.encodeBase64String(str.getBytes(charset)); encoded = encoded.replaceAll("[\\s*\t\n\r]", ""); return encoded; } |
小计:在php环境下不存在此问题
1 2 3 4 5 6 7 8 9 | /** * 电商Sign签名生成 * @param data 内容 * @param appkey Appkey * @return DataSign签名 */ function encrypt($data, $appkey) { return urlencode(base64_encode(md5($data.$appkey))); } |
windows下配置nginx1.9.x+php7开发环境
星期四, 二月 4th, 2016 | php | 没有评论
还是跑不掉在windows下配置对应的开发环境,准备:
1.下载对应的软件
nginx-1.9.10/Windows-1.9.10
PHP 7.0 (7.0.3)/php-7.0.3-nts-Win32-VC14-x86.zip
2.安装配置nginx和php
分别解压到 D:/web/nginx-1.9.10/ 和D:/web/php7/
修改php.ini-recommended文件为php.ini
打开 一堆扩展尽量打开这里示例2个
1 2 3 | extension_dir = "D:/web/php7/ext" extension=php_mysqli.dll cgi.fix_pathinfo=1 ##这个启用cgi核心关键 |
nginx.cnf 打开php支持 同时修改fastcgi_param 参数由/scripts$fastcgi_script_name; 修改为$document_root$fastcgi_script_name;
1 2 3 4 5 6 7 8 9 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root D:/web/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } |
3.编辑php的脚本 (phpinfo.php)
<?php phpinfo(); ?> |
4.启动和关闭的脚本文件
启动脚本文件 start_nginx.bat
1 2 3 4 5 6 7 8 9 10 | @echo off echo starting nginx... D: cd D:/web/nginx-1.9.10/ start nginx echo starting PHP FastCGI... D: cd D:/web/php7/ php-cgi.exe -b 127.0.0.1:9000 -c D:/web/php7/php.ini exit |
关闭脚本文件 stop_nginx.bat
1 2 3 4 5 6 | @echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit |
搞定配置
Mac下配置Apache和修改hosts文件
星期二, 一月 26th, 2016 | mac, php | 没有评论
Mac自带了Apache环境
可以使用指令查看Apache的版本
sudo apachectl -v |
设置虚拟主机
1.在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件
2.在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。
› Continue reading
拆合都不容易,2016新年规划
星期六, 一月 9th, 2016 | 体味生活 | 没有评论
2016新年 想把 原来的 //www.pomelolee.com/ 再并回到 www 的主站;
以为很简单的指向即可,看了看太麻烦,还是继续此分离状态
分家久了,在2个系统都已经互相 进化了那么久,想在像以前那样合并,谈何容易
拆,专注,不要老是大一统,需要大一统再上一个系统吧,走微服务架构即可.
也记录新年的系统规划:
1.一号核心系统(抓取系统,检索系统)
2.TODO调度系统
3.分支业务系统
centos7使用killall命令
星期五, 十二月 11th, 2015 | linux | 没有评论
安装完成centos7的最小化安装后,发现没有killall指令
使用yum安装psmisc即可
yum install psmisc
简单介绍一下 psmisc :
Psmisc软件包包含三个帮助管理/proc目录的程序。
安装下列程序: fuser, killall,pstree和pstree.x11(到pstree的链接)
fuser 显示使用指定文件或者文件系统的进程的PID。
killall 杀死某个名字的进程,它向运行指定命令的所有进程发出信号。
pstree 树型显示当前运行的进程。
pstree.x11 与pstree功能相同,只是在退出前需要确认。
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)