python3包urllib和requests的变化

 

 

json_data = {
‘response_type’: ‘code’,
‘username’: ‘username’,
‘password’: ‘password’}

requests.post(‘https:/xxx/v1/api/users/token’), json=auth_data, params=auth_data)
#其中json,params参数都得填写json格式数据

 
import urllib
import urllib.request
urllib.request.urlopen(“https://www.baidu.com”).read().decode(‘utf-8’)
#记得导入urllib.request

redmine docker安装

环境: MacOS,  Docker Desktop

目前使用redmine作为项目管理和wiki管理的软件。使用外部mysql作为资料存储的方式。

外部Mysql数据库创建用户和数据库:
CREATE USER ‘redmine’@’%’ IDENTIFIED BY ‘redmine’;
CREATE DATABASE IF NOT EXISTS `redmine` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `redmine`.* TO ‘redmine’@’%’;
#docker0 network interface is associated with the default docker network bridge
$ docker network inspect bridge –format='{{json .IPAM.Config}}’
不过没啥用,只能用ifconfig中查找en0的网址作为DB_HOST

#下载image
docker pull sameersbn/redmine

#启动container
docker run -it –name=redmine -d \
–env=’DB_ADAPTER=mysql2′ \
–env=’DB_HOST=10.1.1.68′ –env=’DB_NAME=redmine’ \
–env=’DB_USER=redmine’ –env=’DB_PASS=redmine’ \
–volume=/Users/hcm-b0070/redmine:/home/redmine/data \
–publish=8085:80 \
–env=’REDMINE_PORT=8085′ \
sameersbn/redmine:latest
注意: 第一個是 MySQL 的 LISTEN IP,預設可能是 127.0.0.1,這邊將它設定成 0.0.0.0。 這部份從 /etc/mysql/my.cnf 修改 bind-address = 127.0.0.1 改為 bind-address = 0.0.0.0 第二是要考慮容器連接到外部的 MySQL 所走的路由閘道位置,預設應該是 docker0 這張虛擬網卡的 IP。 另外/Users/hcm-b0070/redmine代表host主机目录,/home/redmine/data代表docker内部目录

找回wordpress丢失已久的后台链接功能

最近想增加友情链接功能,发现最新的WP不知哪个版本把链接功能去掉了,WTF,只能重新找回这个功能。

仪表盘 — 外观 — 编辑

在模版函数(functions.php)的代码最后一行添加
add_filter( ‘pre_option_link_manager_enabled’, ‘__return_true’ );

最后点击“更新文件”,即可看到久违的链接图标

linux 安装使用supervisor和superlance服务监控

环境:CentOS Linux release 7.4

pip install supervisor

#加载配置,修改如下
echo_supervisord_conf > /etc/supervisord.conf
mkdir /etc/supervisord.d/

vi /etc/supervisord.conf

[include]
files = /etc/supervisord.d/*.ini

#start service
supervisord -c /etc/supervisord.conf

#write a program config
vi /etc/supervisord.d/SimpleHttp.ini

[program:SimpleHttp]
command=python2 -m SimpleHTTPServer 9000
directory=/root ;执行command之前,先切换到工作目录
user=root ;使用oxygen用户来启动该进程
autorestart=true ;程序崩溃时自动重启,重启次数是有限制的,默认为3次
stdout_logfile = /tmp/simple_http.log
loglevel=info

#roload program config, start service
supervisorctl update //配置文件修改后使用该命令加载新的配置
supervisorctl status

#配置服务报警
pip install superlance

#Supervisor 事件发送到飞书
cp feishu-alert/event.conf /etc/supervisord.d/event.ini
supervisorctl update
注意:
1. 更给任何脚本时需执行以下命令,否则更改不生效
supervisorctl reload

参考:
https://www.jianshu.com/p/0b9054b33db3
https://cloud.tencent.com/developer/article/1414822
https://github.com/cmboss/supervisor-event-to-dingtalk-alert

Excel或Python生成随机字符串

Excel:

随机小写字母:=CHAR(INT(RAND()*25+97))
随机大写字母:=CHAR(INT(RAND()*25+65))
随机数字:=CHAR(INT(RAND()*9+48))
随机数字大小写字母:IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97))))
混合6位:=CONCATENATE(IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))))

 

Python:

''.join(random.sample('abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789', length))

安装certbot并申请ssl证书

  1. 添加存储库  add-apt-repository ppa:certbot/certbot
  2. 安装CertbotNginx软件包  apt install python-certbot-nginx certbot
  3. 使用Certbot自动完成SSL证书申请和配置,Certbot会自动修改你的nginx配置文件  certbot –nginx -d example.org
  4. 自动更新证书日期,写个脚本,包含如下内容

service nginx stop

certbot renew –dry-run

certbot renew

service nginx start

Mac OS brew更新卡住

在使用mac笔记本安装软件时需要更新brew update,但一直卡住。

解决方法1:  在/usr/local/bin/brew 添加 HOMEBREW_NO_AUTO_UPDATE=1

或者 HOMEBREW_NO_AUTO_UPDATE=1 brew install somepackage

方法2:  brew update –debug –verbose ,然后 brew update –force