LNMP下HTTP强制跳转HTTPS的几种写法

现在越来越多的网站都启用https访问了,SSL证书也不贵,还有一些免费的比如Let's Encrypt或者腾讯也有提供1年免费证书等等,加上https有更好的安全性,甚至有人说以后搜索引擎都更青睐https的网站…今天就记录下在HTTP强制跳转HTTPS的几种方式方法,方便哪天我要加SSL的时候使用。 我们需要修改域名配置文件,这里我以军哥LNMP环境为例,路径在/usr/local/nginx/conf/vhost/ 如上图,选择部分就是添加的跳转内容,通常我们有多种写法方式,下面列举。?View Code PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 No.1 if ($scheme = http ) { return 301 https://$host$request_uri;…

Continue ReadingLNMP下HTTP强制跳转HTTPS的几种写法

VPS安装开启TCP BBR提速工具

TCP BBR拥塞控制算法(简称BBR),可以应用到常规的KVM和XEN架构的VPS、服务器中,用来提升服务器下载的速度。因为要涉及到内核的修改,Vultr中文网(http://www.cnvultr.com/)建议我们使用在一些非网站环境中的项目,比如搭建的软件工具据说有可以较大的提高速度。 第一、预先准备工作 1、鉴于内核的修改不确定性,我们需要在非生产环境中安装BBR,如果有其他重要数据的,建议备份。 2、如果没有VPS,可以注册账户,参考"Vultr新注册优惠码(http://www.cnvultr.com/15.html)"以及"开通VPS方案(http://www.cnvultr.com/22.html)"。 3、操作系统类型:CentOS7 64BIT。 第二、安装BBR之前的速度记录 这里我们先不去安装BBR,用工具测试看看没有安装BBR的Vultr VPS简单的性能。 1、随机节点下载速度  2、视频下载速度  第三、一键安装安装BBR工具方法 这里选择一键安装BBR脚本安装。 [root@linux-node1 ~]# cd /usr/local/src/ [root@linux-node1 src] # wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh [root@linux-node1 src] # chmod +x bbr.sh [root@linux-node1 src]…

Continue ReadingVPS安装开启TCP BBR提速工具

如何查询mysql中是否表被锁

可直接在mysql命令行执行:show engine innodb status\G; 查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist; show status like ‘%lock%’ show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态 另外可以打开慢查询日志,linux下打开需在my.cnf的[mysqld]里面加上以下内容: slow_query_log=TRUE(有些mysql版本是ON) slow_query_log_file=/usr/local/mysql/slow_query_log.txt long_query_time=3 Windows: 在my.ini配置文件的[mysqld]选项下增加: slow_query_log=TRUE slow_query_log_file=c:/slow_query_log.txt long_query_time=3 添加完成之后记得一定要重启mysql服务才能生效记录输出。最后在MySQL客户端中输入命令: show variables like '%quer%'; 核查一哈是否Ok 开启mysql慢查询日志 查看配置: //查看慢查询时间 show variables…

Continue Reading如何查询mysql中是否表被锁

MyCat简单使用与配置

基本配置 1 . 在mycat/conf目录下,MyCat核心配置文件:schema.xml <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <!-- 定义一个MyCat的模式,逻辑数据库名称TestDB --> <!-- “checkSQLschema”:描述的是当前的连接是否需要检测数据库的模式 --> <!-- “sqlMaxLimit”:表示返回的最大的数据量的行数 --> <!-- “dataNode="dn1"”:该操作使用的数据节点是dn1的逻辑名称 --> <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"/> <!--…

Continue ReadingMyCat简单使用与配置

Spring事务管理(详解+实例)

写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下: Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解 1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果银行卡扣钱失败但是ATM却出了1000块,那么银行将损失1000元。所以,如果一个步骤成功另一个步骤失败对双方都不是好事,如果不管哪一个步骤失败了以后,整个取钱过程都能回滚,也就是完全取消所有操作的话,这对双方都是极好的。 事务就是用来解决类似问题的。事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。 在企业级应用程序开发中,事务管理必不可少的技术,用来确保数据的完整性和一致性。 事务有四个特性:ACID 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。隔离性(Isolation):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。持久性(Durability):一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,这样就能从任何系统崩溃中恢复过来。通常情况下,事务的结果被写到持久化存储器中。 2 核心接口 Spring事务管理的实现有许多细节,如果对整个接口框架有个大体了解会非常有利于我们理解事务,下面通过讲解Spring的事务接口来了解Spring实现事务的具体策略。 Spring事务管理涉及的接口的联系如下: 2.1 事务管理器 Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。 Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager,通过这个接口,Spring为各个平台如JDBC、Hibernate等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了。此接口的内容如下: Public interface PlatformTransactionManager()...{ // 由TransactionDefinition得到TransactionStatus对象 TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException; // 提交 Void commit(TransactionStatus status) throws…

Continue ReadingSpring事务管理(详解+实例)

Linux 之 rsyslog 系统日志转发

一、rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。 特性:1.多线程 2.支持加密协议:ssl,tls,relp 3.mysql、oracle、postgreSQL 4.等等..   二、实践部署() 2.1 环境图 2.2.rsyslog server上部署操作 安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:) [root@opm ~]# yum install rsyslog -y 编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下 [root@opm log]# grep…

Continue ReadingLinux 之 rsyslog 系统日志转发

Centos7 之安装Logstash ELK stack 日志管理系统

一、介绍 The Elastic Stack - 它不是一个软件,而是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案。它可以从任何来源,任何格式进行日志搜索,分析获取数据,并实时进行展示。像盾牌(安全),监护者(警报)和Marvel(监测)一样为你的产品提供更多的可能。 Elasticsearch:搜索,提供分布式全文搜索引擎 Logstash: 日志收集,管理,存储 Kibana :日志的过滤web 展示 Filebeat:监控日志文件、转发 二、测试环境规划图 环境:ip、主机名按照如上规划,系统已经 update. 所有主机时间一致。防火墙测试环境已关闭。下面是这次elk学习的部署安装 目的:通过elk 主机收集监控主要server的系统日志、以及线上应用服务日志。 三、Elasticsearch+Logstash+Kibana的安装(在 elk.test.com 上进行操作) 3.1.基础环境检查 [root@elk ~]# hostname elk.test.com [root@elk ~]# cat…

Continue ReadingCentos7 之安装Logstash ELK stack 日志管理系统

运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)

对于Linux系统安全来说,日志文件是极其重要的工具。不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。下面就对logrotate日志轮转操作做一梳理记录: 1)配置文件介绍 Linux系统默认安装logrotate工具,它默认的配置文件在: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf 才主要的配置文件,logrotate.d 是一个目录,该目录里的所有文件都会被主动的读入/etc/logrotate.conf中执行。 另外,如果 /etc/logrotate.d/ 里面的文件中没有设定一些细节,则会以/etc/logrotate.conf这个文件的设定来作为默认值。 Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate,日志轮转是系统自动完成的。 实际运行时,Logrotate会调用配置文件/etc/logrotate.conf。 可以在/etc/logrotate.d目录里放置自定义好的配置文件,用来覆盖Logrotate的缺省值。 1 2 3 4 5 6 7 8 9 [root@huanqiu_web1 ~]# cat /etc/cron.daily/logrotate #!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1…

Continue Reading运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)