forked from x/ContextOS
144 lines
3.7 KiB
Markdown
144 lines
3.7 KiB
Markdown
## 《后端技术栈》简介
|
||
后端技术栈,是对后端服务器开发中所用到的技术进行组合,不断的优化框架结构与服务水平。
|
||
|
||
- Linux
|
||
- Nginx
|
||
- Python 是一种脚本语言,
|
||
- MySQL
|
||
- Redis
|
||
|
||
## 基础入门
|
||
### Linux
|
||
Linux系统的应用十分广泛,有很多流行的桌面操作系统与移动操作系统,尤其是在云计算的服务器领域和物联网的嵌入式设备中,
|
||
因为有大量免费开源的软件可以自由的下载与使用,尤其是有很多优秀的软件开发工具,可以搭建起高效的开发与测试环境,所以熟练掌握Linux是程序员必备的技能。
|
||
|
||
严格上意义上讲Linux只是一个系统内核,没法直接使用,还需要各种应用软件。
|
||
GNU是一个软件基金组织,提供了各种各样免费开源的自由软件。
|
||
debian就是把Linux内核与GNU软件打包成一个完整的操作系统,并且提供了软件包管理工具,可以很方便的下载各种应用软件。
|
||
ubuntu在debian的基础上,提供了更加友好的桌面系统,降低了使用难度。
|
||
apache也是一个著名的软件基金组织,赞助了一系列的开源软件,尤其是服务器相关的软件,所以推动了WEB繁荣发展。
|
||
|
||
- [Linux官网](https://www.linux.org/)
|
||
- [GNU官网](https://www.gnu.org/)
|
||
- [debian官网](https://www.debian.org/)
|
||
- [Ubuntu官网](https://www.ubuntu.com/)
|
||
- [Apache官网](https://www.apache.org/)
|
||
|
||
电脑端常见的操作系统是MacOSX与Windows。
|
||
所以使用Linux常用的方式有:
|
||
|
||
- 购买一个开发板,如树莓派开发板,提供了一整套完整的环境,可以制作各种电子设备,软硬件结合,更加有直观的成就感。
|
||
- 租用一个云主机,如阿里云的服务器也很便宜,再申请一个域名与证书,就可以搭建一服务器,提供各种应用服务,也会很有成就感。
|
||
- 本地安装虚拟机,当然最主要的还是在自己电脑上安装一下,可以选择各种虚拟机软件安装如VMWare或VirtualBox,像应用软件一样安装操作系统。最近流行的Docker容器技术,也可以尝试一下。
|
||
|
||
#### 软件管理
|
||
apt是debian与ubuntu的软件管理工具,Linux之所以这么流行,就是因为有大量优秀的开源软件与免费软件可以自由的获取与使用。
|
||
|
||
- 软件源 /etc/apt/sources.list
|
||
- 软件包清单 /var/lib/apt/lists
|
||
- 软件包缓存 /var/cache/apt/archives/
|
||
- 更新软件源 apt-get update
|
||
- 安装软件包 apt-get install
|
||
- 卸载软件包 apt-get remove
|
||
- 清空软件包 apt-get purge
|
||
- 清理缓存包 apt-get clean
|
||
- 清理无用包 apt-get autoclean
|
||
- 搜索软件包 apt-cache search
|
||
- 查看软件包 apt-cache show
|
||
|
||
#### 帮助信息
|
||
|
||
- man
|
||
- whatis
|
||
- apropos
|
||
|
||
#### 本地化
|
||
|
||
- locale
|
||
|
||
#### 网络管理
|
||
|
||
- hostname
|
||
- /etc/hosts
|
||
- /etc/resolv.conf
|
||
|
||
#### 用户管理
|
||
|
||
- /etc/passwd
|
||
- /etc/shadow
|
||
- /etc/group
|
||
- /etc/shells
|
||
- vipw
|
||
- vigr
|
||
- passwd
|
||
- chsh
|
||
- newgrp
|
||
- id
|
||
- addgroup
|
||
- delgroup
|
||
- groupmod
|
||
- adduser
|
||
- /etc/adduser.conf
|
||
- /etc/skel
|
||
- bash
|
||
- /etc/bash.bashrc
|
||
- /etc/profile
|
||
- ~/.bashrc
|
||
- ~/.bash_profile
|
||
- zsh
|
||
- /etc/zshrc
|
||
- /etc/zshenv
|
||
|
||
#### 时间管理
|
||
|
||
- date
|
||
- /etc/timezone
|
||
|
||
#### 权限管理
|
||
|
||
- sudo
|
||
- visudo
|
||
- /etc/sudoers
|
||
|
||
#### 磁盘管理
|
||
|
||
- /etc/fstab
|
||
- mount
|
||
- umount
|
||
|
||
#### 内核管理
|
||
#### 系统启动
|
||
system
|
||
#### 远程登录
|
||
|
||
- ssh
|
||
- scp
|
||
- sftp
|
||
- ssh-keygen -t rsa
|
||
- ~/.ssh/id_rsa
|
||
- ~/.ssh/id_rsa.pub
|
||
- ssh-copy-id
|
||
- ~/.ssh/authorized_keys
|
||
|
||
|
||
|
||
### Nginx
|
||
### Python
|
||
Mac上自带python,不需要安装。Ubuntu上也自带python。更多信息参考:[python官网](https://www.python.org/)
|
||
|
||
### MySQL
|
||
### Redis
|
||
## 微服务化
|
||
### es
|
||
### etcd
|
||
### kafka
|
||
### consul
|
||
### thrift
|
||
### databus
|
||
## 源码解析
|
||
### Linux
|
||
### Nginx
|
||
### Python
|
||
### MySQL
|
||
### Redis
|