linux

nginx支持lua的编译配置及Nginx rewrite对post数据的影响

星期四, 十二月 8th, 2016 | JAVA-and-J2EE, linux | 没有评论

nginx+lua 可以很方便做限流,路由等其他配置很是方便

编译配置如下:
lua-nginx-module 是 openresty(集成nginx版本) 下的一个模块可以独立编译挂载
https://github.com/openresty/lua-nginx-module

Alternatively, ngx_lua can be manually compiled into Nginx:

1.Install LuaJIT 2.0 or 2.1 (recommended) or Lua 5.1 (Lua 5.2 is not supported yet). LuaJIT can be downloaded from the LuaJIT project website and Lua 5.1, from the Lua project website. Some distribution package managers also distribute LuaJIT and/or Lua.

2.Download the latest version of the ngx_devel_kit (NDK) module HERE.

3.Download the latest version of ngx_lua HERE.

4.Download the latest version of Nginx HERE (See Nginx Compatibility)

下载编译安装:
› Continue reading

Tags: ,

no response “Installing Python packages” when letsencrypt-auto

星期一, 十一月 7th, 2016 | JAVA-and-J2EE, linux | 没有评论

延续https的时间的时候,遭遇no response “Installing Python packages”,卡在一直不动的解决方法

主要执行 三,四即可

一.重新配置pip的源文件

vim ~/.pip/pip.conf
 
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
 
[install]
trusted-host=mirrors.aliyun.com

› Continue reading

Tags: ,

Redis3.2的保护模式

星期四, 十月 27th, 2016 | linux | 没有评论

Redis3.2的保护模式

针对之前Redis版本,默认无bind和密码设置存在很大安全风险;Redis3.2版本提出新特性protected mode(保护模式)。
如果Redis在启动时,未开启bind和密码设置功能,只能通过回环地址本地访问,如果尝试远程访问redis,会提示以下错误:

DENIED Redis is running protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.
In this mode connections are only accepted from the loopback interface.

当然也可直接执行CONFIG SET protected-mode no,关闭保护模式。
类似这种设置在MongoDB3.2或MySQL5.7的默认安全配置都有。

Tags:

nginx配置https使其达到A+水平

星期六, 五月 21st, 2016 | linux | 没有评论

前面有一篇文章配置了启用https的安全连接基于LetsEncrypt SSL的nginx配置

在 SSL的安全检测中才获得了B,想达到A+,也很轻松,加下配置文件即可,测试地址:https://www.ssllabs.com/ssltest/index.html

配置如下(nginx.conf):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 server
  {
    listen     192.168.1.1:443 ssl;
    listen     192.168.1.1:80;
    server_name www.iatodo.com iatodo.com;
 
    add_header               Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    ssl_certificate          /etc/letsencrypt/live/iatodo.com/fullchain.pem;
    ssl_certificate_key      /etc/letsencrypt/live/iatodo.com/privkey.pem;
 
    ssl_ciphers                EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers  on;
 
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_session_cache          shared:SSL:50m;
    ssl_session_timeout        1d;
    ssl_session_tickets        on;
 
  ......

最后放图 画圈的部分是 Strict-Transport-Security的部分,默认开启https的访问
iatodossl

Tags: , ,

量子恒道网站统计的关闭

星期日, 五月 8th, 2016 | JAVA-and-J2EE, linux | 没有评论

早就看到关闭的通知,一直等到过了五一,自己都还没有舍得撤下对应的统计代码,现在彻底看不到统计信息了,
只有去撤掉对应的信息了,也发个小短文聊以纪念感谢陪伴的那多年.

对应网站流量统计,大家知道的可能多是 google统计,百度统计,CNZZ统计等

在当CNZZ还不是很好的时候,选择了恒道,后来恒道又被阿里收购,逐渐淡出统计和数据分析的视野.

对于 量子恒道网站统计将于2016年4月30日正式下线 感觉奇怪又 觉得很正常.

不想多说什么,所有的持续都需要商业行为的支持,聊以纪念下,在大数据盛行的今日,应该有更多的用途.

后续的自己需要撤掉几个网站对应的统计信息.

Tags:

启用https的安全连接基于LetsEncrypt SSL的nginx配置

星期四, 五月 5th, 2016 | JAVA-and-J2EE, linux | 一条评论

现在网站不是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

Tags: , ,

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;

小记:直接在这个层面上解决,省了在代码中转和处理方便很多.

Tags: , ,

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

Tags: , ,

阿里云Centos6.5服务器配置说明

星期日, 三月 6th, 2016 | linux | 没有评论

一、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分区文件

› Continue reading

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功能相同,只是在退出前需要确认。

Tags: ,

Rss

Search

文章分类

Meta