自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (3)
  • 收藏
  • 关注

原创 laravel中的when条件查询用法

$username = 'huang3'; $password = '888888'; $res = DB::table('users')->when($username,function($query) use ($username) { return $query->where('username',$username); })->when($password,function($query) use ($password) { return $query->w.

2020-06-07 20:53:38 3103

原创 session生命周期的问题

session文件存在时间 session.gc_maxlifetime = 1440 说明:session默认最大生命周期 session.gc_probability = 1 session.gc_divisor = 1000 说明:上面三个配置,共同决定session的垃圾回收机制 这里有千分之一的概率回收垃圾 当某个用户操作session的时候,会使用到session_start(),该函数会调用gc,但是其概率是session.gc_probability/session.gc_divisor 对

2020-05-30 12:25:53 688

原创 redis集群搭建过程完整步骤

Linux下redis的完整安装过程https://mp.youkuaiyun.com/console/editor/html/106296400 Linux下安装phpredis完整步骤https://mp.youkuaiyun.com/console/editor/html/106298390 搭建集群 mkdir -p /redis-cluster/800{1..6} cp /etc/redis.conf /tmp/ vim /tmp/redis.conf sed -i 's#daemonize ...

2020-05-24 16:40:17 379

原创 使用php和redis实现简单的分布式锁

<?php $redis = new Redis(); $host = 'localhost'; $port = 6379; $redis->connect($host,$port); //redis 是单线程 if($redis->exists('lockFlag')){ return json_encode(array('status'=>false,'msg'=>'请稍后重试')); }else{.

2020-05-24 10:18:13 360

原创 Linux下安装phpredis完整步骤

#1.下载源码包到本地 phpredis-2.2.4.tar.gz #2.上传到linux相应位置(存放在哪根据自己习惯) mkdir -p /home/oldboy/tools cd /home/oldboy/tools rz -y #3.解压并进入解压后的目录 tar -zxvf phpredis-2.2.4.tar.gz cd phpredis-2.2.4 #4.使用phpize命令完成PHP环境的检测(phpize的路径查找 find / -name 'phpize') /applicatio

2020-05-23 12:16:03 543

原创 Linux下redis的完整安装过程

#1.下载源码包到本地 redis-3.0.7.tar.gz #2.linux源码包存放位置(rz没有安装,使用yum install lrzsz-y进行安装) mkdir -p /home/oldboy/tools cd /home/oldboy/tools rz -y #3.解压并安装 tar -zxvf redis-3.0.7.tar.gz cd redis-3.0.7 make PREFIX=/application/redis install #4.让red...

2020-05-23 10:21:44 309

原创 生产线上MySQL字符集调整方案

对于已有的数据库,修改字符集不能直接通过 alter database character set * 或 alter table tablename character set * ,这两个命令都没有更新已有记录的字符集,而只是对新创建的表或记录生效 已经有记录的字符集的调整,必须先将数据导出,经过修改字符集后重新导入后才可完成 下面模拟将latin1字符集修改为GBK的过程 1.导出表结构 mysqldump -uroot -p --default-character-set=latin1.

2020-05-19 16:09:48 330

原创 MySQL分库备份

方法一:通过awk实现 mysql -uroot -p123456 -e "show databases" | grep -ivE 'Database|information_schema|mysql|performance_schema' | awk '{print "mysqldump -uroot -p123456 -B",$0,"> /opt/"$0".sql"}' | bash 方法二:通过for循环实现 for dbname in `mysql -uroot -p123456..

2020-05-17 19:53:22 188

原创 MySQL防止误操作的方法

登录MySQL时添加-U选项,这样在执行更新或删除操作时,如果没有指定where条件就会操作失败 mysql -uroot -p123456 -U 或者添加别名 alias mysql='mysql -U' echo "alias mysql='mysql -U'" >> /etc/profile

2020-05-17 17:54:21 682

原创 MySQL找回root密码

MySQL的root用户密码丢失找回 1.首先停止MySQL /etc/init.d/mysql stop 2.使用--skip-grant-tables 启动mysql,忽略授权登录认证 mysqld_safe --skip-grant-tables --user=mysql & mysql (登录) 修改密码 mysql>UPDATE mysql.user set password=PASSWORD("123456") where user="root"; mysql&

2020-05-13 10:38:39 544

原创 MySQL修改登录用户密码的两种方法

方法一: 使用mysqladmin mysqladmin -u root -p password '123456' Enter password: 【输入原来的密码】 方法二: 进入mysql mysql -u root -p Enter password: 【输入原来的密码】 mysql>use mysql; mysql>update user set password=password('123456') where user='root'; mysql>flush

2020-05-13 09:05:48 1014

原创 MySQL多实例启动问题排错

(1)如果发现没有显示MySQL的端口,请稍微等待几秒再看,MySQL服务启动稍慢 (2)如果还不行,请查看错误日志,错误日志路径在my.cnf配置中(注意my.cnf的路径) grep log-error my.cnf | tail -1 (3)细看所有执行命令返回的屏幕输出,不要忽略关键的输出内容 (4)查看系统日志 /var/log/messages (5)如果是关联服务,要同时查看相关服务的log ...

2020-05-13 08:22:04 435

原创 cmake方式编译安装MySQL5.5.55

系统环境: 1.准备工作: CentOS6.6 最小化安装 安装必要的软件:yum install lrzsz nmap tree dos2unix nc -y 关闭selinux,iptables, 精简开机自启动服务 chkconfig | egrep -v "crond|sshd|network|rsyslog|sysstat" | awk '{print "chkconfig",$1,"off"}' | bash 时间同步 echo '*/5 * * * * /usr..

2020-05-10 11:34:40 280

原创 keepalived高可用存在的问题及解决方案

Nginx作负载均衡,keepalived配合Nginx作高可用,当Nginx宕机后,备节点(负载均衡)不会接管业务。原因: keepalived实现的是服务器级别的接管 解决办法:通过写脚本实现 check_nginx.sh #!/bin/sh for i in {1,2,3} do if [ `ps -ef | grep nginx | grep -v grep | wc -l` -lt 3 ] then /etc/init.d/keepalived stop; sleep 5;

2020-05-09 08:47:09 981

原创 Nginx反向代理常用调度算法

1.rr轮询(默认) 2.weight(权重),在轮询算法的基础上加上权重(默认是rr+weight) 3.ip_hash 该调度算法可以解决动态网页session共享的问题 缺陷:分配不均 4.fair算法(第三方) 根据后端服务器RS的响应时间来分配请求,响应时间短的优先分配 5.url_hash(第三方) 按访问url的hash结果来分配请求,让每个url定位到同一个后端服务...

2020-05-08 11:48:48 561

原创 Nginx反向代理参数说明

Nginx配置文件nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepaliv...

2020-05-08 11:42:31 1459

原创 Linux下MySQL的安装步骤

检查从Windows上传的mysql软件包是否ok [root@web01 tools]# pwd /home/oldboy/tools [root@web01 tools]# cat mysql-5.5.49-linux2.6-x86_64.tar.gz.md5 9515dc3a3c0c274e57b98d517b8b6b42 mysql-5.5.49-linux2.6-x86_64.t...

2020-05-07 08:19:11 428

原创 Nginx日志轮询切割及备份

cut_nginx_log.sh cd /application/nginx/logs /bin/mv www_access.log www_access_$(date '+%F').log /application/nginx/sbin/nginx -s reload /usr/bin/rsync /application/nginx/logs/www_access_$(date '+%F')...

2020-05-06 17:48:44 249

原创 Nginx访问日志说明

默认访问日志记录格式 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_for...

2020-05-06 16:56:11 290

原创 Nginx虚拟主机别名用途及应用场景

1.方便用户访问,用户输入www.etiantian.org和etiantian.org都可以访问网站 2.添加别名,方便内部监控(外部使用同一个域名,内部使用不同的) 在监控服务器里配置hosts来监控RS,如www.baidu_1.com,www.baidu_2.com等地址访问是否正常,从而判断对应机器是否正常提供访问 ...

2020-05-06 15:56:12 382

原创 一键自动化批量安装服务脚本

一键自动化给多台服务器安装vsftpd服务 1.ip规划,这里根据自己ip灵活调整 管理机 172.16.1.61 服务器 172.16.1.31、172.16.1.41 2.管理机切换到root用户,安装expect(非交互式工具,只需要在管理机上安装 yum install expect -y) 3.添加用户(所有机器) useradd huang123 ech...

2020-05-06 10:54:50 1464

原创 NFS客户端挂载优化(兼顾安全和性能)

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=131072 10.0.0.7:/data /mnt 10.0.0.7 这里换成自己的内网ip地址

2020-05-05 09:36:40 1090 1

原创 网站访问慢的排查思路

(一)个别还是所有 把自己当做用户去测试,如果没有问题,就从客户的角度去思考。如果自己测试同样有问题,按下面思路排查 1.路是否通的问题 a.ping www.***.com 如果ping是通的,不丢包,http服务的问题(服务宕机了,服务过载了) 如果ping是通的,丢包,机房带宽不稳定,线路不稳定 如果ping不通,ping ***.com 机房宕了 或者http服务的问题(服务宕机了,服务...

2020-05-03 16:43:38 1660

原创 局域网某台电脑无法上网排查思路

(一)单台机器无法上网 a.ping www.baidu.com 如果通,但还不能上网,可能是浏览器或电脑中毒等问题 b.ping 10.0.0.254 网关(这里换成自己的网关) 目的是排除物理链路(网线,网卡,驱动,IP设置等)的问题 如果ping网关不同,则查看IP设置,然后ping自身IP或ping网内其他机器IP 如果ping自己IP不通:检查IP设置、网卡驱动、物理链...

2020-05-03 13:05:11 6756

原创 Linux的root密码找回

关闭虚拟机,然后再开启虚拟机 在出现该界面时按回车键 按e编辑 选择kernel 输入/init 1进入单用户模式,按d重启 head -1 /etc/passwd vi /etc/passwd 将第一行开头root:x的x删除掉 reboot 重启 passwd 重置密码 ...

2020-05-02 18:58:09 249

原创 Linux磁盘空间被占满问题定位

df -h //查看block df -i //查看inode find / -type d | xargs ls -ld 2>/dev/null | sort -k5 -n | tail -5

2020-05-02 17:58:00 295

原创 Linux批量创建用户及设置随机密码

批量创建10个用户stu01-10,并且设置随机8位密码 思路:首先生成包含用户名和密码的文件,然后使用awk逐行读取用户信息进行添加 (1)生成用户名、密码文件 echo stu{1..10}"|"`openssl rand -base64 6 | tr '|' '#'` | xargs -n 1 > test.txt 或者使用for循环生成 for n in `seq 10`;...

2020-05-02 12:12:58 1329

原创 linux定时任务企业场景调试

工作中调试定时任务的方法 1.增加执行任务频率 每分钟或者系统时间之后5分钟执行,看看结果对不对 某些任务不能用于生产环境没有测试机会 代码,配置变更发布流程:个人开发环境---办公测试环境---IDC机房测试环境---IDC正式环境(分组,灰度发布) 2.调整系统时间调试任务(不能直接用于生产环境) 3.通过脚本日志输出调试任务 4.注意一些任务命令带来的问题 例如: 标准输出...

2020-05-02 08:48:04 277

原创 Linux批量修改文件名简单实现

当前目录下有如下文件 stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finished.jpg 现在要求将所有文件名中的_finished去掉 操作命令如下: ls | sed -r 's#^(...

2020-05-01 16:36:43 343

原创 站点被植入广告的解决方案(Linux环境)

解决思路: 1.遍历站点所有目录下的文件,将广告内容替换为空 find /site-type f | xargs sed -i 's#<script src=https://***.cn/release/mp/js/app.53a80a62.js></script>##g' 2.查找程序漏洞,进行修复 ...

2020-05-01 13:16:24 620

原创 Linux开机优化项

(1)不用root,添加普通用户,通过sudo授权管理 (2)更改默认的远程连接SSH服务端口及禁止root用户远程连接 (3)定时自动更新服务器时间 (4)配置yum更新源,从国内更新源下载安装rpm包 (5)关闭SELinux及iptables cat /etc/selinux/config /etc/init.d/iptables status /etc/init.d/ipta...

2020-04-30 18:03:48 320

原创 远程连接Linux服务器故障排查

1.两台机器之间物理网络是否通畅 服务器 ifconfig eth0 客户端(Windows),cmd->ping IP 不通的可能原因:网线,网卡,IP,防火墙 2.服务是否ok cmd,telnet 192.168.1.128 22 (Windows上操作) 没有telnet解决方案: 开始-》控制面板-》程序和功能-》打开或关闭Windows功能-》Telnet客户端(勾选)...

2020-04-30 11:09:25 678

原创 linux企业场景分区方案

1.常规分区:数据不是特别重要的业务(集群的某个节点) /boot 引导分区 200M 主分区 swap 交换分区 内存的1.5倍 内存大于8G 就给8G / Linux所有目录顶点,剩余所有空间 2.数据重要(数据库,存储服务器) /boot 引导分区 200M 主分区 swap 交换分区 内存的1.5倍 内存大于8G 就给8G / Linux所有目录顶点 100-200G ...

2020-04-30 10:47:43 263

原创 企业生产场景内存使用

企业案例: 1)门户极端案例:大并发写入(抢红包,微博) 高并发,大量写数据:会把数据先写到内存,再定时或定量地写到硬盘,从而减少硬盘IO(Input/Output),最终还是会把数据加载到内存中再对外提供访问 优点:写数据到内存性能高,速度快(微博,微信,SNS,秒杀) 缺点:可能会丢失一部分在内存中还未来得及写入硬盘的数据 解决数据不丢的办法: (1)服务器主板上安装蓄电池,在断电...

2020-04-30 08:31:06 221

原创 Linux sudo原理图

2020-01-10 15:39:25 435

原创 Linux批量创建用户

思路:先生成包含用户名和密码的文件,然后使用awk逐行读取用户信息进行添加 (1)生成用户名、密码文件 echo stu{1..10}"|"`openssl rand -base64 6 | tr '|' '#'` | xargs -n 1 > test.txt 或者使用for循环生成 for n in `seq 10`; do echo 'stu'$n'|'`openssl r...

2020-01-09 17:19:18 538

原创 MySQL优化

1.使用外键需要注意的问题 (1)MyIsam类型的表不支持外键和事务 (2)laravel框架建表语句中关于外键的使用 public function up() { Schema::create('questions', function (Blueprint $table) { $table->increments('id'); $table->string('title');

2017-05-13 14:19:38 428

原创 MySQL基础操作

1.MySQL表复制 (1)复制表结构 create table t2 like t1; mysql>desc t1;//查看表结构 mysql>show create table t1;//显示创建表语句 (2)复制表数据 insert into t2 select * from t1;//t2表与t1表的结构完全一致,若不一致需要在两个表指明字段 2.MySQL索引 有以下两种方

2017-05-13 14:10:42 447

原创 php调整图像大小

//调整图像大小 该函数主要目的是为了防止直接在html中定义图片宽度和高度而形成锯齿 function imageResize($image_url,$w,$h){ //判断源文件是否存在 if(file_exists($image_url)){ $position = strrpos($image_url,'.'); $new_image_url = sub

2017-05-02 10:19:41 2249

原创 laravel中自定义帮助函数

1.在app下创建helpers.php文件(helpers不是固定的,可随意命名) 2.在composer.json文件中 autoload->files中加入"app/helpers.php"(与app下新建的帮助文件名相同) 3.控制台中运行composer dump-autoload 这样就可以在控制器或模板中使用帮助文件提供的方法了

2017-05-02 10:11:33 1263

后台纯净模板.rar

商城后台模板

2020-06-26

default.rar

雍达商城前台模板

2020-06-26

gd-2.1.1.tar.gz

gd库

2017-05-13

空空如也

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

TA关注的人

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