timedatectl set-timezone Asia/Shanghai
初果实验室
-
命令行json数据格式化工具json_reformat
Linux 命令行显示未格式化的 json 数据
使用 json_reformat 格式化 json 后
这样显示非常便于数据分析,只需要输出时使用管道重定向给 json_reformat 命令,json_reformat 是 yajl 提供的一个工具,yajl 是使用 C 开发的 JSON 分析库,这个库可以用来分析和验证 json 数据,另外一个特色是支持 stream 方式处理数据。使用 apt show yajl-tools 查看包的详情如下:Package: yajl-toolsVersion: 2.1.0-3Priority: extraSection: universe/utilsSource: yajlOrigin: UbuntuInstalled-Size: 49.2 kBDepends: libc6 (>= 2.4), libyajl2 (>= 2.1.0)Homepage: yajlDownload-Size: 7,792 BAPT-Manual-Installed: yesDescription: Yet Another JSON Library – toolsA small collection of tools that use the yajl library..Current tools are:json_reformat – beautifies or minimizes format of JSON datajson_verify – validates JSON data -
MySQL 8.0 general log 设置
操作系统版本:Ubuntu 20.10MySQL版本:mysql Ver 8.0.21-0ubuntu0.20.04.4开启 MySQL general log 步骤:查找 mysqld 都读取了哪些配置文件:/usr/sbin/mysqld –verbose –help | grep -A 1 “Default options”列出了3个文件/etc/my.cnf/etc/mysql/my.cnf~/.my.cnf这些文件只有 /etc/mysql/my.cnf 有如下内容!includedir /etc/mysql/conf.d/!includedir /etc/mysql/mysql.conf.d/最终在文件 /etc/mysql/mysql.conf.d/mysqld.cnf 中找到general_log_file 和 general_log 的配置设定赋值:general_log = 1general_log_file = /tmp/mysql.loggeneral_log_file 对应的文件 /tmp/mysql.log 必须存在并且此文件的所属用户是:配置文件里面的[mysqld]中user的值,默认是mysql。如果属主不一致,即使其他用户有权限写这个日志文件,general_log 还是无法开启,开启时会报 permission denied 错误。修改属主chown mysql:mysql /tmp/mysql.log然后保存配置文件并退出,重新启动 mysqlsystemctl restart mysql.service最后使用 tail -f /tmp/mysql.log 就可以实时监控log了。生产环境开启这个日志要谨慎!参考资料 -
ubuntu 20.04 安装 PHP/Nginx/MySQL/Redis
视频版:
https://www.bilibili.com/video/BV1PK4y1n74R/
基于Ubuntu 20.04 LTS 操作系统
部署安装PHP
Nginx web 服务器
MySQL 数据库
Redis 内存服务器由于服务器位于远端的机房
所以需要远程登录服务器如果是Linux系统
使用自带的terminal就可以登陆
MacOS也有自带终端
也可以使用 iTerm2
Windows 可以使用的软件有很多
例如 Windows Terminal
共享软件 SecureCRT
开源软件PuTTY 等登录系统后
查看主机的操作系统类型
cat /etc/os-release如果服务器位于国内
建议将默认的源镜像修改为国内的地址
https://developer.aliyun.com/mirror/ubuntu
这样下载软件包速度会比较快安装 php
apt install php安装 PHP进程管理器 php-fpm
apt install php7.4-fpm卸载 apache2
systemctl stop apache2.service
apt purge apache2安装 nginx
apt install nginx安装 MySQL
apt install mysql-server安装Redis
apt install redis-server安装多字节字符串扩展
apt install php7.4-mbstring安装 curl 扩展
apt install php7.4-curl安装 MySQL 扩展
apt install php7.4-mysql安装 Redis 扩展
apt install php7.4-redis安装图形库扩展
apt install php7.4-gdphp-imagick
到此网站运行的基础软件都安装好了
软件的配置也都使用了默认的配置
但这样的配置仅用于开发测试
用于生产环境的话要配置的细节就比较多修改mysql root 密码
首先输入mysql登录mysql
然后输入
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘abcd12345’;
将密码修改为 abcd12345
使用 flush privileges
刷新权限
至此开发环境搭建完毕 -
购买Linode云服务器操作流程
视频版:
https://www.bilibili.com/video/BV19X4y1G7dc/
如何在 Linode 购买云服务器
Linode 是一家老牌的服务器主机供应商
在全球多个地方都有数据中心
购买流程方便快捷
服务售后都做的不错
价格也挺实惠
最便宜主机每个月只需要 5美金
用来做开发测试
或者运营小微网站都是不错的选择
据说知乎网站最早期的服务器也用的是 Linode
首先访问 Linode 官方网站
注册新账户
点击邮箱里面的注册链接后
会跳转到账单信息的填写页面
然后填写自己的相关信息
有 optional 标记的字段可以不用填写
填写信用卡卡号
有效月份和年份以及3位的 CVV 代码
不需要输入信用卡密码
最后勾选同意协议点击注册
这个时候你可能会收到1美金的扣费通知
这个只是用来验证你输入的信用卡是否有效
不会计入实际的账单
Linode是老牌的主机服务器提供商
成立时间比阿里云还早
支持7天无理由退款
采用先使用后计算的按月结算方式
所以不用过于担心乱扣费的问题
信用卡验证成功后就可以进入到后台了
现在我们来创建一台服务器
根据自己的需求选择对应的操作系统
这里我以 Ubuntu 20.04 为例
建议选择 LTS 也就是 长期支持版本
区域选择离客户相对较近的节点
这里我选择最近的日本东京节点
这里列出了不同配置的CPU和内存
根据自己的预算选择就可以
计费单位是按小时计算
Label 是服务器的别名
方面自己记忆和区分
Root password 是最高权限的用户的密码
然后点击创建
Linode的套餐里面列出的磁盘存储
不需要另外支付费用
除了系统占用的空间外
也有较多的余留空间
如果存储空间不够
需要挂载附加磁盘
这个时候就会额外计费
到此服务器就购买完成了
接下来就可以使用 secureCRT 或者 PuTTY 等会话软件
登录到这台服务器完成后续的操作 -
如何在 name.com 注册域名
https://www.bilibili.com/video/BV1cU4y1p7Hz/
本视频演示如何在 name.com 注册账号、购买域名、设置 DNS 记录。
name.com 支持支付宝付款,也可以使用 visa 信用卡付款。
如果信用卡是首次国际购物,有些银行会打电话确认交易。
如果一年后不打算续订,记得关闭自动扣费。
刚注册的域名,一个月以后才可以转出。 -
使用 root 登录 Ubuntu系统
以 Ubuntu 操作系统为例,
默认是不允许 root 登录的,
如果希望以 root 身份登录操作系统,
需要修改 ssh 的配置文件 /etc/ssh/sshd_config
修改 PermitRootLogin 值为 yes
修改 PasswordAuthentication 值为 yes
然后重新启动 ssh 服务即可
systemctl restart ssh.service
或者
service ssh restart
-
使用GNU Screen进行结对编程
视频版:
https://www.bilibili.com/video/bv1NV411v7Yi
结对编程有很多好处,可以互相提高编程水平,及时发现问题,实时共享知识技巧,
但是由于传染病的流行,近距离接触有互相感染的风险,所以可以考虑远程结对编程,
这个时候就需要协助软件,如果开发环境是Linux,可以使用 GNU Screen来实现。
Screen 是 GNU 系列自由软件之一,很多Linux 发行版本都有预装,
它本身是一款终端多会话管理工具,但是有一个特性可以实现结对编程的效果。
以ubuntu操作系统为例,如果没有安装的话使用
apt install screen
就可以安装。
首先使用
screen -S session_name 创建会话
然后所有通过 -x 参数进入会话的用户,
screen -x session_name
所有操作都是实时同步的,
这样就实现了远程结对编程。
另外一个工具是 tmux 也可以实现同样的功能。
有兴趣的请自行尝试。
-
vim 编辑器 列模式 visual block 操作指南
https://www.bilibili.com/video/BV1mb4y1X7ys/
可视模式下,
你可以选择想操作的文件内容,
选中的内容会高亮显示,
类似于使用鼠标选择文本内容,
然后就可以执行各种操作。vim 编辑器 可视模式 VISUAL MODE 有下面三种
1. 字符模式 按键 v — VISUAL —
2. 行模式 按键 shift + v — VISUAL LINE —
3. 列模式 按键 ctrl + v — VISUAL BLOCK —其实就是3中选择内容的方式,
字符模式和行模式比较常见,
列模式基于列来选择内容,比较特殊,
在某些场景,列模式很有用,
本视频主要演示列模式的操作。