安装 vim
pkg install vim
安装 sshd
pkg install openssl openssh -y
echo "Port 10022 >> ~/../usr/etc/ssh/sshd_config"
sudo ssh-keygen -t rsa -f ~/../usr/etc/ssh/ssh_host_rsa_key
sshd
pkg install vim
pkg install openssl openssh -y
echo "Port 10022 >> ~/../usr/etc/ssh/sshd_config"
sudo ssh-keygen -t rsa -f ~/../usr/etc/ssh/ssh_host_rsa_key
sshd
AI 设计 – http://Uizard.io
AI 会议 – http://tldv.io
AI 网站 – http://durable.co
AI 提示 – http://wnr.ai
AI 博客 – http://hashnode.com/ai
AI 编辑 – http://Cohesive.so
AI 艺术 – http://imgcreator.ai
AI 剪辑 – https://opus.pro
AI 图片 – http://tryleap.ai
AI 邮件 – http://Chatgptforgmail.com
Step 4 is currently in process. Please reload this page later
解决方法:
nextcloud路径/data/updater-xxxxxxx文件夹
2021/11/16 22:23:50 [E] [control.go:158] [dbf0bbaf2a7be98c] work connection closed before response StartWorkConn message: read tcp 192.168.199.111:59690->xx.xx.xx.x:443: read: connection reset by peer
当天流量太大,网络运营商切断了链接,过一天就好了。
同学们大家好,今天由我来同大家一起,通过大白话的方式,聊一聊分布式系统的那些事儿。
到今天为止,分布式系统已经是一种非常基础或者说非常通用的一种技术了。在互联网应用的后端服务中,分布式技术几乎无所不在,那么到底什么是分布式系统?我们为什么要用分布式系统?它到底有哪些优势?以及我们今后工作中面临的一些问题,如何通过设计分布式系统,解决这些问题呢。围绕着这些问题,我们在这门课中展开来讨论。
回到这门课的最开始的一个问题,什么是分布式系统?在给出这个定义之前,我们先来看一下一个后端服务的演化过程,拿一个外部网站来举例,最早的时候,它只部署在一台机器上,这一台机器承受的用户的数量是很有限的,一台服务器大概只能承受住300个人同时进行访问,但是用户量会慢慢的变大,从最开始的300到后来的1000人,在到后来的几万人。中国现在大概有接近10个亿的网民,这么1个数量级的用户数,我们这么一台服务器绝对是承受不住的,这个时候应该怎么办?
一般想到的它有两种方法,我们说的第一种方法升级我们的服务器,把我们的服务器从一个性能比较差的变成一个性能比较好的,它数据的存储本来是比如说只有几百g然后把它变成几个t这么一个容量的磁盘放到这个服务器里边去,这样子也能解决问题,但是它只解决了比如说用户数从300到1000这么一个问题,但是我们的用户数如果是几个亿,那个时候怎么办?
我们会有一个第二种方法,就是用几千台机器,然后让几千台机器,然后相互协作,去满足几亿用户的这么一个数量的这么一个访问,所以这个方法基本上已经给出了一个分布式系统的一个雏形了,由此我们其实是可以引出来,那么分布式系统到底是一个什么样的定义。然后出自分布式的概念与设计这么一本书,就是国外的一个经典的用来用来介绍分布式的这么一本经典巨著。
他说分布式系统是指位于联网计算机上的组件,仅通过传递信心进行通信和协调行动的系统。同时他又给了这么一句话叫分布式系统,它是一个即便是已经崩溃了部分机器,但是它仍然能够完成工作这么一个系统。除此听到这么几个定义,大家可能还是感觉比较细。
我来给大家举一个例子,我所在的智能平台部,我所负责的系统就是一个服分布式系统效果广告的预估服务,那么这个预估服务现在有多少台机器,这个事情我给大家说一下,大概是就是说大概是有3000台左右的机器,那么我们的小广告服务大概有3000台机器这么一个数量级的,而且这3000台机器各有分工,相互协作,然后能够满足我们现在广告这么一个业务。
同时它也满足这么一个定义。如果只有一部分机器宕机,那么它仍然能够满足效果广告,预估的工作,而不至于整个服务都不可用。
今天的例子,介绍什么是分布式系统,我们就是到此为止,下节课我们会去探索分布式系统它面临哪些技术挑战。谢谢大家。
测试的目的是为了保证在线服务的可用性、稳定性、正确性、找到并能消除系统的性能瓶颈。
后端服务的测试一般包含下面几个方面:
除此之外,服务于算法的工程团队有一种特有的测试需求,就是一致性测试,包含如下两项:
因为上面前两点原因,当前团队无法使用当前业界里优秀的开源测试工具或平台,比如JMeter、iago 、Gatling、Grinder、Locust,还有阿里云的性能测试PTS等。因为这些工具或平台仅适用于http协议,无法满足当前团队使用的网络框架和rpc协议。
那行业中有没有其他公司做过类似的工具呢?有的公司在这方面进行了尝试,比如美团技术团队自有一套针对thrift的压测工具,可惜并不开源,参考https://tech.meituan.com/2016/01/08/loading-test.html。
最终团队只能自己开发测试工具。
团队在从0到1开发在线服务过程中的同时,也在搭建团队自己的开发测试工具。工具不停地被完善,其中过程包含了下面3个阶段。
团队初期是通过编写测试脚本,来构造测试用例。用随机数生成的方式或通过简单的参数样本集合构造请求。
压力测试则是通过编写小工具来进行模拟上游服务的大量请求。
脚本和工具虽然简陋,但满足了项目初期的测试需求。这种测试方法持续了比较长的时间,逐渐发现如下问题:
通过拷贝线上少部分流量,落地到文件,在有测试需求时,把文件中的请求发送给待测试的服务。
这种方式存在如下问题:
除了流量回放工具,团队也开发了专用的测试工具,比如面向运载算法模型的在线服务。
运载算法模型的在线服务是算法工程团队运维最多的服务,占用服务器达几千台,加载近百个版本的模型。模型频繁的迭代,需要最频繁的测试。
测试最多的方面为
这里测试一致性的工具有
原理是,搭建线上和测试两套环境,同时发送相同流量,验证两个环境返回的字段、打分的不同。对于打分,会统计出不同精度下的差异率。差异结果,会通过监控系统的曲线展示出来。
原理为,保留每次请求的特征快照。对测试环境发起线上旁路流量,测试环境也同时落下特征快照,对两处快照做join之后,对比快照的不同。
专用工具实现了白屏化、可视化,但缺少通用性。不能适用于其他模块,也难以推广给其他团队使用。
为了解决自动化、可视化、平台化的问题,通用的压力测试工具被提出。
依据行业内积累的经验指导,尽管专用测试工具总会比通用测试工具在便捷性和功能性上要好于通用性工具。但为了节省重复在测试工具上的开发,最大可能赋能其他团队,通用的测试工具还是有一定意义。
比较容易实现的是压力测试工具。
如何设计一套通用的压力测试工具呢?
通用的压力测试工具的基本流程,即流量的录制和回放。
但除了基本的流量回放,需要满足下面几点。
包含两方面:
前端管理页面由html+css+js实现;流程、存储、进程的管理的实现由脚本语言,比如python来完成;进程的所需的资源交由K8S调度和管理。
压测结果通过图表展现,常见的指标有:
一般由时序数据库和图表展示工具实现,时序数据库可以选择使用Prometheus/indexdb等,图型展示使用grafana等。
也可以使用公司自研的数据采集和展示系统。
需要满足的需求多租户和组件化。
多租户是为了让压力测试平台供多人使用,也可以做到用户间测试资源进行隔离和共享。
组件化,是为了让通用的压力测试平台更简单地支持更多c++在线服务。具体的的实现方法如下:
注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)
在运行python命令前添加参数 PYTHONIOENCODING=utf-8 python test.py 最有效
此文内容为未经整理的技术工程碎片。
原因:
苹果曾经发布新闻,到2017年1月1日为止,IOS上所有app只能支持https链接。因此几乎所有在IOS有app和业务的公司,都赶在截止时间升级自己的app和后端系统。
我们公司的广告系统也不例外,也需要升级。正巧2016年12月29号的团队每周技术分享,轮到了我,于是把HTTPS的相关知识简单整理了一下,分享了出来。
PPT 地址如下, 可直接进行下载,无需积分。仓促之作,粗陋难免,哪怕能帮助到1个人,作者心里也是高兴的。
http://www.docin.com/p-1827559135.html
具体内容在PPT中。
个人认为会的,尤其是看到苹果对https热衷,https非常可能会成为web传输协议的主流。
自己负责的项目是广告投放系统,结合自己的经历,总结以下几点注意的地方。
苹果曾宣布2017年1月1号为截止时间。虽然之后宣布延期,但是很多app,已经发布只支持https的新版本。
对广告投放系统来说也要提前升级。
windows安装程序无法将windows配置为在此计算机的硬件上运行
不要关闭对话框,按下shift和f10键。弹出一个cmd,输入cd oobe 回车,再输入msoobe.exe回车,会弹出另一个界面,按照提示进行即可,完成后回到错误弹窗界面单击确定,系统重启。
ssh -fCNR 10022:localhost:22 work@server.zuocheng.net
10022 为 server.zuocheng.net 机器上端口,用来与 MiniPC 机器上的22端口绑定。
ssh -fCNL *:8022:localhost:10022' localhost
20022 为本地转发端口,用以和外网通信,并将数据转发到 10022,实现可以从其他机器访问。其中的*表示接受来自任意机器的访问。
ssh -p 8022 work@server.zuocheng.net
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub work@server.zuocheng.net
autossh -M 20021 -NR 20022:localhost:22 work@server.zuocheng.net
/bin/su -c '/usr/bin/autossh -M 20021 -NR 20022:localhost:22 work@server.zuocheng.net' - work
放入 /etc/inid.d/autossh
source /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit -y
安装第三方组件,可以参考 https://www.bilibili.com/read/cv20917247
Twenty Eleven, 简约风格
使用了WP-Markdown 插件,可惜不支持GitHub 扩展的特性
在主题目录 wp-content/themes/twentyeleven/style.css 中,h3 元素样式添加 font-weight: bold;
更改front-size为12px。
h3 {
font-weight: bold;
front-size: 12px;
}
WP Super Cache 插件
修改主题中文件,在 content.php 中,把调用the_content函数的语句注释掉
修改主题中文件,content-single.php,
在content-entry 里添加如下代码
把xml 注释去掉,修改aioseop_sitemap.php
//$this->comment_string = __( Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper Fi Web Design on %s, 'all_in_one_seo_pack' );
在数据库中,把wp_options.link_manager_enabled项设置为1
使用了 let’s encrypt 的证书
修改wp-config.php,添加命令:
define("FS_METHOD","direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
Nginx 和 PHP ,PHP 和 Mysql 通信都使用Unix domain socket,并且把套接字文件放到内存文件系统/dev/shm下面
添加mysqld配置
[mysqld] wait_timeout=120 interactive_timeout=120
把数据表导出
[admin@src]mysqldump -uroot -password BLOG > /tmp/DB.sql
scp 到目标机 scp /tmp/DB.sql target:/tmp
在目标机导入数据库
mysql>use DB; souce /tmp/DB.sql;
配置权限
grant all privileges on DB to user@'%' identified by 'password';
grant all privileges on DB.* to user@'%' identified by 'password';
flush privileges;
msyql 8之后版本
CREATE USER 'user_name'@'%' IDENTIFIED BY 'pass';
grant all privileges on *.* to 'user_name'@'%';
flush privileges;
服务器端利用爬虫把页面内容抓取下来,然后更新服务器配置。
Markdwon 没有特殊的特殊标记的首行缩进的标识。
如果要达到首行缩进有如下方法:
<div style="text-indent: 2em"> <div>
 
(一个空白位) 或者  
(半个空白位) 或者 
(不断行的空白)1.懒!懒!懒! 2.总是企图一劳永逸。
Baidu Application Engin 中搭建网站时,如果要使用MVC框架,往往需要设置单入口。然而BAE的web服务程序(apache或者lighthttp)对用户是透明的。开发者不能通过修改配置文件,也不能通过修改.htaccess文件来实现单入口。但BAE在应用的根目录提供了app.conf这个配置文件,通过修改它可以实现重写、设置缓存时间的功能。 下面的这个app.conf,将所有,除文本文件和图片、视频文件等所有请求,都重定向到index.php。 欢迎大家补充~
handlers:
expire : .jpg modify 10 years
expire : .swf modify 10 years
expire : .png modify 10 years
expire : .gif modify 10 years
expire : .JPG modify 10 years
expire : .ico modify 10 years
url : ^(.*\.js)$
script : /$1
url : ^(.*\.css)$
script : /$1
url : ^(.*\.jpg)$
script : /$1
url : ^(.*\.gif)$
script : /$1
url : ^(.*\.jpeg)$
script : /$1
url : ^(.*\.png)$
script : /$1
url : ^(.*\.bmp)$
script : /$1
url : ^(.*\.swf)$
script : /$1
url : ^(.*\.ico)$
script : /$1
url : ^(.*\.JPG)$
script : /$1
url : ^(.*\.txt)$
script : /$1
url : ^(.*)$
script : /index.php