通过frp的socks5代理实现对内网网页的访问

By admin |

场景

假设内网有一台机器A(linux),机器A运行一个Web应用B,应用B只能通过域名形式进行访问,例如test.com。
内网机器A和外网完全隔离,但是可以通过vpn或远程桌面的形式进行访问操作。
现在需要在个人电脑上直接访问test.com可以直接访问Web应用B。

#假设
有一台中间服务器,运行frp server,细节如下:
frp server 域名为frp.test.com, 端口为7700,token为token
frp server 的5000~5020端口堡垒公网可以访问。

个人常用的linux命令以及参数

By admin |

Find

  • 查找深度

find /var/aegir/projects -maxdepth 3 -name .git

git

  • 指定dir或者说,在目录外执行git

git --git-dir config core.fileMode false

xargs

  • 指定参数

find /var/aegir/projects -maxdepth 3 -name .git|xargs -i git --git-dir={} config core.fileMode false

Apache日志杂谈

By admin |

1. LogFormat可以设置多个预设的日志格式,并设置别名。

可以通过启用remoteip模块来配置转发的客户端IP。

2. AccessLog和CustomLog设置访问日志,后者可以配合rotatelogs进行日志切割处理。该指令可以全局以及vhost生效。

已经在vhost设置的日志,全局不会出现。

同一个指令可以执行多次,生成不同的日志文件名以及格式。

3. 不同的apache版本,rotatelogs程序的路径有区别。

相关参考链接:

Apache日志

日志格式说明(官方文档)

wrk压力测试工具使用注意事项

By admin |
wrk --timeout 10 --latency  -t 1 -c 1 -d10 "https://www.dplor.com/"

1. 如果测试结果中出现大量timeout,使用--timeout参数。因为wrk默认超时时间是2s

2. 添加--latency可以返回响应时间

3. 站点url请以"/"结尾。比如如果压力测试本博客,url是https://www.dplor.com/ 。如果忽略最后一个/,结果会差异很大。

centos 下修改docker网络配置

By admin |

事情起因:

在为客户使用docker运行php-fpm的时候,发现有的可以正常连接服务器,有的不可以。经过诊断发现客户端的ip网段和docker创建的默认docker0网卡网段冲突。

docker0默认的网络一般都是172.17.0.1/24或192.168.0.1/24。如果客户端的ip是172.17.111.1,则这时候访问基于docker部署的应用的时候,会遇到网络问题。


解决的方案,有两种。

1:使用host模式运行docker,但是需要删除默认的docker0虚拟网卡。在下次docker daemon重新启动的时候,又会重新创建这个docker0的虚拟网卡。

2:另一种解决方式,就是修改默认的docker0网络配置,使用另外的网段给docker使用。


如下步骤,是基于方案二的解决步骤,亲测可行。

基于docker容器打印的9*9乘法表

By admin |

闲来无事,折腾docker也是一种乐趣。

步骤相对简单,可以用来建立对docker使用的兴趣,或者用来作为docker感兴趣的入门材料也不错。

1:拉取php7的docker镜像

docker pull php:7.0-cli

2:在当前文件夹创建test.php,内容如下:

<?php
for ($i = 1; $i < 10; $i++) {
	for ($j = 1; $j <= $i; $j++) {
		printf ("%2d * %2d = %2d\t",$j, $i, $i*$j);
	}
	print "\n";
}

3:运行docker镜像

Mac上将brew安装的MySql改用Docker执行

By admin |

docker是最近大热的技术,堪称技术界的网红。本着技术人折腾的本性,尝试将本地的MySql服务器改成用docker执行,本文记录折腾过程,以作备忘。

步骤如下:

1:安装docker

自己找文档去

2:使用mysql官方发布的docker image,命令如下

docker pull mysql/mysql-server:5.7.16 ##(这是本文发布时候MySql最新稳定版,并且最好和本地的Mysql版本一致,否则第三步可能会有问题。)

因为GFW的缘故,这个过程有点漫长。命令执行完之后,执行"docker images"看到有mysql-server字样即表示成功了。


3:运行docker images,有几个注意点

a:端口号问题,默认情况下3306被占用了,所以用其他端口进行映射,比如6603

提高您的效率,使用linux路径变量

By admin |

我们在linux下进行开发过程中,需要经常使用cd命令改变不同的工作目录.在这个过程中,你需要频繁的按tab键来自动补全路径.

其实总结下,我们经常要切换的路径无非就是固定几个.对于drupal开发者,估计50%都是这样的操作:

cd /var/www/drupal/sites/default/modules

这样算下来,你要到这个路径,应该要按键不少于12次,其中包括6次tab键.
我每次进这个路径都很蛋疼,不知道你的感觉如何?

其实linux里面有个叫路径变量的东西,善用这个东西,可以在一定程度上提高你的效率.

如何实现?
编辑 vi ~/.bash_profile;在文件底部加入以下

drupal=/var/www/drupal7
sdm=sites/default/modules
sam=sites/all/modules

保存之后,在执行以下命令:

source ~/.bash_profile

virtualbox 下安装 Ubuntu server的一些经验

By admin |

1: virtualbox 的网络里设置问NAT模式
2: 运行 service networking start
启用网络连接
3: 无法通过apt-get install 新软件?
首先运行apt-get update,然后apt-get install sofeware即可

安装php GD库
apt-get install php5-gd