在使用base64对字符串进行加密的时候,发现每次都会在后面出现几个换行符,而且自己也一直都是加密的结果无法解密出来。 通过在网上搜了一下,发现普遍都存在这个情况:base64在超过76个字符的时候,每76个字符会自动加一个换行符,而这个换行符在进行解密的时候也会被算进去。所以需要手动把换行符去掉 encrypt = base64.encodestring(xxxx).replace('\n','')
去掉/n之后,一切都变得正常起来了
Python AES 加密 解密
举例讲解python生成器与迭代器
python有几个比较重要的概念,生成器,装饰器,迭代器,其中生成器跟迭代器很容易弄混淆。 下面已几个例子来进行区分生成器和迭代器
list = [1,2,3,4,5,6,7,8,9,10]
for i in list:
print i
docker建立属于自己的镜像
一台机器部署多个docker
部署多个docker有两种方式,一种是让容器映射端口到宿主机,然后可以直接从外部访问到该端口,一种是利用nginx做转发,容器端口不对外暴露。
端口映射方式
这种是容器在建立的时候,使用-p参数来将容器的端口绑定到宿主机的端口上面,直接输入宿主机ip+端口可以直接访问服务。如果觉得麻烦,也可以使用nginx来做转发,根据不同的域名来转发到不同的端口上面。下面是nginx文件
server {
listen 80 ;
server_name www.iotxing.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8000;
}
}
wordpress访问时带端口号
因为我是使用docker进行的部署,所以一开始直接让wordpress容器映射了8000端口,然后用nginx做了个转发,访问到80端口的请求会自动转发到8000端口。 这样虽然能够让外界访问到服务,但是域名始终会是类似于http://xxx.com:8000/sss,感觉很难看 通过修改nginx配置,wordpress配置成功实现每个容器都是暴露80端口出来,由nginx直接根据域名转发给对应的容器来处理。修改wordpress访问的端口号
docker 修改容器监听端口号
在建立wordpress容器的时候,选择了映射8000端口出来供外界访问,后来换了一种访问方式,详情请见,修改wordpress端口传送门。然后就需要将端口进行修改,但是因为容器里面已经有一些数据了,不想重新建立容器,在sf上面找到了下面的方法可以通过修改docker配置文件的方法来修改端口
1.查看目标容器的container id
docker ps
修改wordpress的访问端口
在刚建wordpress的时候,为了不冲突,选择了8000端口来进行访问,导致后来每次访问网址的时候后面都带了一个端口号。通过我的另一篇文章,可以让一个机器上同时运行多个wordpress服务,而且都是通过80端口进行访问 为了修改端口号,我们需要做两件事情:
- 修改nginx或者apache里面映射的端口
- 修改wordpress数据库里面存储的端口
修改nginx的端口很简单,网上都能找到,我之后再说 我遇到的问题是机器上面能修改的都已经改掉了,但是在访问的时候还是会跳转到带端口号的地址,所以我才意识到还需要修改wordpress数据库里面的地址,不然每次还是会跳转到最初设置时候的地址 修改wordpress端口 登录到wordpress连接的数据库,修改wp-option表中的数据,找到带端口的,把它改掉就行