Git 客户端基本配置项Git .gitignoreVIM 基础配置VS Code 基础配置VS Code 快捷键VS Code 插件EditorConfig for Visual Studio CodeClang-FormatC/C++ 开发环境简易配置Typora Han 主题配置Makefile 模板Lets Encrypt 证书制作、使用证书制作使用 snap 制作证书Amazon Linux 2023 安装 certbot综合使用安装 CURL 支持 http2基础环境安装依赖库安装 Python 2.7.3安装 nghttp2 v1.14.x安装 CURL 7.46.0确认 CURL 版本以及是否支持 http2Mail 发送邮件Visual Studio Code 配置 GoLang 开发环境Shell 终端提示符设置阿里云挂载磁盘阿里云添加 swap 交换分区阿里云系统盘扩容阿里云数据盘扩容AWS CloudFrontPrometheus+Grafana 监控告警安装 prometheus安装 grafana配置监控面板配置告警配置钉钉告警通道配置邮件告警通道查看告警通道列表配置告警规则DockerHub 上传镜像CentOS 安装 vsftpdCentOS 安装 Apache Tomcat 9,支持 http2CentOS 安装 VNCCentOS 安装 Python 3.5CentOS 安装 ICECentOS 安装 GCC 4.9.2CentOS 安装 MySQL 5.7CentOS 安装 Redis 4.0.9CentOS 安装 RabbitMQCentOS 安装 SiegeCentOS/Ubuntu 安装 wrkCentOS 安装 pipCentOS 安装 MySQLdbCentOS 安装 protobuf 3.5.1CentOS 配置静态 IPCentOS 安装 locust 0.8.1CentOS 安装配置 zookeeper/kafkaGerrit 使用者初始配置CentOS 安装 gSOAP 2.8.18CentOS 安装 flaskCentOS 安装 telnetCentOS 安装 fioCentOS 配置 NGINX 用户认证CentOS 安装 TronCentOS 升级内核CentOS 安装 envoyCentOS 安装 nodejs/npmCentOS 安装 monoCentOS 设置时区Amazon Linux 2023 安装 iftopUbuntu 替换源Ubuntu 安装 golangUbuntu 安装 bitcoinUbuntu 安装 WaykiChainUbuntu 安装 ethereumUbuntu 安装 luaUbuntu 安装搜狗拼音输入法Ubuntu svn 提交编辑器Ubuntu 安装 vim 8.1Ubuntu 禁用 ipv6Ubuntu 设置语言环境为中文Ubuntu 设置静态 IPUbuntu 安装 eosUbuntu 安装 fioUbuntu 安装 NebulasUbuntu 安装 shadowsocks-libevUbuntu 安装 ncWindows 安装 remix-ideWindows 安装 julia 1.0.0Windows 配置 GPG 签名 commitWindows 安装 bitcoin准备编译环境安装依赖库安装 bitcoinWindows 安装 ethereumWindows 安装配置 nodejs/npmWindows 安装 Git Bash 支持 wget/make/protocwgetmakeprotocMac 安装 libraiOS APP 使用企业证书签名后分发gitlab 极狐私有部署gitlab 极狐安装、配置gitlab 邮件配置<可选>配置外部访问域名、启用 https配置 ci/cdaws ec2 ami 制作


Git 客户端基本配置项

Git .gitignore

VIM 基础配置

VIM 配置文件位置:~/.vimrc

点此下载:vimrc(下载后重命名为 .vimrc)

VS Code 基础配置

入口:文件 -> 首选项 -> 配置

备注:前两个配置项根据实际情况设置

VS Code 快捷键

VS Code 插件

EditorConfig for Visual Studio Code

设置文件编码、换行、去除行末空白、Tab 等

  1. 安装插件

  2. 项目文件夹根目录创建这个文件 .editorconfig,内容如下

Clang-Format

  1. 安装插件

  2. 设置编码风格(以谷歌编码风格为例,可以个性化调整)

setting.json 中添加如下配置项即可

C/C++ 开发环境简易配置

Typora Han 主题配置

在 Typora 主题配置目录新建 han,将如下内容保存为 han.css点此下载,目录如下所示

Makefile 模板

Lets Encrypt 证书制作、使用

证书制作

  1. 获取 certbot 客户端

  1. 生成证书

同时生成支持 i-deer.com 和 www.i-deer.com 的证书

  1. 查看证书文件

  1. 证书更新

证书默认 90 有效,更新不能太频繁,同一域名一周之内最多只能更新 5 次

使用 snap 制作证书

certbot-auto 不再支持所有的操作系统。certbot 团队认为维护 certbot-auto 在几乎所有流行的 UNIX 系统以及各种环境上的正常运行是一项繁重的工作,加之 certbot-auto 是基于 python 2 编写的,而 python 2 即将寿终正寝,将 certbot-auto 迁移至 python 3 需要大量工作,这非常困难,因此团队决定放弃 certbot-auto 的维护,certbot 团队使用了基于 snap 的新的分发方法。

  1. 安装 snapd

  1. 启用 snapd.socket

  1. 创建 /var/lib/snapd/snap 和 /snap 之间的链接

  1. 退出账号并重新登陆,或者重启系统,确保 snap 启用

  2. 更新 snap

  1. 卸载已安装的certbot。

如果之前在系统上已经部署过 certbot,则需要先将其进行卸载。

a. 卸载certbot

b. 根据 certbot 安装位置删除相关文件

c. 删除 certbot 附加软件包

安装certbot

  1. 通过snap安装certbot。

  1. 创建/snap/bin/certbot 软链接,方便 certbot 命令的使用

  1. 生成证书

cert-name 指生成的证书文件的名称,可以与域名无关

certbot 使用第一个域名作为证书中的 CN(common name),如果先前申请证书由于子域名传参的顺序导致 CN 与预期不符合,可以通过强制更新重新调整域名参数顺序达到更改 CN 的目的

  1. 更新证书

Amazon Linux 2023 安装 certbot

综合使用

基础环境:Nginx 1.12.2/CentOS 7.6

域名解析:i-deer.com(同时添加 @ 和 www 两条解析)

证书:同时支持 i-deer.com 和 www.i-deer.com

目标:

即,http://i-deer.comhttp://www.i-deer.comhttps://i-deer.comhttps://www.i-deer.com 最终都跳转到 https://i-deer.com

安装 CURL 支持 http2

基础环境

安装依赖库

安装 Python 2.7.3

nghttp2 依赖 Python 2.7.x

安装 nghttp2 v1.14.x

CURL 依赖 nghttp2 提供对 http2 的支持,因此,需要先安装 nghttp2

安装 CURL 7.46.0

确认 CURL 版本以及是否支持 http2

Mail 发送邮件

  1. 配置 /etc/mail.rc

  1. 发送邮件

Visual Studio Code 配置 GoLang 开发环境

  1. 官网下载 GoLang 安装包,安装之后 go version 查看版本

安装时勾选添加环境变量,不需要单独添加环境变量;否则,需要新添加环境变量,如下:

计算机(右键)-> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量

  1. 设置环境变量 GOPATH,具体操作如步骤 1 所示,值为后续你存放源码的目录,如 D:\go

  2. 打开 Git Bash,设置 Go Module 全局代理,依次安装如下依赖项

  1. 安装 VS Code

  2. 安装 VS Code 各种插件,打开 VS Code,按 Ctrl+Shift+P,输入 install ext,输入 go,选中安装即可

VS Code 支持各种语法,同理,安装对应的插件即可,如,需要支持 C++,安装 C++ 插件即可

Shell 终端提示符设置

目标:让 shell 只显示最后一个目录名而不显示完整的路径,并且不显示主机名

  1. 编辑 ~/.bashrc,将所有的 PS1 中的 \w 替换为 \W,并去掉 @\h

  2. 重新打开终端即可生效

修改前

修改后

阿里云挂载磁盘

  1. 查看系统分件格式

  1. 查看未挂载磁盘

  1. 挂载磁盘

如果挂载出现如下错误:

需要对磁盘进行初始化,如下所示:

  1. 确认已挂载

卸载磁盘 umount /data 即可

阿里云添加 swap 交换分区

阿里云 ECS 服务器的 swap 功能默认没有开启,因为 swap 功能会增加磁盘 IO 的占用率,降低磁盘寿命和性能,另一方面也可以借此让用户购买更大的内存。启用 swap 分区,一定程度上可以降低物理内存的使用压力,但如果云服务器上运行的应用确实需要更多的内存,还是需要购买物理内存。

  1. 创建分区文件

  1. 设置交换分区文件

  1. 修改内核参数

值越大,表示越积极使用 swap 分区,越小表示越积极使用物理内存

默认值 swappiness=60,表示内存使用率超过 100-60=40% 时开始使用交换分区

swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap 空间`

swappiness=100 的时候表示积极使用 swap 分区,并把内存上的数据及时搬运到 swap空间

  1. 使内核参数修改生效

  1. 启用此交换分区的交换功能

  1. 设置开机时自动启用 swap 分区

  1. 确认 swap 分区是否生效

  1. 如果需要关闭 swap 分区,修改 /etc/fstab 文件,删除或注释相关配置,取消 swap 的自动挂载

阿里云系统盘扩容

系统:CentOS 7.x

控制台扩容之后一定要通过控制台重启服务器,命令行重启无效

  1. 安装工具

  1. 查看现有磁盘大小

  1. 查看磁盘分区大小

  1. 为系统盘的第一个分区扩容

  1. 为系统盘的 /dev/vda1 分区扩容文件系统

  1. 确认磁盘分区大小已变更

阿里云数据盘扩容

系统:CentOS 7.x

控制台扩容之后一定要通过控制台重启服务器,命令行重启无效

如果挂载多个数据盘,修改对应的设备名称即可(例如,vdc1)

使用 df -hT 查看系统类型,如果是 xfs 系统,扩容文件系统 resize2fs 替换为 xfs_growfs

  1. 安装工具

  1. 查看现有磁盘大小

  1. 查看磁盘分区大小

  1. 为系统盘的第一个分区扩容

  1. 为系统盘的 /dev/vdb1 分区扩容文件系统

如果失败,尝试 resize2fs /dev/vdb

  1. 确认磁盘分区大小已变更

AWS CloudFront

整体逻辑:用户最终访问的域名 -> 域名解析中 CNAME 解析找到分配器对应的域名 -> 分配器访问源站点

  1. 配置分配器

image-20220704213308337

image-20220704214138676

image-20220704214217450

AWS CloudFront 分配器对应的域名 https://d123bfsrk43iz.cloudfront.net,备用域名填写用户最终访问的域名 X,换言之,用户通过访问 X 来访问通过 AWS CloudFront 实现加速的站点

image-20220704214700934

在域名解析添加 CNAME 别名解析

image-20220704215111333

  1. 配置源

image-20220704215335532

image-20220704215402505

  1. 配置行为

如果要实现用户通过 http 访问站点自动跳转到 https,则选择 Redirect HTTP to HTTPS 策略

image-20220704215859853

image-20220704220021421

Prometheus+Grafana 监控告警

系统:CentOS 7.6

安装 prometheus

  1. 添加用户和组

  1. 下载并解压 prometheus

  1. 创建运行目录

  1. 目录授权

  1. 添加环境变量

  1. 创建启动服务

  1. 启动服务

  1. 验证服务

通过 http://<host>:9090 可以访问 prometheus,并查看信息

安装 grafana

  1. 下载并安装

  1. 启动服务

  1. 验证服务

通过 http://<host>:3000 可以访问 grafana,默认账户密码 admin/admin,并查看信息

  1. 添加 prometheus 数据源

选择 prometheus 数据源

填写 URL,点击测试并保存

配置监控面板

添加监控面板有两种方式,其一为新建,其二使用之前面板的配置文件,导入即可。此处,使用导入原配置文件。

可以选择上传本地配置文件或者粘贴配置文件内容

选择之前配置好的 prometheus 数据源

将数据可视化效果如下所示

配置告警

点击添加通道

配置钉钉告警通道

添加钉钉告警通道,可以先测试一次

测试结果如下所示

配置邮件告警通道

在 grafana 配置文件 /etc/grafana/grafana.ini 配置邮件告警发送邮箱信息

添加邮件告警,包含告警接收邮箱信息

查看告警通道列表

配置告警规则

配置每 5 秒钟检测一次,如果 CPU 使用率超过 30% 就告警的规则

如果检测到状态为健康,如下所示(默认,红色代表不健康)

绑定告警通道,可以同时绑定多个通道,触发告警之后多个通道通知

DockerHub 上传镜像

  1. https://hub.docker.com/ 注册账户,并创建镜像仓库

  1. 基于已有容器创建镜像

镜像仓库为 dudebing99/u18,镜像 tag 为 v1

  1. 查看本地镜像

  1. 上传镜像到 DockerHub

命令格式:docker push <hub-user>/<repo-name>:<tag>

  1. 查看镜像

查看镜像详情,拉取镜像命令 docker pull dudebing99/u18:v1

  1. 从 DockerHub 拉取镜像

CentOS 安装 vsftpd

CentOS 7.6/vsftpd 3.0.2

  1. 按照 vsftpd

  1. 添加用户

  1. 配置 vsftpd

  1. 配置 user_list

  1. 配置 pam

  1. 防火墙开放 21、20、30000-31000 端口

  1. 启动服务

CentOS 安装 Apache Tomcat 9,支持 http2

CentOS 安装 VNC

  1. 安装软件包

    yum install tigervnc* -y

  2. 修改 /root/.vnc/xstartup 文件,包括注释、新增,如下所示

    # xterm -geometry 80x24+10+10 -ls -title "VNCDESKTOP Desktop" &

    # twm &

    gnome-session &

  3. 修改 /etc/sysconfig/vncservers,修改如下行

    VNCSERVERARGS[1]="-geometry 1360x768"

  4. 配置防火墙,允许默认端口 5901(或者,关闭防火墙)

  5. 启动服务

    service vncserver start

  6. 安装客户端,并连接

    客户端连接服务器信息 VNC Server: xxx.xxx.xxx.xxx:5901

    xxx.xxx.xxx.xxx 为 VNC Server 的 IP 地址

  7. 其他命令

    • vncpasswd 修改 VNC 连接密码

    • vncserver --list 查看启动的会话实例(session)

    • vncserver :2 启动第二个实例,默认监听 5902 端口,具体可通过 netstat 命令查看

    • vncserver -kill :2 停止第二个实例

CentOS 安装 Python 3.5

CentOS 安装 ICE

CentOS 安装 GCC 4.9.2

注意:GCC 4.8.1 支持 C++11 全部特性

CentOS 安装 MySQL 5.7

主要包括配置防火墙修改初始密码允许远程访问三部分

MySQL 配置文件目录: /etc/my.cnf,默认数据目录: /var/lib/mysql

  1. 安装 MySQL 5.7

  1. 开启 3306 端口

  1. 修改初始密码

低版本 MySQL, authentication_string 字段为 password

从错误日志文件查看原始密码

修改密码

  1. 允许远程访问

CentOS 安装 Redis 4.0.9

  1. 运行环境:Cent OS 6.8

  2. 安装

  1. 配置 redis.conf

Redis server/cluster 对应的配置文件 redis.conf

Redis Sentinel 对应的配置文件 sentinel.conf

  1. 运行与测试

CentOS 安装 RabbitMQ

  1. 运行环境:CentOS 7.2

  2. 安装依赖

  1. 安装 erlang

在 /etc/profile 添加环境变量:export PATH=$PATH:/usr/local/erlang/bin

source /etc/profile 使环境变量生效

  1. 安装 RabbitMQ

  1. 新建空的配置文 /etc/rabbitmq/rabbitmq.config

tcp 默认监听端口 5672,此处修改为 15671

  1. 设置服务自启动、并启动服务

  1. 启用RabbitMQ的管理插件、并重启服务

此时,使用 http://:15672 即可访问

  1. 配置 RabbitMQ 默认数据库和日志路径

  1. 创建 /etc/rabbitmq/rabbitmq-env.conf

  1. 重启服务

  1. 添加 RabbitMQ 用户,并设置其角色和权限

此时,使用该账户即可登陆 http://:15672

  1. RabbitMQ 其他常用命令

CentOS 安装 Siege

Siege 是 linux 下的一个 web 系统的压力测试工具,支持多链接,支持 get 和 post 请求,可以对 web 系统进行多并发下持续请求的压力测试。

  1. 运行环境:Cent OS 6.8

  2. 安装

  1. 使用 siege -h 查看简要使用说明;使用 man siege 查看详细使用说明,包括示例。

CentOS/Ubuntu 安装 wrk

一个简单的 http benchmark 工具,能做很多基本的 http 性能测试,wrk 能用很少的线程压出很大的并发量。

  1. 运行环境:CentOS 6.8

  2. 安装

  1. 将 wrk 所在路径添加环境变量,或者 mv wrk /bin 即可

CentOS 安装 pip

CentOS 安装 MySQLdb

CentOS 安装 protobuf 3.5.1

CentOS 配置静态 IP

CentOS 安装 locust 0.8.1

locust 是基于 python 的性能测试工具,通过编写 python 代码来完成性能测试的。

安装包含多个依赖库,大致信息如下所示

确认 locust 安装成功

CentOS 安装配置 zookeeper/kafka

Gerrit 使用者初始配置

Tips: 公司启用 Gerrit 代码审查,作为使用者,例如开发人员,须完成初始配置之后才能使用 Gerrit。

  1. 使用 CM 分配的 Gerrit 账号登陆 gerrit WEB 服务器

  2. 进入设置(Setting),填写个人邮箱,点击注册邮箱(Register New Mail)

  3. 登陆个人邮箱,找到 Gerrit 发送的验证邮件,点击邮件链接进行确认激活

  4. 安装 Git 客户端

  5. 生成 SSH 公钥(ssh-kengen -t rsa)

如果客户端使用的 openssl 库版本较高而服务器端版本较低,openssl 高版本禁用某些安全性较低的算法,这种情形下,需要在客户端的 .ssh 目录(即,id_rsa.pub所在目录)新建一个文件 config(Windows 下注意去掉后缀),内容如下

  1. 登陆 Gerrit,进入个人中心,将上一步产生的公钥 id_rsa.pub 添加到 SSH 公钥(SSH Public Keys)

CentOS 安装 gSOAP 2.8.18

  1. 安装 gSOAP 2.8.18

  1. 添加环境变量 /etc/profile

    GSOAP=/usr/local/gsoap_2.8.18

    PATH=$GSOAP/bin:$ATH

    export PATH

  2. source /etc/profile

CentOS 安装 flask

CentOS 安装 telnet

CentOS 安装 fio

CentOS 配置 NGINX 用户认证

  1. 利用 htpasswd 生成密码文件

  1. 配置 Nginx

  1. reload nginx

CentOS 安装 Tron

环境:CentOS 7.2/jdk 1.8.0

  1. 克隆仓库

  1. Nile 测试网,切换到分支 new_hard_fork_nile,主网使用分支 master

  2. 编译

编译完成,全节点程序位于 build/libs/FullNode.jar

  1. https://github.com/tronprotocol/TronDeployment 下载测试网或者主网的配置文件,并且重命名为 config.conf

  2. 运行

最终的目录如下所示

CentOS 升级内核

环境:CentOS 7.2

系统自带内核版本如下

  1. 添加内核源

  1. 查看可用内核包

  1. 安装最新的主线稳定内核

  1. 修改GRUB选项,使新安装的内核作为优先启动。修改前,先进行备份

修改vi /etc/default/grub中GRUB_DEFAULT=saved 为 GRUB_DEFAULT=0

  1. 重新创建内核配置

  1. 重启

  1. 验证

CentOS 安装 envoy

查看版本信息

CentOS 安装 nodejs/npm

  1. 获取 nodejs 的源

  1. 安装 nodejs

  1. 安装淘宝镜像 cnpm

如果是腾讯云服务器,使用腾讯源,否则卡顿到不可用。 npm config set registry http://mirrors.cloud.tencent.com/npm/

  1. 查看安装版本

  1. 卸载

手动删除可能的残留

CentOS 安装 mono

环境:CentOS 7.2

  1. 安装基础库

  1. 源码编译 mono

CentOS 设置时区

以设置中国上海时区为例

  1. 备份

  1. 设置目标时区

  1. 检查是否生效

Amazon Linux 2023 安装 iftop

Ubuntu 替换源

环境:Ubuntu 14.04.5 LTS

  1. 备份

  1. 替换阿里云的源

通过 lsb_release -c 查看系统版本,例如 14.04 对应 trusty,而 18.04 对应 bionic。因此,如果需要替换 18.04 为阿里云的源,替换 trustybionic 即可。

18.04 替换为阿里云的源,配置文件如下

Ubuntu 安装 golang

  1. 下载安装(官方下载源

  1. 设置环境变量(/etc/profile 添加)

  1. 使环境变量生效

Ubuntu 安装 bitcoin

环境:Ubuntu 14.04.5 LTS

  1. 安装依赖项

  1. 克隆仓库

  1. 配置

可以根据需要配置,通过 ./configure --help 查看全部支持配置选项,例如,不编译 qt 相关、测试用例,可以使用 ./configure --with-gui=no --disable-tests --disable-gui-tests

配置检查通过,输出的信息大致如下所示。可以看到如下同时编译了钱包、gui

  1. 编译、安装

Ubuntu 安装 WaykiChain

环境:Ubuntu 14.04.5 LTS

  1. 初始化系统环境

  1. 将如下内容保存成 deploy.sh,将可执行程序 coind 与该脚本放在同一目录,运行 ./deploy.sh deploy 即可完成regtest 网络节点部署

Ubuntu 安装 ethereum

环境:Ubuntu 14.04.5 LTS

GCC:gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4

Golang:go version go1.10.3 linux/amd64 (注意:低版本 Golang 编译器存在 bug

  1. 下载

  1. 编译

  1. 查看编译文件

  1. 安装合约编译器 SolC

solc, the Solidity commandline compiler.

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See 'solc --license' for details.

Usage: solc [options] [input_file...] Compiles the given Solidity input files (or the standard input if none given or "-" is used as a file name) and outputs the components specified in the options at standard output or in files in the output directory, if specified. Imports are automatically read from the filesystem, but it is also possible to remap paths using the context:prefix=path syntax. Example: ​ solc --bin -o /tmp/solcoutput dapp-bin=/usr/local/lib/dapp-bin contract.sol

  1. 安装 nodejs

  1. 替换 npm 淘宝源

  1. 安装 web3

备注:以太坊 官方 wiki 的 API,基于 web3 的版本是 0.2x.x。如果直接用 npm install web3 ,安装的版本为 1.0.0-beta.35,API 使用差异巨大,如果采用此方法安装,参考实际版本的 web3.js

Ubuntu 安装 lua

运行环境:Ubuntu 14.04

Ubuntu 安装搜狗拼音输入法

  1. https://pinyin.sogou.com/linux/ 下载安装包

  2. dpkg -i sogoupinyin_*.deb

  3. 配置输入法,系统设置 --> 语言支持 --> 把里面的 IBus 改为 fcitx --> 重启生效

Ubuntu svn 提交编辑器

Ubuntu 安装 vim 8.1

Ubuntu 禁用 ipv6

  1. 在 /etc/sysctl.conf 追加如下内容

  1. 执行 sysctl -p 使之生效

Ubuntu 设置语言环境为中文

  1. 安装 zh_CN.UTF-8 语言

  1. 设置环境变量

Ubuntu 设置静态 IP

Ubuntu 安装 eos

环境:Ubuntu Ubuntu 18.04 LTS

  1. 下载、编译

运行脚本之后,提示安装依赖包,输入 Yes 即可

默认最小硬盘限制20G最小内存限制7000M,如果编译机器物理硬件较差,可以适当修改

修改最小硬盘限制:修改文件 eosio_build.shDISK_MIN=20

修改最小内存限制:修改文件 scripts/eosio_build_ubuntu.sh"${MEM_MEG}" -lt 7000

  1. 运行上述提示,测试正确性

  1. 安装 eos

Ubuntu 安装 fio

FIO 是测试 IOPS 的非常好的工具,用来对硬件进行压力测试和验证。

Ubuntu 安装 Nebulas

环境:Ubuntu 16.04,版本:master 分支,215ea2c9a2c7305541902e7626034ab14f043c04

  1. 安装 golang

  1. 编译 nebulas

Ubuntu 安装 shadowsocks-libev

Ubuntu 18.04

  1. 安装 shadowsocks-libev

  1. 添加配置文件

  1. 启动服务

  1. 安装 simple-obfs

simple-obfs 是一个简单的混淆插件, 可以伪装成 http 流量

  1. 启用混淆

  1. 重启服务

  1. 客户端配置

安卓客户端:https://github.com/shadowsocks/simple-obfs-android/releases

下载 windows 客户端插件:https://github.com/shadowsocks/simple-obfs/releases,放在 ss 目录,如下

ss 配置如下

Ubuntu 安装 nc

  1. 安装

  1. 配置。Ubuntu 上默认安装的是 netcat-openbsd,而不是经典的 netcat-traditional,因此,需要配置一下。

Windows 安装 remix-ide

  1. 安装 npm

    参考安装 npm,可使用淘宝 cnpm 加速

  2. 安装依赖

  3. 安装 remix-ide(自动下载安装 remixd)

    如果安装出错,请尝试升级 npm:npm install npm@latest -g

  4. 在合约文件目录运行 remix-ide

    redix-ide 服务监听本地 8080 端口,同时调用 remixd 服务监听本地的 65520 端口,如下所示

  5. 打开浏览器,访问 http://localhost:8080,通过 remixd 服务配置 remix-ide 与本地合约文件,如下所示

Windows 安装 julia 1.0.0

  1. 官网下载 julia 安装包

  2. 添加环境变量

    将 julia 安装路径添加到环境变量 Path 即可

Windows 配置 GPG 签名 commit

  1. 安装 gpg4win

  2. 生成 GPG 密钥

其中,pub 为公钥,sub 为私钥

  1. 获取公钥

通过 gpg --list-keys 查看 Pub GPG key ID

  1. 拷贝上面得到的公钥到 github 账号设置 SSH and GPG keys

  1. 设置 git 签名时使用的 key

  1. 设置使用 GPG 签名 commit

设置全局生效,使用 git config --global commit.gpgsign true

关闭,使用 git config commit.gpgsign false

也可以每次提交时,指定使用 GPG 签名 git commit -S -m "your commit message"

Windows 安装 bitcoin

环境:Windows 7 Ultimate x64

参考文档:中文/英文

准备编译环境

  1. 安装 msys shell(Windows 平台模式 shell 的程序)

    http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download 下载安装包,安装如下四项:

    • msys-base-bin

    • msys-autoconf-bin

    • msys-automake-bin

    • msys-libtool-bin

  2. 安装 MinGW-builds 工具链

    http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-posix/dwarf/i686-4.9.2-release-posix-dwarf-rt_v3-rev1.7z/download 下载并解压到 C:\

  3. 添加环境变量

    将 2 中工具链的目录添加到环境变量 Path,即,追加 C:\mingw32\bin;

  4. 验证工具链安装配置正确

安装依赖库

依赖库统一安装到目录 C:\deps

  1. 安装 openssl

    • http://www.openssl.org/source/openssl-1.0.1g.tar.gz 下载安装包拷贝到 C:\deps

    • 启动 msys,即,C:\MinGW\msys\1.0\msys.bat)运行这个msys.bat,就会启动一个shell环境,提示符 $

    • 执行如下命令

  2. 安装 Berkeley DB

  3. 安装 boost

    • http://sourceforge.net/projects/boost/files/boost/1.57.0/ 下载安装包并解压到 C:\deps

    • 执行如下命令

  4. 安装 Miniupnpc

  5. 安装 protobuf

  6. 安装 qrencode

    • http://download.sourceforge.net/libpng/libpng-1.6.16.tar.gz 下载安装包并拷贝到 C:\deps

    • 执行如下命令

    • http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz 下载安装包并拷贝到 C:\deps

    • 执行如下命令

  7. 安装 QT 5

    • http://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.3/5.3.2/submodules/qtbase-opensource-src-5.3.2.7z 下载安装包、解压并拷贝到 C:\Qt\5.3.2

    • http://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.3/5.3.2/submodules/qttools-opensource-src-5.3.2.7z 下载安装包、解压并拷贝到 C:\Qt\qttools-opensource-src-5.3.2

    • Windows 命令行(CMD)执行如下命令

      编译加速:如下编译耗时较长,可通过 mingw32-make -j4 加快编译速度(根据机器实际情况调整参数)

      错误处理:出现 'fputs' is not a member of 'std' 编译错误时,在出错的文件所在目录 Makefile.Debug/Makefile.Release 文件,CXXFLAGS 添加编译选项 -std=c++11

安装 bitcoin

  1. 下载源码包 https://github.com/bitcoin/bitcoin/archive/v0.9.4.zip

  2. 解压到 C:\

  3. 执行如下命令

Windows 安装 ethereum

环境:Windows 7 Ultimate x64

  1. 官方下载源 下载 golang 1.10.3,并配置环境变量

  1. 下载并安装 tdm-gcc

  2. 从 github 克隆 以太坊仓库 到 D:\go\src\github.com\ethereum\go-ethereum

  3. 编译 geth

  1. 在目录 D:\go\bin 生成 geth.exe

Windows 安装配置 nodejs/npm

说明:使用 Node.js 的 npm 命令需要访问国外的站点,但由于国内网络的问题,安装速度会比较慢,甚至完全无法安装,淘宝为国内开发者提供了 npm 镜像服务。

  1. 下载 nodejs(已包含 npm),官网 https://nodejs.org/en/

  2. 使用淘宝 npm 镜像

Windows 安装 Git Bash 支持 wget/make/protoc

参考资料:How to add more to Git Bash on Windows

wget

  1. 下载 wget.exe

  2. 拷贝 wget.exe 到 Git 安装目录,默认路径 C:\Program Files\Git\mingw64\bin\(需根据 Git 实际安装路径调整)

make

  1. 下载 make-4.2.1-without-guile-w32-bin.zip(适用于 Windows 64 位系统)

  2. 解压

  3. 将解压后的所有文件拷贝到 Git 安装目录,默认路径 C:\Program Files\Git\mingw64\(需根据 Git 实际安装路径调整,另外,如果某些文件原来此目录已存在,切记不要覆盖,选择跳过即可

protoc

  1. 下载 exe

  2. 解压

  3. 将解压后的所有文件拷贝到 Git 安装目录,默认路径 C:\Program Files\Git\mingw64\(需根据 Git 实际安装路径调整,另外,如果某些文件原来此目录已存在,切记不要覆盖,选择跳过即可

  4. 确认配置成功

    打开 Git Bash,输入 protoc --version

Mac 安装 libra

  1. 下载源码

  1. 检出测试网分支代码

  1. 安装依赖项,主要包含 Rust、CMake、Golang、Protobuf 的依赖环境的安装

顺利完成安装,有如下提示

  1. 编译客户端并连接到测试网

正确运行客户端并连接到测试网,信息如下:

iOS APP 使用企业证书签名后分发

  1. 将签名后的 ipa 和 plist 文件上传到 OSS/OBS 等

plist 文件内容如下

替换 <your ipa url> 为 ipa 实际路径

确保 dict 配置跟安装包原始配置信息保持一致,特别是 <bundle-identifier>

  1. 添加 App 下载页面,iOS 安装包路径配置

可复制 itms-services://?action=download-manifest&url=https://<your plist url> 到苹果手机浏览器打开,预期结果:可正常下载安装

gitlab 极狐私有部署

https://docs.gitlab.cn/jh/install/

gitlab 极狐安装、配置

  1. 安装基础依赖

  1. 通过如下命令来配置GitLab软件镜像

  1. 安装

  1. 配置

首次安装之后进行初始化默认配置,配置时间较长

初始化配置生成 root 密码,以文件形式存放 /etc/gitlab/initial_root_password

  1. 启动服务

如下命令包含先停止老进程再启动,具体可查看 help 说明

  1. 查看状态

  1. 设置开机自启动

gitlab 邮件配置

以配置 163 免费邮箱为例

  1. 注册 163 免费邮箱,设置启用 smtp 服务

  2. 在配置文件 /etc/gitlab/gitlab.rb 添加如下核心配置

  1. 重新配置并启动

  1. 后续在 gitlab 的各项活动都能收到邮件

<可选>配置外部访问域名、启用 https

编辑 /etc/gitlab/gitlab.rb 并将 external_url 更改为您的首选 URL

或者 IP 地址

或者安装时指定

配置 ci/cd

https://docs.gitlab.com/15.11/ee/ci/quick_start/

runner 可以设置为组内共享,多个项目可以复用

  1. 安装 gitlab-runner

  1. 假设要给某个项目配置 ci/cd,从项目设置中获取 gitlab-runner 所需的授权信息

image-20230521162037357

  1. 配置 gitlab-runner

特别注意标签名字,后续 gitlab 项目中 ci/cd 配置需要指定此 runner 的标签,假设标签为 jupiter

如果 runner 跟 gitlab 实例在同一台服务器或者同一个内网,使用 localhost 或者内网 IP,否则在编译完成上传文件(uploading artifacts)特别慢

  1. 配置 gitlab 项目中的 ci/cd 配置,对应文件 .gitlab-ci.yml

tags 对应 gitlab-runner 注册所填写的 tag

配置文件也可以通过在 gitlab 项目前端 CI/CD 子菜单 Editor 生成更改

.gitlab-ci.yml 文件是流水线执行的流程文件,Runner 会据此完成规定的一系列流程。我们在项目根目录中创建.gitlab-ci.yml 文件,然后在其中编写内容

  1. 执行、查看结果

image-20230521163128060

image-20230521163238346

image-20230521163404700

aws ec2 ami 制作

控制台可以制作 ami 但无法下载到本地

  1. aws 账户个人中心 -> 安全凭证,创建 Access keys

  2. 使用 aws 客户端制作镜像

初始化 aws

  1. 创建 s3 存储桶

  1. 上传镜像到存储桶

  1. 从 s3 下载镜像

  1. 如果要将此镜像再次还原成 ami