本来想要搭建lnmp环境的,忽然发现自定义搭建的话,得处理很多问题,特别是mysql,因此开了三个不同的章节专门讲php、nginx、mysql的安装,然后顺带能够熟悉各种命令了。其实mysql也可以单独拆开来用的,因此会自定义安装也可以方便以后的安装了,本文用的是mysql-8.0.21-linux-glibc2.12-x86_64.tar,这个文件属于二进制文件,和源码文件是不一样的,因此和网上有些教程不一样,不需要使用.configure和make命令,进行编译。接下来还是讲一下如何搭建好了。
1、下载mysql二进制包,我这里下载的是mysql8.0.21的包:
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar
然后放到自己存放下载文件的文件夹,我这里是/root/tools文件夹(没有tools文件夹就新建一个)
2、解压二进制文件,需使用下列命令:(这里第一次解压之后会出现三个压缩文件,但只有一个是主要文件,因此还要对那个文件进行解压
tar -xvf my ...
linux下自定义搭建php的环境,首先在php官网找到压缩包下载,一般都是用的stable包,这个包比较稳定,BUG少。
压缩解压的步骤是必不可少的,这里就不写了,和之前的nginx服务器的基本一致。重要的是接下来的环节:
1、设置php configure脚本,命令为
./configure --prefix=PATH --enable-fpm
首先,这是对php进行一些配置,配置之后的编译就可以按照我们想要的去编译了,这里的–prefix=PATH是为了给php设置一个存放环境,如果不设置的话,默认情况下是在/usr/local等文件下,–enable-fpm是为了是php成为一个能独立运行的服务。这两个的话,是必备两个命令之一,必须要写上才能行。如果还有其他需求的话,比如和mysql进行连接什么的,就加其他的配置。不过在配置时候可能需要下载libxml2、libxml2-devel、sqlite、sqlite-devel包等,配置完成后如下图所示。
接下来需要make(如果没有make命令,则yum install make),以及make install。(可以合成为ma ...
| nginx.conf配置:
nginx.conf是里面最重要的一个配置,因为我们经常会用到它,并且要熟练掌握它的配置。nginx.conf里面分为这么几个配置块,分别是events、http、server、upstream、location,当然还有最初的关于user的配置关于worker_processes的配置等。
#定义Nginx运行的用户和用户组
user nginx nginx;//默认为user nobody;
#nginx进程数,一般建议设置为CPU总核数
worker_processes 8;
#全局错误日志定义类型 [ debug |info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;#默认是这样的的,但其实可以info的写成info_log,
#进程文件
pid /var/run/nginx.pid; 进程文件显示nginx运行的PID
#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数 ...
由于上次安装nginx服务器,因此顺便看了下nginx服务器的一些配置,也顺便弥补一下我的nginx方面的一些不足吧,由于上次组建了nginx服务器,因此这次就不写如何下载了,直接讲一些更细节的东西吧,如下面的是nginx服务器编译之后的目录结构:
接下来就对里面每一个东西进行一次讲解吧:
|-- CHANGES:这不是一个目录,而是一个文件,这个文件是官方给的专门用来描述nginx每一次更新迭代的改变的文件,里面可
|–以看到nginx每一次更新改变了什么。
|-- CHANGES.ru:这也是一个文件,这个文件看不出什么来,编码有点问题,但是看起来应该还是和CHANGES文件一个样的。
|-- LICENSE:这是证书文件,具体用来干什么不太清楚大概就是用来认证用的,具体配置用不上
|-- README:这是阅读文件,一般用来写一些操作指南什么的,不过nginx里只写了个nginx官网
|-- auto:这里存放的应该是nginx的一些编译文件,比如说gcc什么的编译文件,这里的文件一般配置也用不到,暂时也不用动
|-- conf:这里存放着nginx所有配置文件,是及其重要的文 ...
前两天做系统迁移,因此需要在服务器上部署一个nginx服务器用来存放前端服务器文件,而根据要求需要自定义安装nginx服务器,如果使用yum install nginx进行安装,有关nginx服务器的配置文件无法受自己的掌控,因此必须要自定义搭建。自定义搭建服务器的步骤如下:
1、从官网下载nginx的压缩包到指定位置,一般会在/root文件夹下创建tools文件夹,用来存放所有需要用到的压缩包,然后再创建一个文件夹server用来存放服务器的所有文件,如下图所示:
现在需要下载nginx服务器的压缩包,而这需要使用wget命令,而有些时候并没有在centos预装wget命令,如下图所示:
如果没有预装的话,需要使用yum命令去安装(yum只是centos系统的软件包管理器,如果是其他的话应该也有对应的软件包管理器,比如ubuntu的apt,以及rpm等。)具体命令是yum install wget(有时候没有权限,需要使用sudo权限才能下载),下载过程如下图所示:
nginx服务器的官方地址是:http://nginx.org/download/nginx-1.18.0.tar.g ...
今天碰到个这个题目:
var a=[1,2,3];
var b=[1,2,3];
var c="1,2,3"
var d={a:1}
var e='{a:1}'
console.log(a==b,a==c,b==c)
console.log(d==e)
结果:false true true false
而结果是a不等于b,a等于c,b也等于c,搞了半天没搞懂,后来才知道,js是弱类型语言,obj与obj之间是比较地址,其他的大部分会转成字符串,而数组可以看作是一个特殊的obj,即键值为固定数值的对象,因此他们比较时候地址不相同,会打印false,而d不等于e是因为需要转格式toString,我进行了下面的测试:
var obj={}
var str='[object Object]'
console.log(obj.toString(),str)
console.log(obj.toString()==str)
结果:[object Object] [object Object]
true ...
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,这是官方的解释,但其实个人感觉它的功能类似与Bus,也就是数据总线的功能,它把一些公共的数据都抽出来,做成一个单独类,然后将这些数据称之为状态,其实大概就是这样了,vuex其实还是挺简单的,需要引用插件的话,需要先使用
npm install vuex --save
安装vuex,并且在main.js使用它,即
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
这样才可以使用,不过vuex依赖promise,因此需要引入es6-promise(这个我没引入过,也没问题,大概是我的浏览器支持promsie,因此不需要吧。)
Vuex主要有Sate、Mutation和Action三个核心概念,其中state状态,其实就是数据了,由于state的状态都是响应式的,因此读取状态的最好办法就是在computed(计算属性)中返回某个状态,而一个组件需要取多个状态的时候,可以使用mapState来帮助生成计算属性(少写点代码),而这需要引入mapState,引入 ...
错题集
未读在安装插件或者进行其他动作的过程中,总是会遇到该错误
npm WARN babel-loader@7.1.5 requires a peer of babel-core@6 but none is installed. You must install peer dependencies yourself.
而这个错误说明插件的版本不匹配,这时候就需要我们去更新其中一个版本了。
而更新的指令是,
npm install bebel-core@6 --save-dev
而有时安装的插件又版本不适配,因此需要不断适配。
Bootstrap有很多实用的组件,例如现在提到的Collapse组件就是其中之一,Collapse组件是用来点击下拉显示的,与dropdown有所不同的是,dropdown的dropdown-menu不占位置,或者说是悬浮在网页上的,并不会造成网页样式的变化,而collapse组件则会产生该变化。emmmmm…现在想一下collapse的用法,其中最主要的是点击下拉显示文字的样式,先贴一段代码:
<div class="navbar-toggler align-items-center" data-toggle="collapse" data-target="#zhuye">
<i class="fa fa-home"></i>
<span class="nav-label">主页</span>
<i class=" ...
在下拉菜单那里,一直没办法有分割线,明明设置了class="divider"却还是不显示,最后发现是因为我看的教程是中文网中文文档的3.3.7,而使用的是最新的bootstrap4,而bootstrap对于分割线的类进行了更改,从divider改成了dropdown-divider,所以必须要修改为divider才可以生效
还有就是disable禁用好像也没有禁用的鼠标箭头转换,然后发现是bootstrap4换了箭头。。这些都说明,文档还是看对应版本的好,虽然英文看着累,但是坑少。。