Nginx 学习笔记
Nginx 简介Nginx 是什么?Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。Nginx 可以作为一个 Web 服务器进行网站的发布,也可以作为反向代理服务器进行负载均衡的实现。常见的 Web 服务器:Tomcat、Apache、Nginx、Weblogic 等
特点 占用内存少、并发能力强
搭建 Nginx 环境 安装 nginx
源代码安装:需要编译./configure——>make——>make install
在线安装,参考:http://nginx.org/en/linux_packages.html
目录结构
目录
路径
执行路径
/usr/sbin/nginx
配置文件
/etc/nginx/nginx.conf
日志目录
/var/log/nginx/
默认虚拟主机目录
/usr/share ...
理解 npm run 命令,run 命令的两条潜规则
1. npm runnpm 默认运行的 命令为 npm run + script 名称, 当 script 名称为start 时,npm start = npm run start其他类似的命令还有
1234npm start === npm run startnpm stop === npm run stopnpm test === npm run testnpm restart === npm run stop && npm run restart && npm run start
2. 执行顺序 一个 npm 脚本可以执行多个任务,这些任务之间可以指定不同的执行顺序。对于单条命令 X,如果想并行运行多个,可以使用 & 连接,如果想串行运行多个,可以使用 && 连接。
3. 顺序钩子123"predev":"node test_one.js","dev":"node test_two.js","postdev":& ...
根据 docker 镜像反推 dockerfile
我们有时候想知道官方镜像的 dockerfile 是怎么写的,需要根据 docker image 反推 docker file 命令如下:
1image=ubuntu:18.04
123456docker history $image --no-trunc \ --format '{{.CreatedBy}}'|\ sed "s?/bin/sh\ -c\ \#(nop)\ ??g"|\ sed "s?/bin/sh\ -c?RUN?g" |\ tac|\ tee Dockerfile
稍微解释一下命令的意思
1234--no-trunc: 不截断输出 --format {{.CreatedBy}}: 格式化输出, 只输出 CreatedBy 字段 sed: 删除替换指定的字符串, 此处使用 `?` 作为 sed 的分隔符。常规 sed 分隔符为 `/` 或者 `#`tac: 将所有管道符号传来的内容反向输出 ...
从 0 到 1:全面理解 RPC 远程调用
前言 什么是 RPC 呢?
百度百科给出的解释是这样的:“RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议”。这个概念听起来还是比较抽象,没关系,继续往后看,后面概念性的东西,我会讲得足够清楚,让你完全掌握 RPC 的基础内容。在后面的篇章中还会结合其在 OpenStack 中实际应用,一步一步揭开 rpc 的神秘面纱。
有的读者,可能会问,为啥我举的例子老是 OpenStack 里的东西呢?
因为每个人的业务中接触的框架都不一样(我主要接触的就是 OpenStack 框架),我无法为每个人去定制写一篇文章,但其技术原理都是一样的。即使如此,我也会尽力将文章写得通用,不会因为你没接触过 OpenStack 而成为你理解 rpc 的瓶颈。
既 REST,何 RPC ?在 OpenStack 里的进程间通信方式主要有两种,一种是基于 HTTP 协议的 RESTFul API 方式,另一种则是 RPC 调用。
那么这两种方式在应用场景上有何区别呢?
有使用经验的人,就会知道 ...
python 8 个实用的“无代码”特性
Python CLI “-m” 参数 python 的-m mod 参数,它会将 Python 模块以脚本的形式运行。因此,如果该模块的实现支持命令行操作,我们就可以在命令行直接使用它。
服务端口测试
telnetlib 模块
测试对端服务器端口是否开放
1python -m telnetlib -d localhost 22
结果如下
12345678Telnet(localhost,22): recv b'SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.4\r\n'SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.4Telnet(localhost,22): send b'\n'Telnet(localhost,22): recv b'Invalid SSH identification string.\r\n'Invalid SSH identification string.Telnet(localhost,22): recv b''*** ...
本地 git 仓库链接远程仓库
以 github 仓库为例,当远程仓库已经创建
1. 初始化本地仓库1.1 git init 时设定 branch 为 main1git init -b main
也可以在 gitconfig 里配置默认值,要求 git 版本大于 2.28
1.2 Ubuntu 升级 git 版本123# For Ubuntu, this PPA provides the latest stable upstream Git versionadd-apt-repository ppa:git-core/ppaapt update && apt install git
设置默认为 main branch
1git config --global init.defaultBranch main
查看配置
12345678910111213141516171819202122❯ cat ~/.gitconfig[include] path = /etc/git-setup/gitconfig[core] editor = vi[user] ...
GitHub x Pages 搭建静态化 Hexo 博客
1. 安装基本环境1.1 安装 git1apt install git
1.2 利用 nvm 安装 nodejs123curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashexec $SHELLnvm install --lts
1.2.1 安装 hexo1npm install hexo -g
2. 初始化 hexo 项目2.1 创建初始化项目1hexo init MyNote
2.2 安装 next 主题以及 hexo-deployer-git 工具 12# 在 MyNote 文件夹下执行npm install hexo-theme-next hexo-deployer-git
3. 配置_config.yaml 文件 修改博客标题等
1234567title: "LuckyHunter's notes"subtitle: 'Quick notes'description: 'Stay hungry, ...