2018年1月

一、概述

X-Forwarded-For, X-Real-IP, remote_addr是http协议中用来表示客户端地址的请求头。

X-Forwarded-ForX-Real-IP只有请求存在代理时才有值,而remote_addr一直存在。

  • X-Forwarded-For:记录代理服务器的地址,每经过一个代理,该字段会加上一个记录。格式形如:1.1.1.1, 2.2.2.2
  • X-Real-IP:也是用来记录服务器的地址,但是和上面的不同,它不把记录添加到结尾,而是直接替换
  • remote_addr:上一个客户端连接的地址,不存在代理就表示客户端的地址,存在代理就表示最后一个代理服务器的地址

- 阅读剩余部分 -

+
8 rows in set (0.00 sec)


## 二、授权

grant [privileges] on db.table to ''user''@''host''

// 授予用户所有权限
grant all privileges on . to ''maqian''@''%''


## 三、修改用户密码

-- 当前用户
set password = password(''123456'')
-- 非当前用户
set password for ''user''@''host'' = password(''123456'')


## 四、取消授权

revoke [privilege] on db.table from ''user''@''host''


## 五、删除用户

drop user ''user''@''localhost''


### 3.web

以web形式查看,在web服务的时候经常被用到,需要安装gv工具,官方网页:http://www.graphviz.org/。

linux用户使用`yum install graphviz`安装即可,当然,纯命令行界面是不能查看的。

windows用户下载`msi`包安装后需要把安装目录下的`bin`目录添加到环境变量才行。

![](http://ww1.sinaimg.cn/large/005wtJ8cgy1fnapv06eeyj30dx05cdg1.jpg)

如果没有安装gv工具,使用会报错:

> Cannot find dot, have you installed Graphviz?
>
> exec: "firefox": executable file not found in $PATH

### 4.其他

其他的都是以不同形式展现出来,大同小异,以后有时间再测试。

## 四、web服务器监测

在web服务器中监测只需要在`import`部分加上监测包即可:

import(

_ "net/http/pprof"

)


当服务开启后,在当前服务环境的`http://ip:port/debug/pprof`页面可以看到当前的系统信息:

![](http://ww1.sinaimg.cn/large/005wtJ8cgy1fnaq36qbgvj3095075t8k.jpg)

点击查看具体的信息:

![](http://ww1.sinaimg.cn/large/005wtJ8cgy1fnaq36puvbj30s00c3jrv.jpg)

通常可以对服务器在一段时间内进行数据采样,然后分析服务器的耗时和性能:

go tool pprof http://:/debug/pprof/profile


使用该命令后会对服务进行30s的采样,这段时间内可以尽量多使用web服务,生成多一些统计数据。
go tool pprof http://127.0.0.1:8080/debug/pprof/profile
Fetching profile from http://127.0.0.1:8080/debug/pprof/profile
Please wait... (30s)
Saved profile in \pprof\pprof.127.0.0.1.samples.cpu.001.pb.gz
Entering interactive mode (type "help" for commands)
(pprof) top
3870ms of 4800ms total (80.62%)
Dropped 37 nodes (cum <= 24ms)
Showing top 10 nodes out of 66 (cum >= 110ms)
  flat  flat%   sum%        cum   cum%
1230ms 25.62% 25.62%     1300ms 27.08%  runtime.mapaccess1_faststr
 860ms 17.92% 43.54%      860ms 17.92%  runtime.memclrNoHeapPointers
 810ms 16.88% 60.42%     1010ms 21.04%  runtime.scanobject
 190ms  3.96% 64.38%      190ms  3.96%  runtime.heapBitsForObject
 160ms  3.33% 67.71%      190ms  3.96%  strconv.ParseInt
 140ms  2.92% 70.62%     1720ms 35.83%  business_sets/haoxingdai_qiangdan/server/handler.makeOrder4Replace
 140ms  2.92% 73.54%     1990ms 41.46%  runtime.mallocgc
 120ms  2.50% 76.04%      120ms  2.50%  runtime.heapBitsSetType
 110ms  2.29% 78.33%     1680ms 35.00%  runtime.mapassign
 110ms  2.29% 80.62%      110ms  2.29%  runtime.memhash

使用`web`命令后会生成采样时间内每个系统调用的耗时分析,可以用来分析web服务的响应时间都用在哪了:

![](http://ww1.sinaimg.cn/large/005wtJ8cgy1fnaqct4d6fj30qa0d6mz8.jpg)

“挂起”是虚拟机里面常用的操作,也是一个非常实用的功能。挂起和关机不同,挂起是把当前的系统状态都封存起来,相当于游戏里面的存档一样,下次直接从这里开始。而关机和平常的机器一样,关闭系统。

通常关闭虚拟机都会选择“挂起”而不是“关机”,因为关机了下次开启要等待一段时间,而挂起则不用,一来方便,二来省事。

但挂起后的一个问题是:系统被挂起后,系统的时间也被暂停,导致下次开启虚拟机时间不准确,需要手动输入命令同步。

每次都这样很麻烦,这里有个简单的方法可以解决这个问题。

- 阅读剩余部分 -

准备上传一些照片到博客上来,但是现在手机像素都比较牛逼,一张照片有3-5M。

博客开了CDN加速,一个页面二十张图的话加载一次差不多就是100M流量了,巨额的流量费用有点消耗不起。

所以只能把图片缩小了,大部分的P图软件都有这个功能,但是美中不足的是都只能一张一张缩小,不能批量缩小(虽然美图秀秀有个批量修改尺寸大小的功能,但是尺寸缩小了图片看起来就不舒服,拒绝),这样明显是不行的。

最后百度一番,使用PhotoShop 的录制动作功能完成。

方法

  • 打开PS,点击窗口-动作弹出一个动作框。

- 阅读剩余部分 -