自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曹品东

根据自己的经历 写点简单的东西!

  • 博客(105)
  • 收藏
  • 关注

原创 通过Redis 防止接口被恶意请求

//Redis 防止恶意请求function api_frequency_visits($uid){ $key = "user:{$uid}:api:frequency"; $redis = $this->redis(); $data = $redis->hGetAll($key); //需要删除的key $del_key = []; //时间内访问的总次数 $total = 0; //时间内最大访问次数 $max.

2021-10-15 15:34:17 435

原创 修改ssh端口号

更改端口号是通过修改SSH的配置文件实现的,登录ssh后,输入:vim /etc/ssh/sshd_config向下找到#Port 22这段进入vi插入模式,进行编辑删除掉Port 22前面的#,然后下一行输入新的端口号如:Port 10000(这个你自己定,最大不能超过65535)编辑好,先按ESC键,再输入 :wq 保存退出.接着重新启动ssh,代码如下:/etc/init.d/sshd restart3安全组4防火墙端口...

2021-09-14 14:22:39 4554

原创 修改MySQL 端口

1云服务器的防火墙开启3316端口firewall-cmd --zone=public --add-port=3316/tcp --permanent 增加443端口firewall-cmd --reload 重启防火墙2进入阿里云安全组打开3316端口3修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出。 [root@test etc]# vi my.cnf [mysqld] p...

2021-09-14 14:17:44 409

原创 .user.ini 作用和配置

.htaccess是伪静态环境配置文件,用于lamp。.user.ini是lnmp文件,里面放的是你网站的文件夹路径地址。目的是防止跨目录访问和文件跨目录读取.配置 放在根目录 .user.ini open_basedir=/项目路径/:/tmp/:/proc/ 例: open_basedir=/www/aaa/:/tmp/:/proc/测试:没加的时候可以直接读到根目录的文件加上之后: 就什么也读不到了...

2021-09-02 15:36:24 869 1

原创 Linux命令之du命令

du命令 显示文件或目录所占用的磁盘空间。 命令格式: du [option] 文件/目录 -h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等 -s 显示文件或整个目录的大小,默认单位是KB 显示当前目录的大小: 显示某个目录或文件的大小: 显示当前目录下所有文件的大小: 包括当前目录下的文件和子目录。...

2021-09-02 11:38:55 239

原创 svn同步服务器代码

我们所说的钩子文件是在你建的svn仓库下的hooks文件夹下,在该文件夹下有很多的样本,至于每个都是干什么的自行百度,我这里主要写svn提交时同步到服务器项目中,需要复制post-commit.tmpl到该文件夹下,改名为post-commit,然后编辑post-commit;vi post-commit:内容如下:export LANG=en_US.UTF-8 //这个一看就知道SVN_PATH=/usr/bin/svn //svn地址,这个基本不用改WEB_PATH=/usr/loc..

2021-09-02 11:16:02 391

原创 Linux 查看进程之PS命令

要对进程进行检测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程运行状态。Linux 系统中我们可以使用 ps 命令查看进程。 ps 命令介绍 ps(process status) 命令是 Linux 下最常用的进程查看工具,使用该命令可以确定哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。 注意:ps 命令工具显示的是进程的瞬间状态,并不是动态连续显示,如果想对进程状态进行实时监控应该用 top 命...

2021-09-01 16:14:12 3491

原创 Linux top命令详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器top参数详解第一行,任务队列信息,同 uptime 命令的执行结果系统时间:07:27:05运行时间:up 1:57 min,当前登录用户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每...

2021-09-01 13:54:33 285

转载 linux下free命令详解

linux下free命令详解free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。如果加上 -h 选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:$ free -h -s 3上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。由于 free 命令本身比较简单,所以本文的重点会放在如何通过 free 命令了解系统当前的内存使用状况。输出简介下面先解释

2021-09-01 13:52:17 521

原创 nginx 配置

server{ listen 80; server_name *; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/*/; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; limit_conn perserver 300;/...

2021-09-01 09:57:16 117

原创 nginx 防盗链设置

#SECURITY-START 防盗链配置 location ~ .*\.(jpg|jpeg|gif|png|js|css)$ { expires 30d; access_log /dev/null; valid_referers abc.a.xyz; if ($invalid_referer){ return 404; } }...

2021-09-01 09:50:23 71

原创 nginx 配置ssl

1阿里云开启安全组 4432防火墙开启443 tcp 端口3下载文件放在cert目录下4配置nginxserver { listen 80; server_name www.a.xyz a.xyz; rewrite ^(.*)$ https://$host$1 permanent;}server { listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无...

2021-09-01 09:44:26 541

原创 数据库定时备份

第一步:编写脚本#! /bin/bashmysqldump -u51 -pcFMsAfk4N7isG 51 > /home/mysqlBackup/Bak_$(date +%Y%m%d_%H%M%S).sql第二步:加入定时任务中crontab [-u username]    //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作作)00 03 * * * ...

2021-09-01 09:39:45 43

原创 GeoHash LBS地理位置距离计算方法geohash,将一个经纬度信息,转换成一个可以排序,可以比较的字符串编码,用于高效搜索

composer https://github.com/mucts/geohash使用方法:use MuCTS\GeoHash\GeoHash;$lat="39.915108";$lng="116.376673";$geo =geo_hash_encode($lat,$lng, 32);//查询echo $geo;var_dump(geo_hash_decode($geo));//反查询距离计算:/** * @desc 根据两点间的经纬度计算距离 ...

2020-08-25 11:24:07 349

原创 ‘svn;‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

报错信息说的很清楚:command line client 命令行客户端也就是说不能使用svn 命令行客户端。大致产生的原因是,开始安装svn的时候command line client没选中安装。解决办法:modify一下svn步骤:1、找到你的svn安装包,双击,2、之后选择(modify)修改安装3、之后会看到command line client tools前面是个叉4、点下叉,选择Entire feature will be installed on local ha...

2020-08-24 16:52:41 800

原创 PHP数组函数(合并,拆分,追加,查找,删除等)

1. 合并数组array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:array array_merge (array array1 array2…,arrayN) 这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是...

2020-07-22 17:38:14 200

原创 绿色代码 Nginx配置文件nginx.conf中文详解(转)

#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件pid /var/run/nginx.pid;#一个nginx进程打开的最多文件描述符数目,理论值应该是最多...

2020-07-20 21:54:58 164

原创 php 性能优化

0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。PS:在单引号中,PHP不会自动搜寻变量、转义字符等,因此效率上快很多。而一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。...

2020-02-27 16:06:20 197

原创 CentOS TCP 性能优化

在/etc/sysctl.conf中加入fs.file-max = 65535net.ipv4.ip_forward = 1net.ipv4.tcp_fin_timeout = 30如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使...

2020-01-11 21:50:27 1231

原创 浅谈MySQL索引优化

一、索引简介什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 可以简单理解为“排好序的快速查找数据结构”。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上 索引的优点 类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本 通过索引列对数据进...

2020-01-11 11:05:03 251

原创 linux安装redis 完整步骤

linux安装redis 完整步骤安装:1.获取redis资源  wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压  tar xzvf redis-4.0.8.tar.gz3.安装  cd redis-4.0.8  make  cd src  make install PREFIX=/...

2019-12-17 15:55:06 88

原创 查看mysql-bin.00000X文件的内容

mysql有提供工具-mysqlbinlog,来查看此二进制文件的内容。1、用mysqlbinlog工具直接查看:[root@b28-new-5-53 log]# mysqlbinlog mysql-bin.0000012、将二进制文件转化为txt文本文件来查看:[root@b28-new-5-53 log]# mysqlbinlog -u root -p mysql-bin.00...

2019-12-14 10:35:57 1213

原创 centos7 关闭防火墙

1、直接关闭防火墙systemctl stop firewalld.service2、禁止firewall开机启动systemctl disable firewalld.service另外必须都执行,不要问什么。要不你的hadoop集群肯定出问题。sudo systemctl stop firewalld.servicesudo systemctl disab...

2019-12-13 14:44:38 91

原创 PHP安全之Web攻击

一、SQL注入攻击(SQL Injection)攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:1.某个Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入...

2019-12-13 10:34:36 122

原创 MySQL 配置优化

安装MySQL后,配置文件my.cnf在 /MySQL安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my-huge.cnf, my-medium.cnf,my-small.cnf,分别对应大中小型数据库应用的配置。win环境下即存在于MySQL安装目录中的.ini文件。下面列出了对性能优化影响较大的主要变量,主要分为连接请求的...

2019-12-13 10:21:06 51

原创 最全MySQL面试题和答案

Mysql 的存储引擎,myisam和innodb的区别。答:1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。数据表类型有哪些 答:MyISAM、InnoDB、HEAP、BOB,...

2019-12-11 16:21:38 215

原创 php+redis+TP处理并发

基本思路是所有操作用过redis的队列和集合处理并发1.用户抢购队列(List),user_list2.商品队列(List),goods_list3.订单信息(Hash集合),order_info4.购买成功用户(Set集合),bought_listPS:1和2用来控制并发,队列的rPop是具有原子性的,即使处理并发,也是一个个处理,不会出现重复和超卖的情况。3则是用...

2019-12-10 17:37:46 214

原创 大数据和高并发的解决方案汇总

1.3海量数据解决方案1.使用缓存:  使用方式:1,使用程序直接保存到内存中。主要使用Map,尤其ConcurrentHashMap。2,使用缓存框架。常用的框架:Ehcache,Memcache,Redis等。  最关键的问题是:什么时候创建缓存,以及其失效机制。对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。2.数据库优化:...

2019-12-06 13:29:01 130

原创 mysql多对一、多对多查询实践

最近做的功能涉及这方面,算是练了一下。首先多对一部分较简单。多的那一方表,多设置一个字段是少的那一方的id(主键)。具体查询时候关联查询即可。可设置外键进行级联操作。具体以后做到这个功能再更新。多对多:设备和用户多对多,一个用户可有多台设备,一个设备可供多个用户使用。首先设备表 dev:用户表 user:然后创建中间表...

2019-12-05 22:35:32 146

原创 mysql 数据库一对一,一对多,多对多实例

学生表和课程表可以多对多一个学生可以学多门课程一门课程可以有多个学生: 多对多一个学生对应一个班级一个班级对应多个学生: 一对多一个老师对应多个学生多个学生对应一个老师:一对多一个老师教一门课一门课对应一个老师: 一对一一对多(foreign key):学生表要关联班级表,多个学生属于一个班级. 班级是被关联的表创建班级表create table cla...

2019-12-05 22:13:24 1013

原创 PHP高并发高负载系统架构

一、高并发和高负载的约束条件 硬件 部署 操作系统 Web 服务器 PHP MySQL 测试 二、解决之道——硬件篇处理能力的提升:部署多颗CPU,选择多核心、具备更高运算频率、更大高速缓存的CPU;处理能力的提升最直接的反应在于Web请求的处理效率和PHP程序的执行效率。内存带宽与容量:更大的内存带宽和容量;内...

2019-12-05 15:29:03 444

原创 php中如何防止CSRF攻击

3.1 Cookies Hashing第一个方案可能是解决这个问题的最简单和快捷的方案了,因为攻击者不能够获得被攻击者的Cookies内容,也就不能够构造相应的表单。这个问题的实现方法与下面的类似。在某些登录页面我们根据当前的会话创建Cookies: <!-- login.php --> <?php // Cookie value ...

2019-12-02 15:37:51 800

原创 Apache 解决500 Internal Server Error 问题

今天配置新服务器环境时候,遇到点问题上传了部分文件后,导致出现500错误随后确认了下,应该是.htaccess文件导致的应该是Rewrite规则所致修改 apache 配置文件 \Apache2.2\conf\httpd.conf取消掉下边注释掉的模块LoadModule Rewrite_module modules/mod_.Rewrite.so3处AllowOverri...

2019-11-28 17:04:37 2646 2

原创 如何提高缓存命中率(Redis)

缓存命中率的介绍命中:可以直接通过缓存获取到需要的数据。不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。由此可见,在高并发的互联网系统中,缓存的命中率是至关重要的指标。如何监控缓存的命...

2019-11-25 13:19:31 220

原创 分享微信h5支付源码

<?php//use Flight; /** * 微信支付服务器端下单 * 微信APP支付文档地址: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_6 * 使用示例 * 构造方法参数 * 'appid' => //填写微信分配的公众账...

2019-11-21 10:04:16 948

原创 thinkphp5+layui实现多图上传保存到数据库,可以实现图片自由排序,自由删除

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Layui</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatibl...

2019-11-20 16:46:57 840 1

原创 功能:php完美实现下载远程图片保存到本地

功能:php完美实现下载远程图片保存到本地*参数:文件url,保存文件目录,保存文件名称,使用的下载方式*当保存文件名称为空时则使用远程文件原来的名称平时我们做采集的时候,经常需要将图片保存到本地,但是为了不破坏页面路径,现在分享一个函数,可以将图片保存到本地,并维持原来的径路和文件名不变。//图片地址$url ='http://www.thinkphp.cn/Uploads/edi...

2019-11-20 15:15:05 707

原创 php时间轴函数

functiontranTime($time){$rtime=date("m-dH:i",$time);$htime=date("H:i",$time);$time=time()-$time;if($time<60){$str='刚刚';}...

2019-10-22 11:49:23 83

原创 PHP检测上传图片是否有木马

header("Content-type: text/html; charset=utf-8");function checkHex($img) { $status = 0; $tips = array( "0" => "文件没问题", "5" => "文件有毒", "-1" => "文件没有上传" );...

2019-10-22 10:17:36 1163

原创 PHP -生成10个红包 金额20元

php发红包实现原理:设定总金额为10元,有N个人随机领取:N=1 第一个则红包金额=X元;N=2 第二个为保证第二个红包可以正常发出,第一个红包金额=0.01至9.99之间的某个随机数第二个红包=10-第一个红包金额;N=3 第三个红包1=0.01至9.99之间的某个随机数红包2=0.01至(10-红包1-0.01)的某个随机数红包3=10-红包1-红包2...

2019-10-22 10:02:36 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除