装完系统之后我通常会做什么之Linux
Tips: 本篇文章会根据自身使用习惯或系统更新不定时更新!!!
Linux 的发行版本有很多,有些发行版还分服务器版和带 GUI 的桌面版,如果你想在你的电脑上装一个 Linux,推荐你装带 GUI 的桌面版,比如:Deepin 或 Ubuntu Desktop 等。
当然,虚拟机也可以,大部分人第一次接触 Linux 也几乎是在虚拟机当中,现如今微软已经把 Linux 嵌入到自己的 Windows 当中,当作为子系统,一些 Linux 发行版也在 Windows 商店上架供大家下载。
总之,Linux 有很多版本供我们选择,如在云服务器上使用,个人比较喜欢用 Debian。
Debian
安装完系统之后接下来做一些修改
1 | |
ufw
ufw(Uncomplicated FireWall) 一款防火墙软件,简化操作
iptables
1 | |
1 | |
ufw&docker
这里有个安全问题,docker 默认是跳过防火墙暴露端口的
因此我们要修改 docker 的配置文件,让其不绕过防火墙
这里有个坑:现在 debian 和 Ubuntu 不能使用去修改 /etc/default/docker 配置文件来让其生效,原因 systemd 来启动 docker 时并不会读取 /etc/default/docker 文件。
正确解决方案:修改 /etc/docker/daemon.json 文件
1 | |
附上链接:https://github.com/moby/moby/issues/9889#issuecomment-270485482
Dockr
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
使用 docker 来部署,可以很好的保持本地和服务器环境一致,并且多版本部署,搭建集群等功能。
容器
下面是一张 Docker 容器的关系图,服务器上面跑的服务几乎全是运行在容器当中,这样有利于我很好的去管理应用程序以及管理基础架构,部署服务更加方便。
flowchart TB
subgraph docker[Docker]
subgraph network[Network]
subgraph bridge[Network Bridge]
net_nginx((nginx))
net_other((other))
end
end
subgraph container[Container]
subgraph web[WebServer Container]
subgraph nginx[Nginx]
service((service))
website((website))
end
end
subgraph app[Application Container]
app1(app1)
app2(app2)
app3(app3)
app4(app4)
app5(app5)
end
subgraph database[Database Container]
mysql5.7[(MySQL5.7)]
mysql8.0[(MySQL8.0)]
redis[(Redis)]
mongodb[(MongoDB)]
end
end
nginx-- 反向代理 -->app
app<-- bridge -->database
end
Bridge Network
因为我只用 bridge network,所以只说一下这一种类型及简单操作。
网络模式
- bridge:桥接 docker(默认,最常用)
- none:不配置网络
- host:和宿主机共享网络
- container:容器网络连通(用的少,局限很大)
常用命令
1 | |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!