nginx 配置文件加入配置代码
找到conf文件
通常默认配置在 /etc/nginx/conf.d 如果不在可以尝试nginx -t 测试一下 按提示路径找到 进入目录 conf.d 找到域名对应配置文件
加入代码找到域名对应nginx配置文件 在 location /{ //加入代码 }*.conf配置文件代码123456789101112 location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ ...
linux
未读
linux ~/.ssh 目录权限 有对制定级别,直接设置777是通过不要认证的 需要设置以下级别才能通过ssh认证登录123chmod 750 /home/developer/chmod 700 /home/developer/.ssh/chmod 600 /home/developer/.ssh/*
linux
未读linux常用命令
su 切换到root权限
su - 切换到root用户
exit 退出用户登录
hostname 显示主机名
ls 列出文件清单
uname 显示系统名称
uname -a 完整的系统名
uname –all 同上(无差别)
Ctrl+c 终止当前进程
命令 & 在后台执行此命令
jobs 查看后台作业列表
bg 1 继续执行后台任务1
fg 1 将后台任务调1到前台运行
ls -a 显示所有文件(包括隐藏文件)
ls -l 显示详细信息
ls -R 递归显示子目录结构
ls -ld 显示目录和链接信息
linux文件目录
/dev 存放设备抽象文件
/lib 存放系统库文件
/sbin 存放特权级二进制文件
/var 一般存放经常变化的数据
/home 用户家目录
/etc 配置文件存放目录
/media 自动挂载设备目录
/lost+found ext系统文件
/s ...
配置开启伪静态模块
打开配置文件httpd.conf
启用rewrite1# LoadModule rewrite_module modules/mod_rewrite.so //去除前面的 #
启用.htaccess
在虚拟机配置项中AllowOverride None 修改为:AllowOverride All
Rewrite 写法
测试htm 跳转到html文件
根目录下建一个.htaccess文件写入一下内容 12RewriteEngine onRewriteRule ^(.*)\.htm$ $1.html
RewriteEngine on 启用重写
RewriteRule ^(.*)\.htm$ $1.html 重写规则 匹配任意开头名称并且以.htm结尾的请求 转到匹配的名称以.html结尾的地址
301/302跳转12RewriteEngine onRewriteRule ^(.*)\.htm$ /$1.php [R=301]
跳转区别
301永久重定向,地址连地址会发生变化
302临时重定向,地址栏不会发生变化
RewriteRu ...
mysql
未读
MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。
未提交读(READUNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)( 隔离级别最低,并发性能高 )。
提交读(READCOMMITTED)。本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前后两次相同的SELECT会读到不同的结果(不重复读)。会出现不可重复读、幻读问题(锁定正在读取的行)
可重复读(REPEATABLEREAD)。在同一个事务里,SELECT的结果是事务开始时时间点的状态,因此,同样的SELECT操作读到的结果会是一致的。但是,会有幻读现象(稍后解释)。会出幻读(锁定所读取的所有行)。
串行化(SERIALIZABLE)。读操作会隐式获取共享锁,可以保证不同事务间的互斥(锁表)。
四个级别逐渐增强,每个级别解决一个问题
脏读 。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据。
不重复读 。解决了脏读后,会遇到,同一 ...
mysql
未读MySQL的复制原理以及流程1、基本原理流程,3个线程以及之间的关联
主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;
从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;
从:sql执行线程——执行relay log中的语句;
2、MySQL中myisam与innodb的区别,至少5点
(1)、问5点不同;
1>.InnoDB支持事物,而MyISAM不支持事物
2>.InnoDB支持行级锁,而MyISAM支持表级锁
3>.InnoDB支持MVCC, 而MyISAM不支持
4>.InnoDB支持外键,而MyISAM不支持
5>.InnoDB不支持全文索引,而MyISAM支持。
(2)、innodb引擎的4大特性
插入缓冲(insert buffer),二次写(double write),自适应哈希索引(ahi),预读(read ahead)
(3)、2者selectcount(*)哪个更快,为什么
myisam更快,因为m ...
Go语言的标准输出流在打印到屏幕时有些参数跟别的语言(比如C#和Java)不同,下面是我整理的一些常用的格式化输入操作。
General
%v 以默认的方式打印变量的值
%T 打印变量的类型
Integer
%+d 带符号的整型,fmt.Printf(“%+d”, 255)输出+255
%q 打印单引号
%o 不带零的八进制
%#o 带零的八进制
%x 小写的十六进制
%X 大写的十六进制
%#x 带0x的十六进制
%U 打印Unicode字符
%#U 打印带字符的Unicode
%b 打印整型的二进制
Integer width
%5d 表示该整型最大长度是5,下面这段代码12fmt.Printf("|%5d|", 1)fmt.Printf("|%5d|", 1234567)
输出结果如下:
12| 1||1234567|
%-5d则相反,打印结果会自动左对齐
%05d会在数字前面补零。
Float
%f (=%.6f) 6位小数点
%e (=%.6e) 6位小数点(科学计数法)
%g 用最少的数字来表示
% ...
使用go读取文件信息,获取文件名、尺寸、权限等信息。 - 使用os.Stat()可以获取文件信息
1f, e := os.Stat(file)
能够读取到的参数12345678type FileInfo interface { Name() string // base name of the file Size() int64 // length in bytes for regular files; system-dependent for others Mode() FileMode // file mode bits ModTime() time.Time // modification time IsDir() bool // abbreviation for Mode().IsDir() Sys() interface{} // underlying data source (can return nil)}
通过file.sys() ...
go array
数组是值类型,赋值和传参会复制整个数组,而不是指针。
数组长度必须是常量,且是类型的组成部分。[2]int和[3]int是不同类型。
支持==、!=操作符,因为内存总是被初始化过的。aq14. 指针数组:[n]*T, 数组指正: *[n]t
go 数组声明与初始化
数组声明
12 var arr [5]intvar arr1 = new([5]int)
初始化赋值
123var arr3 = [5]int{1,2,3} // 未初始化元素值为 0var arr2 = [...]string{"a","b","c"} // 通过初始化值确定数组⻓长度c := [5]int{2: 100, 4:200} // 使⽤用索引号初始化元素
多维数组
12a := [2][3]int{{1, 2, 3}, {4, 5, 6}}b := [...][2]int{{1, 1& ...
大小写转换
func ToUpper(s []byte) []byte //转大写1bytes.ToUpper(str)
func ToLower(s []byte) []byte //转小写1bytes.ToLower(str)
func ToTitle(s []byte) []byte //转大写 标题格式返回1bytes.ToTitle(str)
1234567str := []byte("hello world")//转小写fmt.Println(string(bytes.ToLower(str)))//转大写fmt.Println(string(bytes.ToUpper(str)))//转大写 标题格式返回fmt.Println(string(bytes.ToTitle(str)))
使用指定的映射表将 s 中的所有字符修改为大写(小写、标题)格式返回。
func ToUpperSpecial(_case unicode.SpecialCase, s []byte) [ ...