EYblog - Powered by Eyblog - 解读
type: channel
link: https://www.jwwey.com/index.php/tag/解读/
items: 【技术解读】MYSQL查询每年每月每日总量
items: 【技术解读】mpvue 全局变量的实现
items: 【技术解读】react build 后打包发布总结
items: 【技术解读】php-fpm占用cpu和内存过高100% 解决办法
items: 【技术解读】Linux命令 ---- 部分命令详解

【技术解读】MYSQL查询每年每月每日总量
type: item
date: 2021-10-12T14:42:00+08:00
description: sql 语句解析date(create_date): 将日期格式化为 2000-01-01这种格式curdate() :获取当前日期 2020-06-30 等同于 date(now())date_sub(curdate(), interval 7 day): 获取7天前的日期统计每年的订单量SELECT YEAR(create_date) as year,COUNT(1) as count FROM orders GROUP BY year; 统计今年每个月的订单量SELECT MONTH(create_date) as month,COUNT(1) as count FROM orders WHERE YEAR(create_date) = YEAR(NOW()) GROUP BY month ORDER BY month; 统计今年每周的订单量SELECT WEEK(create_date) as week,COUNT(1) as count FROM orders WHERE YEAR(create_date) = YEAR(NOW()) GROUP BY week ORDER BY week; 统计今年每日的订单量select DATE_FORMAT(createtime,'%Y-%m-%d') as days,count(*) count from ibt_shop_order group by days;

【技术解读】mpvue 全局变量的实现
type: item
date: 2021-10-11T08:54:00+08:00
description: 1. 初始化创建完成项目之后，找到 src 目录下的 main.js2. 在 main.js 最后将小程序的全局变量添加到 Vue 的原型上此例小程序的全局方法 getApp() 添加一个全局变量 globalData 赋值给 Vue 原型 Vue.prototype 添加的 globalData添加数据：此 main.js 页面添加：直接给 Vue 原型 Vue.prototype 赋值即可可以在生命周期中使用 this 添加在不同页面使用：

【技术解读】react build 后打包发布总结
type: item
date: 2021-09-25T09:04:00+08:00
description: 一、部署在apache web服务器上（wamp|xammp）1.后台接口需要做跨域设置​（1）在服务端利用Access-Control-Allow-Origin响应头解决。设置Access-Control-Allow-Origin：*，允许所有域名的脚本访问该资源。如果考虑到安全问题，也可以设置Access-Control-Allow-Origin：www.build.im 允许特定域名访问（2）服务器做反向代理（2）打包文件单独放置一个服务器 1.把react 项目 build 打包后 复制build 里面的文件到web服务器的根目录 2.同时需要在web根目录放置.htaccess文件，文件内容为：（当服务器出现找不到路由时自动回到index.html 路由由react-router 接管 附备注： 前端本地开发时会存在跨域问题，如果项目是用creat-react-app cli 创建的，则直接在package.json 文件里添加 api 地址目录即可："proxy"： “www.api.com:8000” 即可解决跨域问题，如果是自己创建的项目 配置好proxy middlle 中间件 也可以实现代理。本地fecth( ''api/userinfo", fucntion(){} ); 请求会发送到 http://www.online.com:80/api/userinfo 接口上proxy: { '/api)': { target: 'http://www.online.com:80/', changeOrigin: true }, } Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.html [QSA,PT,L] 二，部署在nginx web 服务器上try_files 指令：配置 nginx/nginx.conf 文件server { ... location / { try_files $uri /index.html } } react build 后的文件包里的文件直接放到 nginx 下的web 目录 即可通过ip 访问

【技术解读】php-fpm占用cpu和内存过高100% 解决办法
type: item
date: 2021-09-24T08:53:00+08:00
description: 服务器php-fpm突然占用cpu和内存过高，原因是因为突然请求链接数变多，原因很多，建议检查一下代码或者项目上是否存在容易多次请求的地方解决办法如下：一、查看它的php-fpm.conf配置文件：从上面配置文件可以看出，默认的启动进程数是4个，最大的是6个，最小的是4个。二、查看linux平均负载：从上面可以看出，6个php-fpm进程占用的cpu空间都很高，平均负载（load average）情况如下：1分钟平均负载：2.32；5分钟平均负载：2.18；15分钟平均负载：3.95；可以说它现在的平均负载接近了它的cpu总核数：4；需要考虑服务器配置升级184 total ：184个总进程数4 running：4个正在运行的进程数143 sleeping：180个睡眠的进程数0 stoppe：0个停止的进程数0 zombie：0个冻结进程数三、更改 php-fpm.conf 配置文件 来做调优修改pm开头的配置，大内存服务器建议使用静态模式，配置低的建议使用动态模式

【技术解读】Linux命令 ---- 部分命令详解
type: item
date: 2021-09-14T09:03:00+08:00
description: linux系统信息命令arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS linux关机 重启命令 (系统的关机、重启以及登出 )shutdown -h now 关闭系统 init 0 关闭系统 telinit 0 关闭系统 shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启 reboot 重启 logout 注销 linux文件和目录命令cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 pwd 显示工作路径ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 ls *[0-9]* 显示包含数字的文件名和目录名 tree 显示文件和目录由根目录开始的树形结构(1) lstree 显示文件和目录由根目录开始的树形结构(2) mkdir dir1 创建一个叫做 'dir1' 的目录' mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 rm -f file1 删除一个叫做 'file1' 的文件' rmdir dir1 删除一个叫做 'dir1' 的目录' rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 rm -rf dir1 dir2 同时删除两个目录及它们的内容 mv dir1 new_dir 重命名/移动 一个目录 cp file1 file2 复制一个文件 cp dir/* . 复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) file file1 outputs the mime type of the file as text iconv -l 列出已知的编码 linux文件搜索命令find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 find / -user user1 搜索属于用户 'user1' 的文件和目录 find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限 find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件，忽略光驱、捷盘等可移动设备 locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 whereis halt 显示一个二进制文件、源码或man的位置 which halt 显示一个二进制文件或可执行文件的完整路径 linux网络命…