Nginx 是非常流行的 HTTP/HTTPS 服务器软件,它也可以作为反向代理服务器,邮件代理服务器,可以用于负载均衡,缓存等等。
基本的 Nginx 由 master 进程和 worker 进程组成, master 读取配置文件,并维护 worker 进程,而 worker 会对请求进行处理。
Nginx 有两个主要的分支可供安装,stable 和 mainline 。这两个分支的主要区别可以从下图看出:
stable 分支并不意味着比 mainline 更加稳定可靠,事实上 mainline 更加稳定,因为 Nginx 开发人员会把所有的
Read more ...
今天在插入 MySQL 时遇到如下错误
Incorrect string value: ‘\xF0\x9F\x98\x81…’ for column ‘data’ at row 1
查证之后发现是因为插入的时候字符串中有 emoji,而 emoji 是 unicode 编码,MySQL 当时在建表时选择了 utf8 编码,导致了上述错误。mysql 支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了,因此引出了 utf8mb4 编码。MySQL 在 5.5.3 之后增加了这个 utf8mb4 的编码,mb4 就
Read more ...
如果你第一次听说 Celery,可以去看下之前的 Celery 介绍 了解下 Celery 的基本功能,然后再来看这篇文章。
尽量不要使用数据库作为 AMQP Broker
随着 worker 的不断增多可能给数据库 IO 和连接造成很大压力。更具体来说不要把 Celery 的 task 数据和应用数据放到同一个数据库中。 Docker 上很多 相关的镜像。
使用多个队列
对于不同的 task ,尽量使用不同的队列来处理。
@app.task()
def my_taskA(a, b, c):
print("doing something her
Read more ...
sudo 表示 “superuser do”。它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,绝大部分时候我们用它来以提升的权限来运行命令。
sudo 命令与安全策略配合使用,默认安全策略是 sudoers,可以通过编辑文件 /etc/sudoers 来配置。其安全策略具有高度可拓展性。人们可以开发和分发他们自己的安全策略作为插件。
sudo 与 su 的区别
在 GNU/Linux 中,有两种方式可以用提升的权限来运行命令:
su 命令
sudo 命令
su 表示 “switch user”
Read more ...
这里全部是推广链接,如果你觉得我的文章有用,帮忙点击一下可好?
腾讯云
https://cloud.tencent.com/act/cps/redirect?redirect=10488&cps_key=60232db1ed2e2eb902049749db75573a&from=activity
工具应用
Trello 看板应用
NextDNS
Pomotodo 番茄工作法
Airbnb 民宿
VPS
### DirectSpace
从 14 年开始用,只遇到过一次宕机,虽然是 ov
Read more ...
Git 使用过程中遇到的小技巧,平时没有 commit, merge, branch 用的那么勤快,但是需要时也需要查看一下,因此记录一下,以免忘记。
将其他分支中多次提交合并到 master 的一次提交
开发中经常使用分支开发,因此不可避免的在开发中向 dev,或者 bugfix 分支进行多次提交,而有些提交可能仅仅为了测试,commit message 也没有认认真真写,所以当开发完成,或者 bug 修复完成想要合并到 master 分支时,不希望保留中间糟糕的提交信息,有一种方法是使用 merge 的 --squash 。
而在之前我可能会用
Read more ...
逛博客看到别人在讨论 [[短 URL 的设计实现]],然后偶然间发现了 GitHub 曾经推出 1 过的短域名服务 Git.io
创建短域名
curl -i https://git.io -F "url=https://github.com/einverne"
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
Server: Cowboy
Connection: keep-alive
Date: Sun, 14 May 2017 03:05:40 GMT
Status: 201 Created
Content-T
Read more ...
今天看 JDK 的路径突然发现我在两台机子上,一台装在了 /usr/local/ 目录下,而我自己的 Mint 装在了 /opt/ 目录下。感觉对 Linux 目录结构还需要增加了解,就Google了一下。
/usr/local 和 /opt 目录设计为存放非系统级命令,而 /usr/local 目录一般用来防止管理员通过本地编译安装的程序,比如通过 ./configure; make; make install 等命令安装的程序,该目录的目的就是为了使用户产生的命令不和系统命令产生冲突。
/opt 目录一般用来安装非捆绑的软件程序,每个应用都有其自
Read more ...
在更改 SQLAlchemy Session 从每次请求都创建到共享同一个 Session 之后遇到了如下问题:
StatementError: (sqlalchemy.exc.InvalidRequestError) Can’t reconnect until invalid transaction is rolled back [SQL: ]
或者是
raised unexpected: OperationalError(“(_mysql_exceptions.OperationalError) (2006, ‘MySQL ser
Read more ...
记录一些 SSH 相关的内容,经常使用。
SSH 是 Secure Shell 的缩写,是一个应用层的加密网络协议,它不只可以用于远程登录,远程命令执行,还可用于数据传输。
当然它由 ssh Client 和 ssh Server 端组成,有很多实现,Ubuntu 上就默认安装的 OpenSSH, Client 端叫做 ssh, Server 端叫做 sshd. OpenSSH 只用来做远程登录和命令执行。
免密登录
查看本地 ~/.ssh/ 目录是否有 id_rsa.pub,如果没有,在本地创建公钥
ssh-keygen -t rsa
一
Read more ...