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…

VPS安装开启TCP BBR提速工具

TCP BBR拥塞控制算法(简称BBR),可以应用到常规的KVM和XEN架构的VPS、服务器中,用来提升服务器下载的速度。因为要涉及到内核的修改,Vultr中文网(http://www.cnvultr.com/)建议我们使用在一些非网站环境中的项目,比如搭建的软件工具据说有可以较大的提高速度。 第一、预先准备工作 第二、安装BBR之前的速度记录 这里我们先不去安装BBR,用工具测试看看没有安装BBR的Vultr VPS简单的性能。 1、随机节点下载速度 2、视频下载速度 第三、一键安装安装BBR工具方法 这里选择一键安装BBR脚本安装。 # wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh # chmod +x bbr.sh # bash bbr.sh 1 2 3 4 安装完成后,我们会看到 然后输入y回车,重启服务器。 基本上是可以安装成功的,检查是否成功: 这里我们是安装成功的。 第四、安装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的里面加上以下内容: slow_query_log=TRUE(有些mysql版本是ON) slow_query_log_file=/usr/local/mysql/slow_query_log.txt long_query_time=3 Windows: 在my.ini配置文件的选项下增加: slow_query_log=TRUE slow_query_log_file=c:/slow_query_log.txt long_query_time=3 添加完成之后记得一定要重启mysql服务才能生效记录输出。最后在MySQL客户端中输入命令: show variables…

MyCat简单使用与配置

基本配置 1 . 在mycat/conf目录下,MyCat核心配置文件:schema.xml 2 . dataHost标签上属性释义: balance:负载均衡类型 0:不开启读写分离机制,所有读操作都发送到当前可用的writeHost上 1:全部的readHost与stand by writeHost参与select语句的负载均衡, 2:所有读操作都随机在writeHost、readHost上分发 3:所有读请求随机分发到writeHost对应的readHost执行,writeHost不负担读压力 writeType:负载均衡类型 0:所有写操作发送到配置的第一个writeHost,当第一个writeHost宕机时,切换到第二个writeHost,重新启动后以切换后的为准,切换记录在配置文件:dnindex.properties中 1:所有写操作都随发送到配置的writeHost 2:尚未实现 switchType:切换方式 -1:不自动切换 1:自动切换(默认) 2:基于MySql主从同步的状态来决定是否切换 读写分离 一. MySQL主从配置 1 . 前提:多台MySQL服务器主机的时间是同步的,否则无法实现主从配置 2 .…

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等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了。此接口的内容如下: 从这里可知具体的具体的事务管理机制对Spring来说是透明的,它并不关心那些,那些是对应各个平台需要关心的,所以Spring事务管理的一个优点就是为不同的事务API提供一致的编程模型,如JTA、JDBC、Hibernate、JPA。下面分别介绍各个平台框架实现事务管理的机制。 2.1.1 JDBC事务 如果应用程序中直接使用JDBC来进行持久化,DataSourceTransactionManager会为你处理事务边界。为了使用DataSourceTransactionManager,你需要使用如下的XML将其装配到应用程序的上下文定义中: 实际上,DataSourceTransactionManager是通过调用java.sql.Connection来管理事务,而后者是通过DataSource获取到的。通过调用连接的commit()方法来提交事务,同样,事务失败则通过调用rollback()方法进行回滚。 2.1.2 Hibernate事务 如果应用程序的持久化是通过Hibernate实习的,那么你需要使用HibernateTransactionManager。对于Hibernate3,需要在Spring上下文定义中添加如下的<bean>声明: sessionFactory属性需要装配一个Hibernate的session工厂,HibernateTransactionManager的实现细节是它将事务管理的职责委托给org.hibernate.Transaction对象,而后者是从Hibernate Session中获取到的。当事务成功完成时,HibernateTransactionManager将会调用Transaction对象的commit()方法,反之,将会调用rollback()方法。…

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 进行安装,如下:) # yum install rsyslog -y 编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下 # grep -v "^#" /etc/rsyslog.conf…

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.基础环境检查 # hostname elk.test.com # cat /etc/hosts…

运维中的日志切割操作梳理(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 # cat /etc/cron.daily/logrotate #!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf >/dev/null…