自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ityun的博客

code成长路

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

原创 php使用supervisor管理进程脚本

supervisor是用python开发的一个在linux系统下的进程管理工具,可以方便的监听,启动,停止一个或多个进程。当一个进程被意外杀死后,supervisor监听到后,会自动重新拉起进程。一、supervisor的安装1、通过easy_install安装 yum -y install python-setuptoolseasy_install superv...

2019-07-11 11:39:55 656

翻译 第三方登录之QQ登录——OAuth2.0处理流程介绍(以QQ登录为例)

为了让网站更快接入,腾讯提供了JS SDK的接入方案,具体点击这里或者点击这里进行查看。不过也可以自己写代码,当然你需要了解QQ的OAuth2.0的处理流程(Web Server Flow)。OAuth2.0的处理流程:点击这里查看官方Wiki。1.授权:获取授权码Authorization Code 说明:第一步QQ必须得到要登

2017-02-07 18:52:56 11886 2

翻译 password_hash的使用方法

一、前言PHP5.5提供了许多新特性及Api函数,其中之一就是Password Hashing API(创建和校验哈希密码)。它包含4个函数:password_get_info()、password_hash()、password_needs_rehash()、password_verify()。在PHP5.5之前,我们对于密码的加密可能更多的是采用md5或sha1之类的加密方式(没人

2017-01-05 07:43:59 25338

原创 使用Docker Dockerfile构建php LNMP集成开发环境,并运行Thinkphp5

这篇主要介绍如何在Mac、Windows10使用docker搭建LNMP集成开发环境。下面我会写Dockerfile编译安装Nginx+php基础环境。mysql、redis基于官方Docker hub,分别构建我们自己的镜像。

2023-05-20 16:26:01 2540 2

原创 FastAdmin列表通过queryParams实现自定义传值

FastAdmin开发技巧

2023-04-10 18:14:52 1204

原创 windows下nginx的命令行操作

部分服务器是windows server。windows下nginx的命令行操作

2022-06-15 18:10:28 511

原创 markdown文件的在线预览实现方式(js)

示例代码(js解析版):<link href="css/markdown-dark.css" rel="stylesheet" type="text/css" /><link href="css/markdown-light.css" rel="stylesheet" type="text/css" /><link href="css/markdown.css" rel="stylesheet" type="text/css" /><style&gt..

2022-04-27 15:18:12 2964

原创 PHP操作Elasticsearch7.6

目录安装操作Elasticsearch的PHP库PHP连接Elasticsearch创建索引和映射添加文档单一文档索引批量(bulk)索引获取文档更新文档部分更新script更新删除文档首先打开Elasticsearch官网了解对应编程语言的API https://www.elastic.co/guide/en/elasticsearch/client/index.html点击 PHP API即可查看当前7.X版本的文档内容了安...

2021-11-04 09:30:54 1307

原创 phpmyadmin解决报错信息:无效 CSRF 令牌。重新发送表单

phpmyadmin解决报错信息:无效 CSRF 令牌。重新发送表单。(doc)docker exec -it php56 bashcd /var/lib/phpmkdir sessionchmod -R 777 session

2021-06-19 09:55:59 693 2

原创 记录几个php常用的正则表达式

以下为php的格式,其他语言类似:中文、字母、数字、括号组成:/^[\x{4e00}-\x{9fa5}0-9a-zA-Z\\(\\)\\(\\)]+$/u座机号码: /^(0[0-9]{2,3}(\-)?)?([2-9][0-9]{6,7})+((\-)?[0-9]{1,4})?$/ 大陆手机号码:/^1[3456789]\d{9}$/ 特殊符号:/^\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>

2021-01-05 19:54:26 126

原创 docker 实战

Docker的基本介绍编辑本段什么是DockerDocker是一种容器技术,通过Docker你可以做到:更快速的交付和部署 更高效的虚拟化 更轻松的迁移和扩展 更简单的管理(类似git)下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传...

2020-10-31 19:34:31 338

原创 python:使用flask+gunicorn+supervisor+nginx部署python项目

本文主要介绍如何使用supervisor作为守护进程管理工具。来部署python项目(服务器ubuntu)1.python环境安装(ubuntu系统)apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools2.python虚拟环境安装(ps:假定fla...

2020-04-16 16:04:28 1705 2

原创 php+python+supervisord项目部署

服务器操作系统:ubuntu 18.04Nginx安装Nginxsudo apt-get update sudo apt-get install nginx查看Nginx状态sudo systemctl status nginx启动Nginx服务sudo systemctl start nginx重启Nginx服务sudo s...

2020-04-15 12:16:43 350

原创 uwsgi配置

[uwsgi]#指定IP端口 // 直接外部访问#http-socket = 127.0.0.1:8080#项目目录chdir = /www/wwwroot/web/#指定项目的applicationmodule = web.wsgi:application#uwsgi启动用户名和用户组uid = wwwgid = www#启用主进程master = true...

2019-12-28 11:51:03 448

原创 ubuntu部署 nginx+uwsgi+falsk+python3

关于 uWSGI,WSGI是一个 Python 协议,定义了应用程序(我们写的软件)如何与Web 服务器(如 Nginx )通信,WSGI只是一个接口。而uWSGI是一个支持多种语言的服务器容器,使用WSGI定义的标准实现与多种Web 服务器的通信,并将 Web 服务器发来的请求“翻译”成应用程序所能理解形式。安装(下边所有安装尽量在root权限下执行,其他用户在虚拟环境中存在...

2019-12-28 11:40:45 317

原创 docker 命令记录

1. 进入容器:docker exec -it container_name/container_id /bin/bash2.退出容器:exit3.提交容器修改:docker commit -a "ityun" -m "添加test文件夹" nginx ityun/nginx4.端口映射:docker run -itd -p 宿主机端口号:容器端口号5.文件挂载:docker ...

2019-12-11 15:53:11 267

原创 ubuntu安装gitlab

想到Gitlab就必定会想到SVN,因为两者都是代码管理系统,作为开发人员来说,用习惯了SVN的图形化界面和SVN代码更新和提交的方式,可能就会觉得使用git会比较麻烦,其实不然git使用起来非常方便,并且好处也不少,git后面会成为一种流行和趋势。所以在这儿简单的介绍Gitlab服务器的搭建和git的一些基本操作使用。准备环境Ubuntu16.04 serverGitlab安装1...

2019-07-20 13:08:53 305

原创 jenkins自动化部署工具创建任务

备注:本文只针对已经安装并配置好jenkins的用户阅读,使用之前需要先安装插件点击-系统管理-系统插件-可选插件中 直接搜 publish over ssh 点击安装,安装完之后,重启jenkins1,系统管理->系统设置->Publish over SSH配置里面配置ssh服务器信息2.新建任务 新建任务完成之后,点击保存即可3.构建任务(部...

2019-07-18 15:33:02 333

原创 docker安装jenkins自动化部署工具

一. 什么是JenkinsJenkins是当前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行。二. 为什么用docker版的JenkinsJenkins主要有三种安装方式下载官方war包,放到tomcat中直接运行。 yum安装,感兴趣的朋友可以参考之前我写的一篇文章在linux服务器上安装Jenkins。 使用官方docker镜像。使用dock...

2019-07-18 15:24:36 196

原创 docker搭建php开发环境(nginx+mysql+php)

部署 lnmp下载所需要的镜像(nginx 1.12.2 ,mysql 5.7,php 7.2) 版本可自选获取 Mysql 5.7 镜像[root@docker-server ~]# docker pull mysql:5.75.7: Pulling from library/mysql5e6ec7f28fb7: Pull complete 4140e62498e1: Pu...

2019-07-16 17:49:22 496

原创 linux 常用命令

端口:lsof -i:8000netstat -tunlp | grep 8000防火墙:iptables -L -n #查看防火墙规则列表service iptables save #保存防火墙规则iptables -A INPUT -p tcp --dport 22 -j ACCEPT #设置开放input端口iptables -A OUTPUT -p tcp --sp...

2019-01-30 13:02:08 146

原创 HTTP状态码

2XX  成功200  正常;请求已完成。201  正常;紧接 POST 命令。202  正常;已接受用于处理,但处理尚未完成。203  正常;部分信息 — 返回的信息只是一部分。204  正常;无响应 — 已接收请求,但不存在要回送的信息。3XX  重定向301  已移动 — 请求的数据具有新的位置且更改是永久的。302  已找到 — 请求的数据临时具有不同 URI。30...

2018-10-15 13:51:50 163

翻译 mysql explain

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:...

2018-09-13 10:59:36 207

原创 通过生日获取出年龄与通过年龄获取出生日范围

//通过生日获取出年龄function getAge($birthday){ $age = strtotime($birthday); if($age === false){ return false; } list($y1,$m1,$d1) = explode("-",date("Y-m-d",$age)); $now = strtot...

2018-09-03 12:01:20 963

翻译 php高级类库

PHP 是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域,是大多数后端开发者的首选。PHP 作为最受欢迎的编程语言之一,经常出现在各大语言之战中,但到底谁是最好的编程语言呢?这不是文章要讨论的内容 本文从众多 PHP 开源库中选出了几款实用有趣的工具,希望对你的学习工作有帮助。 1、PHP 日志工具 Monolog ...

2018-08-22 19:06:37 1196

原创 排序2

function arraysort($data, $order = 'asc') { //asc升序 desc降序 $temp = array (); $count = count ( $data ); if ($count &lt;= 0) return false; //传入的数据不正确 if ($order == 'asc') { for($i = 0; $i &lt; $count; $...

2018-05-15 22:22:17 146

原创 排序1

function arraysort3($data, $order = 'asc') { //目前只做升序排列 $count = count ( $data ); for($i = 1; $i &lt; $count; $i ++) { $temp = $data [$i]; //$str = '';  for($j = 0;$j&lt;$count-$i;$j++){    //$str .= ...

2018-05-15 22:20:54 180

翻译 php内存管理与垃圾回收机制

一、内存管理机制先看一段代码:&lt;?php//内存管理机制var_dump(memory_get_usage());//获取内存方法,加上true返回实际内存,不加则返回表现内存$a = "laruence";var_dump(memory_get_usage());unset($a);var_dump(memory_get_usage());//输出(在我的个人电脑上, 可能会...

2018-05-13 22:45:38 321

翻译 php底层运行机制与原理

1 PHP的设计理念及特点多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,当然,时代发展,PHP也早已支持多线程模型。弱类型语言:和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。一个变量的类型并不是一开始就确定不变,运行中才会确定并可能发生隐式或显式的类型转换,这种机制的灵活性在web开发中非常方便、高效。引擎(Zend)+组件...

2018-05-13 22:00:02 7468

翻译 php 引用计数原理与调试方法

每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,由于php允许用户通过使用&amp;来使用自定义引用,zval变量容器中还有一个内部引用计数机制,来优化内存使用...

2018-05-13 21:58:18 495

原创 Xshell连接远程服务器出现“Connection closed by foreign host.“的提示

1.服务端日志获取    tailf /var/log/secure2.查看日志报错   No supported key exchange algorithms3.SSH服务会对相关秘钥文件的权限进行检查。比如,私钥文件默认权限是600,如果    配置成777等其他权限,导致服务会认为该配置存在安全分险,进而导致客户端连接    失败。   可以通过如下指令恢复相关文件的默认权限配置:    ...

2018-04-28 17:19:10 18482 1

翻译 centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等

iptables防火墙1、基本操作# 查看防火墙状态service iptables status  # 停止防火墙service iptables stop  # 启动防火墙service iptables start  # 重启防火墙service iptables restart  # 永久关闭防火墙chkconfig iptables off  # 永久关闭后重启chkconfig ipt...

2018-04-28 10:57:15 642

原创 php操作redis

确认服务器已开启redis服务 redis的端口号默认是6379  一个小例子代码&lt;?phpheader("content-type:text/html;charset=utf8");//声明redis对象实例$redis = new Redis();//调用redis对象的connect方法,第一个参数为redis的服务器地址,第2个为redis端口,默认为6379$redis-&gt;c...

2018-04-24 18:32:05 156

原创 mysql运维-slave_skip_errors

1 简介    mysql在主从复制过程中,由于各种的原因,从服务器可能会遇到执行BINLOG中的SQL出错的情况,在默认情况下,服务器会停止复制进程,不再进行同步,等到用户自行来处理。    slave-skip-errors的作用就是用来定义复制过程中从服务器可以自动跳过的错误号,当复制过程中遇到定义的错误号,就可以自动跳过,直接执行后面的SQL语句。2 官方参考Command-Line Fo...

2018-04-16 19:06:55 7066 2

原创 linux nginx 重启 关闭 启动

启动操作nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径停止操作停止操作是通过向nginx进程发送信号来进行的步骤1:查询nginx主进程号ps -ef | grep nginx在进程列表里 面找master进程,它的编号就是主进程号了。步骤2:发送信号从容停止Nginx:kill -QUIT 主进程号 例如:k...

2018-04-11 21:29:07 174

原创 linux 防火墙配置

防火墙配置CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙。firewall操作:# service firewalld status; #查看防火墙状态 (disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activated(running)表示为开启状态)# service firewalld st...

2018-04-11 11:53:57 158

原创 计算数组中的值是否存在于另外一个数组中

$a = Array(6428,6920,6181);$b = Array(6428,6181); foreach( $b as $key=&gt;$val ){ $res = deep_in_array($val,$a); var_dump($res);} function deep_in_array($value, $array) { foreach($ar...

2018-03-27 09:30:32 2237 1

原创 mysql 横向分表

分表其实有很多种的方法可行 就像是集群我们也可以叫做是分表 今天给大家演示一个最简单的横向分表1,创建一个完整表存储着所有的成员信息create table member(id bigint auto_increment primary key,name varchar(20),sex tinyint not null default '0')engine=myisam default chars...

2018-03-19 17:55:58 1761

原创 php操作redis的一些命令

确认服务器已开启redis服务 redis的端口号默认是6379  一个小例子代码&lt;?phpheader("content-type:text/html;charset=utf8");//声明redis对象实例$redis = new Redis();//调用redis对象的connect方法,第一个参数为redis的服务器地址,第2个为redis端口,默认为6379$redis-&gt;c...

2018-03-13 17:56:23 310

原创 tcp udp ip http 的关系

首先,我自己梳理一下,其实除了应对以后的笔试,还有需要应对的是自己在编程中对于api的选择,我在满足需求时采取哪种方案更好。 首先,我需要了解的是tcp/ip是一个协议组,有三大层:ip 对应于网络层 tcp 和 udp 对应于传输层http 对应于应用层  socket 属于api ,是对tcp/ip的封装。其中,应用层存在的意义是使tcp/ip传输过来的数据内容能够识别出来。通过socket ...

2018-03-08 09:36:34 244

空空如也

空空如也

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

TA关注的人

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