Skip to content

Commit 9db086d

Browse files
author
yxxhero
committed
Initial commit
0 parents  commit 9db086d

File tree

8 files changed

+190
-0
lines changed

8 files changed

+190
-0
lines changed

archetypes/default.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "{{ replace .Name "-" " " | title }}"
3+
date: {{ .Date }}
4+
draft: true
5+
---
6+

config.toml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
baseURL = "https://www.aiopsclub.com"
2+
languageCode = "en-us"
3+
title = "Aiopsclub"
4+
theme = "hugo-theme-learn"
5+
[outputs]
6+
home = [ "HTML", "RSS", "JSON"]
7+
[params]
8+
# Prefix URL to edit current page. Will display an "Edit this page" button on top right hand corner of every page.
9+
# Useful to give opportunity to people to create merge request for your doc.
10+
# See the config.toml file from this documentation site to have an example.
11+
editURL = "https://github.com/aiopsclub"
12+
# Author of the site, will be used in meta information
13+
author = "苑雄雄"
14+
# Description of the site, will be used in meta information
15+
description = "python,ops,ai,ansible,database"
16+
# Order sections in menu by "weight" or "title". Default to "weight"
17+
ordersectionsby = "weight"
18+
# Change default color scheme with a variant one. Can be "red", "blue", "green".
19+
themeVariant = "blue"

content/_index.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# 测试

content/ansible/_index.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
+++
2+
title = "Ansible系列"
3+
weight = 100
4+
+++
5+
6+
Ansible系列,让你成为真正的运维高手。

content/nginx/_index.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = "Nginx系列"
3+
+++
4+
5+
Nginx系列,带你走进nginx的世界。

content/nginx/nginx_installtion.md

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: "2. Nginx系列之nginx安装部署"
3+
state: Alpha
4+
---
5+
> 了解了nginx的强大之处,相信您恨不得马上上手开干。接下来就展示一下nginx多种部署方式,让你见识一下如此复杂的nginx竟也能如此平易近人,在你的手上,乖乖听话,任你号令。
6+
7+
## nginx安装之包管理器
8+
9+
```shell
10+
# 以RHEL/CentOs为例
11+
# 1. 安装依赖工具
12+
sudo yum groupinstall "Development tools" -y
13+
sudo yum install yum-utils -y
14+
# 2. 添加nginx的软件仓库
15+
# 将以下内容写入/etc/yum.repos.d/nginx.repo
16+
[nginx-stable]
17+
name=nginx stable repo
18+
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
19+
gpgcheck=1
20+
enabled=1
21+
gpgkey=https://nginx.org/keys/nginx_signing.key
22+
module_hotfixes=true
23+
24+
[nginx-mainline]
25+
name=nginx mainline repo
26+
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
27+
gpgcheck=1
28+
enabled=0
29+
gpgkey=https://nginx.org/keys/nginx_signing.key
30+
module_hotfixes=true
31+
32+
# 默认启用的是nginx-stable,如果你想启用长期支持版,即nginx-mainline,可用以下命令开启
33+
sudo yum-config-manager --enable nginx-mainline
34+
35+
# 3. 安装nginx
36+
sudo yum install nginx
37+
38+
# 其他系统的安装方式可通过官方文档查看
39+
http://nginx.org/en/linux_packages.html
40+
```
41+
42+
## nginx安装之源码编译
43+
44+
```shell
45+
# 1. 下载源码
46+
wget http://nginx.org/download/nginx-1.19.0.tar.gz
47+
# 2. 解压
48+
tar xf nginx-1.19.0.tar.gz
49+
# 3. 编译
50+
cd nginx-1.19.0
51+
./configure
52+
--sbin-path=/usr/local/nginx/nginx
53+
--conf-path=/usr/local/nginx/nginx.conf
54+
--pid-path=/usr/local/nginx/nginx.pid
55+
--with-http_ssl_module
56+
--with-pcre
57+
--with-zlib
58+
make && make install
59+
# 简单来说,nginx的编译基本就以上三步,不过在安装的过程中,通常会遇到许多依赖问题,这时候就需要你强大的搜索的技能来解决问题。记住,你遇到的问题肯定有解决办法,实在不行就用google,方法自行百度。
60+
61+
```
62+
63+
## nginx安装之docker部署
64+
65+
```shell
66+
现在微服务日渐流行,docker在微服务的领域中地位非常重要,尤其是在k8s的编排能力加持下,那用起来是真的香。正因为docker的应用虚拟化,我们可以快速启动nginx,同时保持宿主机的整洁性。具体步骤如下
67+
# 1. docker的安装
68+
由于docker安装不是我们的重点,现在贴出文档,依据阿里云的安装文档即可快速安装docker服务; 文档地址:https://yq.aliyun.com/articles/110806?spm=5176.8351553.0.0.31341991DwMLPR
69+
# 2. docker中nginx的安装
70+
docker run --name nginx --restart always --net host -v 静态文件目录:/usr/share/nginx/html:ro -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
71+
# 简单一条命令,就可以省去安装nginx的过程,直接快速启动我们的web服务,是不是非常爽。
72+
```
73+
74+
## 总结
75+
76+
nginx的安装方式大致就以上三种,个人最爱docker的方式,它不仅仅可以用来快速测试,同时也可以在正式的环境中使用。天下武功,唯快不破。在当今快节奏的环境下,让我们不再为环境依赖而发愁,专注于我们的服务,提高我们的水平才是王道。
77+

content/nginx/nginx_introduce.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: "1. Nginx系列之nginx自我介绍"
3+
state: Alpha
4+
---
5+
> Nginx作为日趋流行的Web服务,已无处不在,相信做技术的同学不知道它的人很少。作为高性能web服务,无论是大厂bat、又或者是创业公司,都早已离不开它。那么它到底为何如此神秘,就让我一步步来探索吧!
6+
7+
Nginx[engine x],是一种http和反向代理服务,同时也支持mail代理以及TCP/UDP代理,最初是由lgor Sysoev编写。在很长的一段时间中,它已经支持全世界很多大型网站的稳定运行,这其中就包括bat等诸多大公司。根据Netcraft网站统计显示,截止到2020年五月,nginx已经服务全世界25.62%的繁忙网站。并且其占有率逐年攀升。
8+
9+
接下来就从一下几个方面介绍nginx强大之处:
10+
11+
## http服务特性
12+
13+
* 静态文件服务和配置默认首页自动索引;支持文件描述符缓存;
14+
* 利用缓存加速反向代理;支持负载均衡以及容错;
15+
* 加速支持FastCGI、uwsgi、SCGI和memcached服务器的缓存;负载平衡和容错;
16+
* 针对FastCGI,uwsgi,SCGI以及memcached服务的缓存加速支持以及对负载均衡和容错;
17+
* 模块化架构。过滤器包括gzipping,byte ranges,分块响应,XSLT,SSI和图像转换过滤器。 如果由代理服务器或FastCGI / uwsgi / SCGI服务器处理单个页面中的包含多个SSI,则可以并行处理;
18+
* SSL以及TLS SNI支持;
19+
* 通过加权和基于依赖关系的优先级支持HTTP/2;
20+
* 基于域名和基于ip的虚拟主机;
21+
* 支持keep-alive和http流水线;
22+
* 自定义日志格式、日志写缓冲、快速日志滚动以及syslog日志支持;
23+
* 3xx-5xx错误重定向;
24+
* 强大的url重写功能;
25+
* 逻辑化配置,if支持;
26+
* 可根据客户端ip、密码和子请求结果进行访问控制;
27+
* http referer验证;
28+
* 支持webDAV协议;
29+
* FLV和MP4流支持;
30+
* 限流;
31+
* 根据地址对连接数和请求数目进行限制;
32+
* ip地理位置支持;
33+
* A/B测试支持;
34+
* 请求镜像支持;
35+
* Perl嵌入式;
36+
* njs脚本语言;
37+
38+
## 邮件代理服务特性
39+
* 使用外部http认证服务将用户重定向至IMAP和POP3服务;
40+
* 使用外部HTTP身份验证服务器的用户身份验证以及到内部SMTP服务器的连接重定向;
41+
* 认证方式:
42+
* POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
43+
* IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
44+
* SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
45+
* SSL支持;
46+
* STARTTLS 和STLS支持;
47+
48+
## TCP/UDP代理特性
49+
* TCP和UDP通用代理支持;
50+
* SSL和TLS SNI对TCP支持;
51+
* 负载均衡以及容错;
52+
* 基于客户端地址进行访问控制;
53+
* 根据客户端IP地址创建变量;
54+
* 同一客户端地址的并发连接数限制;
55+
* 自定义日志格式、日志写缓冲、快速日志滚动以及syslog日志支持;
56+
* ip地理位置支持;
57+
* A/B测试支持;
58+
* njs脚本语言;
59+
60+
## 体系架构和拓展性
61+
* 主master和多worker进程模式;worker进程可运行在非特权模式下;
62+
* 灵活且强大的配置;
63+
* 无服务中断的配置重载以及二进制升级;
64+
* 支持kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select, 和poll;
65+
* 支持各种kqueue特性,包括EV_CLEAR, EV_DISABLE(临时禁用事件)、LOWAT、EV EOF、可用数据数量、错误代码;
66+
* 支持各种epoll功能,包括EPOLLRDHUP(Linux 2.6.17 +,glibc 2.8+)和EPOLLEXCLUSIVE(Linux 4.5 +,glibc 2.24+);
67+
* sendfile(FreeBSD 3.1 +,Linux 2.2 +,macOS 10.5 +),sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01 +)支持;
68+
* File AIO (FreeBSD 4.3+, Linux 2.6.22+);
69+
* DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
70+
* Accept-filters (FreeBSD 4.1+, NetBSD 5.0+) and TCP_DEFER_ACCEPT (Linux 2.4+)支持;
71+
* 10,000个不活动的HTTP保持活动的连接仅需约2.5m内存;
72+
* 最低限度的数据集复制;
73+
74+
## 总结
75+
基于以上丰富的特性以及极高的性能,Nginx的流行才是当之无愧的;今天我们知道nginx的用途,那我们如何才能用好nginx以及它的每个特性具体使用方式是什么,待我们下回分解。

themes/hugo-theme-learn

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 3efb32712c5cc77e644852d13ce3525780374b10

0 commit comments

Comments
 (0)