linux

启用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

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

› 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: ,

Centos7防火墙关闭和启用iptables操作

星期三, 十二月 9th, 2015 | linux | 2 Comments

前序 还是docker惹得最近做的系统都是上的centos7的系统带来的一系列的新环境的适应

补记下:在使用oracle vmbox虚拟centos7的时候 选用桥接网络的时候一定要记得插网线,无线不好使(浪费了一上午的时间的教训)
可以做到内外网互通等,否则只能部分的网段想通 且 无法获取外网
具体ip指令 为 ip add
关于静态ip设置见 centos6.4静态ip设置于eth1的问题 依旧好用

回到防火墙问题:(起因装好后直接ssh访问被拒绝)

CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样,按如下方便配置防火墙:

1.关闭防火墙:sudo systemctl stop firewalld.service

2. 关闭开机启动:sudo systemctl disable firewalld.service

3.安装iptables防火墙

执行以下命令安装iptables防火墙:sudo yum install iptables-services

4.配置iptables防火墙,打开指定端口(具体跟以前版本一样,网上介绍很多,这里不多介绍了)

5. 设置iptables防火墙开机启动:sudo systemctl enable iptables

Tags: ,

CentOS 7 / RHEL 7 : 重置root密码

星期四, 十一月 26th, 2015 | linux | 没有评论

以前装了centos7的虚拟机为了玩Docker,无奈忘记了当初设置的密码了,网上弄了一圈重置密码信息,记录下.
只知道按e可以进入单个用户模式,无奈centos7启动了grub2模式 要加对应的启动才行

1.第一步重启系统按 e进入编辑模式 GRUB 2

2.第二步 在 rhgb and quiet 的后面添加

init=/bin/sh
selinux=0

root-passwd-2
root-password-3

3.第三步 Remount / root partition , reset root password and autorelable
使用passwd root 修改密码

1
2
mount -o remount, rw /
passwd root

NICE 如图成功:
vbox-6
NOTE: In case system is not writable, the passwd tool fails with the following error:
Authentication token manipulation error

Now run the below given command for relabeling the SELINUX
› Continue reading

Tags: , ,

jira 6.3.6 汉化的官方语言包版本

星期六, 十月 17th, 2015 | JAVA-and-J2EE, linux | 没有评论

在网上找对应的汉化包的时候,清一色给的是 JIRA-6.3.3-language-pack-zh_CN.jar,这个jar包

这个在安装的时候使用是可以的,等完成后运行一段时间 发现此插件过期,无法使用又退回到英文版本.

无奈之下看了想看下此插件包的对应的开发步骤时候,无意中发现 了官方的各个语言版本包可以直接下载

需要对应的语言包可以点击 https://translations.atlassian.com/

对应截图先预览下,可以选择对应版本下载即可
jiralanguage

Tags: ,

Mac 和Linux下查看端口占用及查杀进程

星期四, 九月 17th, 2015 | linux | 没有评论

常用netstat去查询,想找到对应的进程去杀,一直记不住,记到空间里,以后可以方便随时翻阅

netstat命令

netstat -an | grep 80

80替换成需要grep的端口号

lsof命令
通过list open file命令可以查看到当前打开文件,在linux中所有事物都是以文件形式存在,包括网络连接及硬件设备。

lsof -i:80

-i参数表示网络链接,:80指明端口号,该命令会同时列出PID,方便kill

小计:重启sudo apachectl start 后最后发现是代理的原因

阿里云香港主机恢复小记

星期日, 六月 21st, 2015 | JAVA-and-J2EE, linux | 没有评论

阿里云香港主机服务停止了算是有一天的时间,具体什么时候开始的就不清楚了

只知道大概下午2点左右的时候收到的短信通知,一直到晚上23点的时候才真正恢复

服务器才可以登录,具体服务的影响还要去启动服务器,我以前做了自动启动但还是有影响

其中的软链接 失效了,记录下

对应的启动信息:

1.error while loading shared libraries:libmysqlclient.so.18
重新做下软链接
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64
› Continue reading

Tags:

Search

文章分类

Links

Meta