March 2018

Uncategorized

CentOS7与CentOS6区别

本人之前使用的Linux是虚拟机上的CentOS6.X作为服务器环境,后来要发布线上项目,就购买了云服务器,阿里服务器的云翼计划学生购买只有CentOS7.3可以选择,抱着趁此机会学习CentOS新版本的更多特性的心态,毅然选择了购买使用,果然不出所料呀,踩了不少雷,当然也就学习了更多新知识,下面就分析一下CentOS7.X与CentOS6.X的区别以及注意点,希望可以帮助到小伙伴,大神可以略过,请轻虐。 CentOS7与CentOS6的区别图 命令 centos6 centos7 备注 ifconfig 有 有 yum install -y net-tools rouet 有 有 yum install -y net-tools ntpd服务和ntpdate命令 有 有 […]

Uncategorized

add_localadmin.sh

login=$1 #realm permit $login short_login=$(echo $login | cut -f1 -d\@ | sed ‘s/\./_/’) echo “$short_login ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers.d/admins_local

Uncategorized

MySQL慢查询日志总结

慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。 慢查询日志相关参数 MySQL 慢查询的相关参数解释:slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。 1 2 3 4 5 6 slow_query_log    :是否开启慢查询日志,1表示开启,0表示关闭。 log-slow-queries  :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。 log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。

Uncategorized

nginx配置location总结及rewrite规则写法

语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ~*  开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 /

Uncategorized

Windows 入侵类问题排查思路

深入分析,查找入侵原因 一. 检查帐户和弱口令 查看服务器已有系统或应用帐户是否存在弱口令。 检查说明:主要检查系统管理员帐户、网站后台帐户、数据库帐户以及其他应用程序(FTP、Tomcao、phpMyAdmin 等)帐户是否存在弱口令。 检查方法:根据实际情况自行确认。 风险性:高 查看下服务器内是否有非系统和用户本身创建的账户。 检查说明:一般黑客创建的异常账户账户名会在本地用户组显示出来。 检查方法:打开 cmd 窗口,输入lusrmgr.msc命令,查看是否有新增的账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉。 风险性:高 检查是否存在隐藏账户名 检查说明:黑客为了逃避检查,往往会在您服务器内创建隐藏用户,隐藏账户在本地用户内是查看不到的。 检查方法(您也可以通过下载 LD_check 安全工具检查是否有隐藏账户): 在桌面打开运行(可使用快捷键

Uncategorized

Linux 入侵类问题排查思路

深入分析,查找入侵原因 一、检查隐藏账户及弱口令 检查服务器系统及应用账户是否存在 弱口令: 检查说明:检查管理员账户、数据库账户、MySQL 账户、tomcat 账户、网站后台管理员账户等密码设置是否较为简单,简单的密码很容易被黑客破解。 解决方法:以管理员权限登录系统或应用程序后台,修改为复杂的密码。 风险性:高 使用last命令查看下服务器近期登录的账户记录,确认是否有可疑 IP 登录过机器: 检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击。 解决方法:检查发现有可疑用户时,可使用命令usermod -L 用户名禁用用户或者使用命令userdel -r 用户名删除用户。 风险性:高 通过less /var/log/secure|grep

Uncategorized

微服务架构初探

https://xiaoxubeii.github.io/articles/microservices-architecture-introduction/   什么是微服务 首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。 传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、消息组件以及访问接口等。一个打车软件的架构图如下: 尽管也是遵循模块化开发,但最终它们会打包并部署为单体式应用。例如Java应用程序会被打包成WAR,部署在Tomcat或者Jetty上。 这种单体应用比较适合于小项目,优点是: 开发简单直接,集中式管理 基本不会重复开发 功能都在本地,没有分布式的管理开销和调用开销 当然它的缺点也十分明显,特别对于互联网公司来说: 开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断 代码维护难:代码功能耦合在一起,新人不知道何从下手 部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长 稳定性不高:一个微不足道的小问题,可以导致整个应用挂掉 扩展性不够:无法满足高并发情况下的业务需求 所以,现在主流的设计一般会采用微服务架构。其思路不是开发一个巨大的单体式应用,而是将应用分解为小的、互相连接的微服务。一个微服务完成某个特定功能,比如乘客管理和下单管理等。每个微服务都有自己的业务逻辑和适配器。一些微服务还会提供API接口给其他微服务和应用客户端使用。 比如,前面描述的系统可被分解为: 每个业务逻辑都被分解为一个微服务,微服务之间通过REST API通信。一些微服务也会向终端用户或客户端开发API接口。但通常情况下,这些客户端并不能直接访问后台微服务,而是通过API

Uncategorized

一篇文章快速理解微服务架构

http://www.dockone.io/article/3687   什么是微服务 首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。 传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、消息组件以及访问接口等。一个打车软件的架构图如下: 尽管也是遵循模块化开发,但最终它们会打包并部署为单体式应用。例如Java应用程序会被打包成WAR,部署在Tomcat或者Jetty上。 这种单体应用比较适合于小项目,优点是: 开发简单直接,集中式管理 基本不会重复开发 功能都在本地,没有分布式的管理开销和调用开销 当然它的缺点也十分明显,特别对于互联网公司来说: 开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断 代码维护难:代码功能耦合在一起,新人不知道何从下手 部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长 稳定性不高:一个微不足道的小问题,可以导致整个应用挂掉 扩展性不够:无法满足高并发情况下的业务需求 所以,现在主流的设计一般会采用微服务架构。其思路不是开发一个巨大的单体式应用,而是将应用分解为小的、互相连接的微服务。一个微服务完成某个特定功能,比如乘客管理和下单管理等。每个微服务都有自己的业务逻辑和适配器。一些微服务还会提供API接口给其他微服务和应用客户端使用。 比如,前面描述的系统可被分解为: 每个业务逻辑都被分解为一个微服务,微服务之间通过REST API通信。一些微服务也会向终端用户或客户端开发API接口。但通常情况下,这些客户端并不能直接访问后台微服务,而是通过API

Uncategorized

Eventuate example applications

http://eventuate.io/exampleapps.html The Eventuate™ Platform for developing transactional microservices. It provides simple yet powerful event-driven programming models that solve the distributed data management

Scroll to Top