PHP-FPM 的工作整理】的更多相关文章

通过上一篇文章(Vue-admin工作整理(一):项目搭建)操作完毕后,基础项目已经搭建,下面就要对项目本身进行一下项目结构调整来符合自己的项目要求 1.首先要对package.json文件进行调整,使项目初始化后浏览器要自动弹出,在原有的配置下,增加 --open "serve": "vue-cli-service serve --open", 2.根目录中增加一个.editorconfig配置文件,用来配置一些编译器的使用习惯 root = true // ro…
网络上有很多关于如何配置 Nginx + FPM 的文章,但它们更多从操作的角度出发,告诉我们怎么做,但却没有告诉我们为什么要这么做,本文从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的.要说 Nginx 与 PHP 是如何协同工作的,首先得说 CGI (Common Gateway Interface) 和 FastCGI 这两个协议. CGI 是 Web Server 与后台语言交互的协议,有了这个协议,开发者可以使用任…
1.php-fpm的配置文件 根据命令找到路径修改配置文件 ps -ef|grep php-fpm vim /home/php/etc/php-fpm.conf ;;;;;;;;;;;;;;;;;; ; Global Options ; ;;;;;;;;;;;;;;;;;; [global] pid = run/php-fpm.pid error_log = log/error.log daemonize = yes log_level = warning ;syslog.facility =…
1.一般收不到邮件是因为配置文件邮箱写错 2.如果报表数据不对,看数据插入的时候是否再次写入产生冲突 3.如果收不到报表某些组别的excel查看组别名称是否匹配正确,是否匹配成功,不成功无法发送…
1.组件封装基础 npm install countup@latest 2.组件中使用id值 3.组件中获得dom 如何封装一个组件,在组件中用到需要传入HTML元素ID值的JS库时如何处理,如何获取一个DOM或一个组件实例,插槽.$nextTick.生命周期 <template> <div> <slot name="left"></slot><span ref="number" :class="cou…
# Mock简明文档           ## Mock.mock()           - Mock.mock( requestUrl?, requestType?, template|function(options) )     - Mock.mock( template )     - Mock.mock( requestUrl, template )     - Mock.mock( requestUrl, requestType, template )     - Mock.moc…
思路:使用Mock拦截actions请求,通过 Mock.mock(/\/getUserInfo/, 'post', getUserInfo) 进行拦截标示,然后将内容返回 export const getUserInfo = (options) => { console.log(options) // return { // name: '小鸟' // } // return { // name: 'Robin' // } // const template = { // 模版对象 // 's…
典型的工具类封装,增加拦截起来做相应的处理 user.js: import axios from './index' export const getUserInfo = ({ userId }) => { return axios.request({ url: '/getUserInfo', method: 'post', data: { // POST参数的请求是需要放在data里的 userId } }) } axios.js 工具类: import axios from 'axios'…
跨域的定义: 解决方法: 1.前端通过配置来解决跨域问题:自定义的vue.config.js配置文件来进行跨域处理:就是只要存在跨域现象 都会代理到一个指定的地址上 devServer: { proxy: 'http://localhost:4000' } 2.服务端是通过前端塞一些header值来解决跨域: app.all('*',(req, res, next) => { // 为所有的请求response都增加这个headerres.header('Access-Control-Allow…
概述,普通的直接通过input修改值然后取是不符合vue的规格的,所有数据定义和传递必须通过actions或者mutation来做 思路:通过在mutation层对字段进行定义值,在store中通过v-model来实现双向绑定,这里要注意在实现该双向绑定的时候一定要定义该函数的get.set方法,然后在...mapMutations方法中将mutation里的方法进行引入 <a-input v-model="stateValue"/> <p>{{ stateVa…
严格模式:开发过程中对规范的要求,定义方式为在store实例初始化的时候将strict设置为true,这样的话就是开启了严格模式.在这种情况下,如果要直接修改state里面的值,那就会报问题.那么也可以继续深化,根据环境来判断严格模式的要求,如果是开发模式就被拦截,如果是生产模式就放行: strict: process.env.NODE_ENV === 'development'.   这样设置后,在开发模式的时候就会报出问题,打包后就没问题…
Vuex可以支持插件形式,来处理指定业务,比如:持久化存储的插件(当每次刷新浏览器的时候store里面的参数都会被清除,因为它是存在内存中的,而不是存在本地的,有时候我们希望将一些东西存在本地) 插件其实是一个函数,它只有一个参数就是store,这个函数实在store初始化的时候(实例初始化的时候)调用,刷新浏览器后第一次做的操作可以定义在该函数里,该操作由store的subscribe方法来完成,该方法是当每次提交mutation的时候,它都会执行subscribe里面的回调函数,该回调函数有…
概述: 动态注册模块分为两种,一种是在根state下注册一个模块,一种是在模块下再自动注册一个模块 第一种:根state下动态注册模块: 思路:通过store来实现,this.$store来获取当前的实例内容,然后通过当前根实例的registerModule方法来实现模块动态注册: registerModule () { this.$store.registerModule('todo', { // 第一个参数为我们需要添加的模块名称,第二个是一个对象,写 state: { // 这块和在use…
思路:通过提交一个 mutation,而不是直接变更状态,它可以包括异步操作,通过请求接口,定义一个方法,第一个参数为对象,在里面能够提取到一些东西,比如:commit,这是一个方法,调用这个commit去提交一个mutation import { getAppName } from '@/api/app' const actions = { // 请求接口,修改appName字段数据,定义一个updateAppName方法,第一个参数为对象,在里面能够提取到一些东西,比如:commit,这是一…
路由组件传参:如果在一个页面中,需要根据路由去获得参数,去对页面进行一些逻辑处理,首先可以通过this.$router来获取路由实例的参数,这样页面组件和路由就进行了耦合,为了进行分离,更大程度复用,我们推出了路由组件传参的实现方案: 第一种传参方式为:布尔模式,它适用于有动态路由传参的路由配置中,实现思路为:将路由的参数作为属性来传入到组件中 <template> <div> {{ name }} </div> </template> <script…
前提:通过项目结构个人设置创建的项目 store文件下actions.js.mutations.js.state.js都是根级别的状态管理,引用入口是通过index.js来实现,整个Vuex处理逻辑为: 一.state 实现方式1:访问根(state.js)状态的方式 在state.js定义的值,可以在任何组件中使用,其他组件使用计算属性(computed)来获得该值,然后通过store的实例来读取:this.$store.state.appName,具体实现: 1.state.js: cons…
一.父子组件之间通信 思路:定义一个个人组件,个人组件通常需要在前缀统一命名一下,如:AInput,该组件的作用是将编辑框中的内容获取并通过事件提交出去,然后在目标组件(store)中通过双向交互模式(v-model)来接收.具体实现为: 1.路由列表增加一个入口: { path: '/store', name: 'store', component: () => import('@/views/store.vue') }, 2.定义自定义组件:AInput(components->AInpu…
思路就是通过 transition-group 这个组件来对多组件进行控制,效果是通过样式来写,transition-group要有指定的key值,样式中通过name来命名类的名字 <template> <div id="app"> <div id="nav"> <router-link :to="{ name: 'home' }">Home</router-link> | <ro…
路由源信息:每一个路由对象,可以配置一个meta字段,它里面可以存放一些我们定义的信息,比如说页面是否需要一个权限 to.meta && setTitle(to.meta.title) // 如果 to.meta是真值,那么就会执行 setTitle(to.meta.title) 将title重新命名,命名的逻辑在 /lib/util.js里 /lib/util.js: export const setTtile = (title) => { window.document.titl…
一.作用: 它可以帮我们在路由发生跳转,到导航结束的时间内,做一些相应的逻辑处理,分为:全局守卫,和专项守卫 1.全局收尾: (a).前置守卫:router.beforeEach(to,from,next),router实例的beforeEach方法能够注册一个全局前置守卫,,用途例如做典型的登陆判断,to表示的是即将跳转的路由对象,from表示当前将要离开的路由对象,next是一个函数,如果确定要跳转,那么就将用到next函数 //如果即将访问的页面不是登录页面,如果已经登录,那么直接执行ne…
1.router-link和router-view组件 router-link组件实际上是封装了一个a标签(链接标签),里面有一个重要属性:“to”,它的值是一个路径,其路径对应的渲染组件,要在路由列表(router->router.js)里定义,该路由列表为一个数组形式存放不同的路由对象,一个基本的路由对象,必须包含两个属性:path.component:path为对应的路径(在url输入的路径),component为对应path路径要渲染的组件 router-view组件是一个视图渲染组件,…
1.首先要安装vue-cli 3.0以上版本,和git 该版本可以支持页面化快速创建: sudo npm install -g @vue/cli 安装完毕后查看vue版本信息:vue -V 2.安装好vue-cli 3.X后,就可以通过vue ui来进入项目创建页面了 创建页面如下: 3.该页面会检索到本机所有vue项目,我们通过创建,来新增项目,创建步骤按需增加,例如增加必要的插件,包管理我习惯用了npm PS:预设表示的是将以上配置操作保存起来,以后可以直接通过这个配置文件来创建项目 点击创…
今年在渣X工作整理的常用JS函数 今年来了渣X工作,我所在这个部门分工很奇怪,CSS竟然有专门的人在搞,开发PHP的人员需要处理JS,以至于有时候开发起来不是那么得心应手,感觉把JS和CSS拆开就像是把方向盘.油门分别交给了两个人来控制,两个人都很不得劲.再说说这边的js吧,完全是那种复制粘贴的方式,更别说使用什么新的前端工具来进行各种优化了.到目前为止,我做了一件事情,将公共常用的JS拆出来,避免复制粘贴去使用,提高开发效率.提高代码鲁棒性.但还是拿出来分享给大家,顺便记录下. 基础工具Too…
前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务…
一:安装前做个简单的说明 二:安装MySQL 三:安装Nginx 四:安装PHP5 五:配置 nginx,以下是我本机的配置文件. 六:让MySQL支持PHP5 七:配置PHP-FPM 八:在/etc/nginx/sites-available/default中新增一个虚拟主机. listen [::]:80 default ipv6only=on; ## listen for ipv6 环境:ubuntu 12.0.4 LTS nginx(发音"engine x”)是一个自由,开放源码,高性能…
目前国内的招聘Python,基本都是偏向web后台开发,偶有高大上的数据挖掘&机器学习. 这是之前(2012年)找工作整理的一些JD,在梳理几年来的笔记,顺带理一理 可以以此建立自己的技能体系: 第一部分: 一些要求 一.学历 1.格式: 计算机及相关专业本科及以上学历..... 不解释,不说明 毕业后很少再看学历了,更多的是看能力吧(我会告诉你第一年周围都是硕士博士海龟么,俺学历最低,自卑啊) 见过数学系.物理系.信息自动化系的跑过来当码农,唯一遗憾的是还没有见到中文系的-.. 二.经验 1.…
网上有很多SQL SERVER数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键.外键.约束.视图.函数.存储过程.触发器.规则.可以在企业管理器.查询分析器中简单执行,直接了当的查出SQL2K及SQL2005的所有数据字典,方便文档的编写,希望对大家有帮助. 1. SqlServer2000数据库字典--表结构.sql PERCENT --a.id, THEN d.name ELSE '' END AS 表名, T…
LANChat工作整理 2013/8/22 程序实现功能: 局域网聊天软件,启动即可找到在线设备,并能够进行简单的文字聊天. 其实下面这个框图已经说明了程序的绝大部分功能原理. 核心类的程序框图 我觉得,这个程序中使用的最好的技术,应该就是IOCP了.后面我会针对IOCP好好地写一篇博文,这个技术虽然刚学的时候有点乱,但是确实很好用. 上面的框图中中间的UDPServer线程等待的事件完成是MainServer线程在Listen函数调用结束后设置的事件.这里忘了标了. 说明 前几天在实验室看<W…
.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多. 二.下载安装: 下载nginx http://nginx.org/en/download.html 下载解压后放到C:\nginx-1.0.4(官网这样要求的,不知道放其它盘有没有问题) 启动nginx.exe,然后在浏览器输入127.0.0.1即可 配置自己的项目测试 第二环节我们使用了默认的…
本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超博客 Android中文Wiki AndroidStudio-NDK开发-移动开发团队谦虚的天下 - 博客园gundumw100博客 - android进阶分类文章列表 - ITeye技术网站CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯Android笔…