Submitted by admin on 2016, December 7, 11:33 PM
github | 评论:0
| Trackbacks:0
| 阅读:829
Submitted by admin on 2016, December 7, 11:31 PM
1、通过yum安装
需要root或者能sudo的权限
yum包更新到最新
$ sudo yum update
添加Docker yum源
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安装Docker包
$ sudo yum install docker-engine
启动Docker守护进程
$ sudo service docker start
通过测试镜像运行一个容器来验证Docker是否安装正确
$ sudo docker run hello-world
2、通过脚本安装
需要root或者能sudo的权限
yum包更新到最新
$ sudo yum update
运行Docker安装脚本
$ curl -sSL https://get.docker.com/ | sh
这个脚本会添加docker.repo仓库并且安装Docker
启动Docker守护进程
$ sudo service docker start
通过测试镜像运行一个容器来验证Docker是否安装正确
$ sudo docker run hello-world
创建一个Docker用户组
docker守护进程绑定在Unix socket 而不是 TCP 端口。默认情况下Unix socket属于root用户和具有sudo权限用户的使用范畴。出于这个原因,docker守护进程需要一直在root用户下面运行。
To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.
为了避免运行docker命令的时候需要使用sudo命令,创建一个叫docker的Unix用户组并将需要运行docker的用户添加进去。当开始运行docker守护进程,会令docker用户组的成员拥有Unix socket的读写权限。
创建docker用户组并添加用户:
1.需要root或者能sudo的权限
2.创建docker用户组并添加用户
sudo usermod -aG docker your_username
3.退出并且登录到your_username,如果在your_username下也建议退出再重新登录一次,这确保您的用户正在运行正确的权限。
4.验证运行docker已不再需要sudo命令
$ docker run hello-world
开机运行docker
$ sudo chkconfig docker on
docker | 评论:0
| Trackbacks:0
| 阅读:773
Submitted by admin on 2016, December 7, 11:27 PM
之前的一段时间,突然这个后台的编辑器用不了了,发的文章也没有格式了,很不好看,慢慢,也就没有更新了
那时,也有找过原因,还以为是服务器的原因,但没找到也没解决
时间好快,又一年了
最近,开始学习,发现,没个博客记录些东西,还真麻烦
所以,再次偿试解决
在本地安装了个新的,也是一样的问题
所以,觉得,应该是服务器的问题了,而程序或是兼容性的问题
好吧,看代码
没多久,还真找到原因了
fckeditor_php5.php
这个文件里,有一个判断浏览器信息的,默认找不到匹配信息,返回假,所以没有编辑了
只需改为真,就OK了
又开始更新吧
一个小插曲
在刚看代码时,想百度搜索下,看有没人遇到这个问题或有没解决办法,毕竟觉得,用这个博客程序的人,还是有一些
但没找到,却无意间发现,这个程序的作者入狱了,还判了5年,挺震惊,也挺悲剧的
生活闲谈 | 评论:0
| Trackbacks:0
| 阅读:794
Submitted by admin on 2015, December 11, 10:22 AM
2,apache配置:
用mod_rpaf来获取IP的
所以需要安装这个模块
下载:http://stderr.net/apache/rpaf/download/
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
配置apache:
在 httpd.conf中添加
LoadModule rpaf_module libexec/apache2/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.1.1 #这个是前段的IP,可不是后端的IP哦
RPAFheader X-Forwarded-For
nginx | 评论:0
| Trackbacks:0
| 阅读:939
Submitted by admin on 2015, September 30, 12:00 PM
列出rpm包的内容:
rpm -qpl *.rpm
解压rpm包的内容:(没有安装,就像解压tgz包一样rpm包)
rpm2cpio *.rpm | cpio -div
linux | 评论:0
| Trackbacks:0
| 阅读:1021
Submitted by admin on 2015, July 30, 5:41 PM
yum install -y yum-downloadonly
yum install php-mysql -y --downloadonly --downloaddir=/opt
rpm -ivh --force --nodeps php-mysql-5.3.3-22.el6.x86_64.rpm
linux | 评论:0
| Trackbacks:0
| 阅读:1017
Submitted by admin on 2014, October 9, 5:57 PM
由于习惯于使用UDP协议的DNS,很多人不知道其实DNS也是支持TCP协议的,功夫网只对UDP的DNS进行了劫持和污染,TCP DNS则可畅通无阻。
唯一的问题就是,浏览器、操作系统等都无法直接使用TCP DNS,我前一段时间一直在使用Tcp-DNS-proxy解决这个问题。这是一个基于Python的小程序,可以通过TCP连接DNS服务器,并在本地监听UDP53端口,实现TCP DNS的中转,程序简单运行方便,比较推荐。
不过Tcp-DNS-proxy本身也存在着一些问题,比如没有完整的缓存机制,导致查询速度较慢,程序稳定性和抗并发性一般。于是我考虑能否有更加稳定的解决方案?
最终还是选定了BIND这一老牌的DNS服务器,利用forward功能可以比较容易的实现对DNS的转发。Ubuntu 14.04下修改配置如下:
/etc/bind/named.conf.options
...
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forward only;
forwarders {
8.8.8.8;
8.8.4.4;
};
allow-query {
any;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
...
仅仅这样是不够的,我们需要的是TCP DNS转发(代理),但经过测试BIND会首选UDP解析进行递归查询,经过搜索Google、查看官方文档、查看源代码,我发现从配置上修改这条路是行不通的。
没有办法,只能动手改源代码了。不过还好,最近嵌入式课程实验我尝试把NginX移植到了ARM平台上,对于裁剪代码还是有心理准备的。
经过几个小时的努力,翻看了几个重要的.c文件,最终我确定了BIND9(这里选用bind-9.10.0-P1)发出查询的函数,是位于lib/dns/resolver.c文件第1403行的fctx_query函数,节选其中1446至1451行如下:
query->mctx = fctx->mctx;
query->options = options;
query->attributes = 0;
query->sends = 0;
query->connects = 0;
query->dscp = addrinfo->dscp;
其中query->options = options;这一行中options利用位运算存储了是否使用TCP连接的变量DNS_FETCHOPT_TCP,我们需要做的就是将这一行改为:
query->options = options | DNS_FETCHOPT_TCP;
强制让BIND使用TCP进行递归查询。之后进行编译,覆盖二进制文件即可,在此就不再赘述。效果如下:
WireShark截包
可以看到,第1、36报文是客户端查询BIND服务器,为UDP协议;其他报文为BIND查询8.8.8.8,为TCP报文(颜色不同)。
dns | 评论:0
| Trackbacks:0
| 阅读:1204
Submitted by admin on 2014, April 8, 11:00 PM
在nginx.conf中配置
http {
......
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
......
}
这样就可以实现GET,POST,OPTIONS的跨域请求的支持
也可以 add_header Access-Control-Allow-Origin http://test.51testing.com; --指定允许的url;
nginx | 评论:0
| Trackbacks:0
| 阅读:1187