chore: lint text and auto correct

This commit is contained in:
github-actions[bot]
2023-06-06 06:13:34 +00:00
committed by GitHub
parent 263610a74c
commit 663265dccc
28 changed files with 610 additions and 610 deletions

View File

@@ -20,41 +20,41 @@ tags:
## 云服务器相关的几个概念
### 服务器的操作系统
主要分为两大阵营Windows ServerLinux Server。前者一般自带可视化界面基本兼容平时使用的exe程序某种程度上也可以作为“云电脑”使用。后者一般不自带图形化界面操作都通过特定命令完成上手难度较高但配置各种开发环境、安装各类高级工具比win平台更容易。没有Linux基础的用户建议先在本地建立虚拟机练习。
主要分为两大阵营Windows ServerLinux Server。前者一般自带可视化界面基本兼容平时使用的 exe 程序,某种程度上也可以作为“云电脑”使用。后者一般不自带图形化界面,操作都通过特定命令完成,上手难度较高,但配置各种开发环境、安装各类高级工具比 win 平台更容易。没有 Linux 基础的用户建议先在本地建立虚拟机练习。
Linux Server主要的两个阵营为Debian系、RedHat系。主要的发行版
Linux Server 主要的两个阵营为 Debian 系、RedHat 系。主要的发行版
- Debian系Debian, Ubuntu
- RedHat系RedHat, CentOS, Fedora
- Debian Debian, Ubuntu
- RedHat RedHat, CentOS, Fedora
对于初学者来说,最明显的区别在于前者使用 `apt install xxx`  来安装软件,而后者是通过 `yum install xxx`  来安装。
### 公网IP
IP可以理解为一台设备在互联网世界中的门牌号和地址相当于知道某个具体的地址就能发快递包裹。IP分为公网IP和内网IP。顾名思义内网IP一般用于公司或学校内部。一般来说只知道一台设备的内网IP的情况下并不能准确定位这台设备就类似于只知道你的朋友的名字并不能直接给他寄快递你必须要知道他学校/单位/家的地址才行。
### 公网 IP
IP 可以理解为一台设备在互联网世界中的门牌号和地址相当于知道某个具体的地址就能发快递包裹。IP 分为公网 IP 和内网 IP。顾名思义内网 IP 一般用于公司或学校内部。一般来说,只知道一台设备的内网 IP 的情况下并不能准确定位这台设备,就类似于只知道你的朋友的名字,并不能直接给他寄快递,你必须要知道他学校/单位/家的地址才行。
服务器拥有公网IP的好处在于你可以直接通过这个IP定位到你的服务器相当于你的服务器在互联网世界中拥有了响当当的名号只要说出这个名号互联网世界的公民都能知道他给他发消息。
服务器拥有公网 IP 的好处在于,你可以直接通过这个 IP 定位到你的服务器,相当于你的服务器在互联网世界中拥有了响当当的名号,只要说出这个名号,互联网世界的公民都能知道他,给他发消息。
_*此处公网内网IP的叙述仅适用于IPv4地址。更多关于IPv4地址和IPv6地址的相关信息参见文末扩展阅读。_
_*此处公网内网 IP 的叙述仅适用于 IPv4 地址。更多关于 IPv4 地址和 IPv6 地址的相关信息参见文末扩展阅读。_
### 端口 
端口的英文为port有港口的意思。一般来说一台设备不同的端口运行着不同的服务我们可以很好的控制特定端口的开放与关闭从而控制不同的服务是否对外开放正如开放一个通商口岸。常见的服务端口有 `HTTP  80`   `HTTPS  443`   `DNS  53`   `SSH 22`  
端口的英文为 port有港口的意思。一般来说一台设备不同的端口运行着不同的服务我们可以很好的控制特定端口的开放与关闭从而控制不同的服务是否对外开放正如开放一个通商口岸。常见的服务端口有 `HTTP  80`   `HTTPS  443`   `DNS  53`   `SSH 22`  
一个服务也可能不是仅仅通过一个端口提供服务他可能会将一个大的功能拆分为几个子功能通过不同的端口与外界通讯。如FTPSMB等。你可以通过关闭指定端口来详细控制特定服务。当然如果你想想外面提供像FTP这样通过多个端口与外界通讯的端口就要注意要确保他使用的所有端口都要设置为开放才能保证外界的正常访问。
一个服务也可能不是仅仅通过一个端口提供服务,他可能会将一个大的功能拆分为几个子功能,通过不同的端口与外界通讯。如 FTPSMB 等。你可以通过关闭指定端口来详细控制特定服务。当然如果你想想外面提供像 FTP 这样通过多个端口与外界通讯的端口,就要注意要确保他使用的所有端口都要设置为开放才能保证外界的正常访问。
_*FTP是一种文件传输协议你可以在某些电影资源的下载链接里看见以 `ftp://`  开头的链接。这说明这个电影资源是存放在某个FTP服务器上。_
_*关于FTP、SMB的端口使用及配置参见文末扩展阅读_
_*FTP 是一种文件传输协议,你可以在某些电影资源的下载链接里看见以 `ftp://`  开头的链接。这说明这个电影资源是存放在某个 FTP 服务器上。_
_*关于 FTP、SMB 的端口使用及配置参见文末扩展阅读_
### 防火墙
防火墙Firewall某种程度上是控制本机与外界通讯的工具。下面以几个具体的实例来介绍下防火墙
- 你的服务器建了个网站需要向外提供HTTP服务那么你需要在防火墙中设置开放80端口允许其他所有IP访问。
- 公司有一台服务器搭载了一个仅面向公司员工的网站希望仅允许公司内的员工访问。而公司内员工的内网IP个格式为192.168.*.*那么就可以在防火墙中设置仅允许来自IP192.168.*.*的设备访问这台服务器的80端口其他一律禁止
- 近期互联网上流行一种病毒X通过计算机的1234端口感染其他机器。那么为了保护本机不受病毒影响你可以在防火墙中设置关闭1234端口禁止任何来源访问1234端口从而将病毒X阻挡在防火墙外。
- 你的服务器建了个网站,需要向外提供 HTTP 服务,那么你需要在防火墙中设置开放 80 端口,允许其他所有 IP 访问。
- 公司有一台服务器搭载了一个仅面向公司员工的网站,希望仅允许公司内的员工访问。而公司内员工的内网 IP 个格式为 192.168.*.*,那么就可以在防火墙中设置,仅允许来自 IP192.168.*.*的设备访问这台服务器的 80 端口,其他一律禁止
- 近期互联网上流行一种病毒 X 通过计算机的 1234 端口感染其他机器。那么为了保护本机不受病毒影响,你可以在防火墙中设置关闭 1234 端口,禁止任何来源访问 1234 端口,从而将病毒 X 阻挡在防火墙外。
**注意对于云服务器来说可能会存在多重防火墙。一般Linux系统自身会有一套防火墙firewalld/ufw等云服务商会有一套网络防火墙一般为网络安全组/网络访问控制等)**
**注意:对于云服务器来说,可能会存在多重防火墙。一般 Linux 系统自身会有一套防火墙firewalld/ufw 等),云服务商会有一套网络防火墙(一般为网络安全组/网络访问控制等)**
### 几种远程连接方式对比
@@ -66,38 +66,38 @@ _*关于FTP、SMB的端口使用及配置参见文末扩展阅读_
| **网络要求** | 极低 | 高 | 较高 |
| **配置难度** | ★ | ★★★ | ★★ |
- 1 部分Linux发行版自带VNC连接不过大部分需手动启用
- 2 RDP连接对于同为Win的机器更为容易对于平台不一样的情况配置比较麻烦
- 1 部分 Linux 发行版自带 VNC 连接,不过大部分需手动启用
- 2 RDP 连接对于同为 Win 的机器更为容易,对于平台不一样的情况,配置比较麻烦
## 快速入门须知
当你拥有了一台属于自己的云服务器,你发现面对复杂的控制台手足无措,不知道怎么连接,不知道能拿来干什么。那么你可以参考一下的步骤。**下文仅适用于Linux Server & 有一点点Linux操作经验的选手**。
当你拥有了一台属于自己的云服务器,你发现面对复杂的控制台手足无措,不知道怎么连接,不知道能拿来干什么。那么你可以参考一下的步骤。**下文仅适用于 Linux Server & 有一点点 Linux 操作经验的选手**。
### 开启SSH远程连接
### 开启 SSH 远程连接
#### 服务器端设置
1.首先,登陆你的账户,打开云服务器的控制台,开机(不解释)  
2.定位到你的云服务器,一般新的账户只有一台云服务器实例,点击其菜单,找到远程连接选项  
3.接下来会打开一个网页端的黑框,根据其提示,设置实例密码等等。这里记录你的系统用户名和密码。
4.一般网页端会有提示根据具体情况开启SSH服务设置允许root权限远程登录。具体的操作因平台和操作系统不同而不同此处不再赘述。
5.现在到服务器菜单里找到网络设置/防火墙设置/网络安全组设置,点击进入,**开启服务器22端口的访问权限**。
4.一般网页端会有提示,根据具体情况开启 SSH 服务,设置允许 root 权限远程登录。具体的操作因平台和操作系统不同而不同,此处不再赘述。
5.现在到服务器菜单里找到网络设置/防火墙设置/网络安全组设置,点击进入,**开启服务器 22 端口的访问权限**。
接下来在你的电脑上配置SSH远程访问。 
接下来在你的电脑上配置 SSH 远程访问。 
#### 本地电脑设置
1.1 Win10用户和Linux用户、Mac OS用户一般系统会预装ssh客户端。打开CMD命令控制符/PowerShell输入ssh回车看是否有反应。**如果没有提示xxx找不到可以直接到步骤2.1**。
1.1 Win10 用户和 Linux 用户、Mac OS 用户一般系统会预装 ssh 客户端。打开 CMD 命令控制符/PowerShell输入 ssh 回车看是否有反应。**如果没有提示 xxx 找不到,可以直接到步骤 2.1**。
1.2 如果没有反应,你需要到 设置-应用-可选功能 中安装SSH客户端。
1.2 如果没有反应,你需要到 设置 - 应用 - 可选功能 中,安装 SSH 客户端。
1.3 Windows其他版本用户需要安装第三方SSH客户端。这里推荐使用Putty。
1.3 Windows 其他版本用户需要安装第三方 SSH 客户端。这里推荐使用 Putty。
2.1 接下来使用 `ssh 你的用户名@你的服务器IP` 来连接到你的服务器。注意**At符号@前后没有空格 ,输完回车确认**。正常情况下可以成功连接到。
2.1 接下来使用 `ssh 你的用户名@你的服务器IP` 来连接到你的服务器。注意**At 符号@前后没有空格,输完回车确认**。正常情况下可以成功连接到。
2.2 如果出现Permission denied可能的原因有`用户名密码错误` / `未开启root账户远程登录`
2.2 如果出现 Permission denied可能的原因有`用户名密码错误` / `未开启root账户远程登录`
2.3 如果出现Connection time out则大概率是你`IP地址填写错误`,也有可能是你的`服务器没开机`/ `你的服务器系统没有默认开启ssh服务 `/ `防火墙未放行22端口`
2.3 如果出现 Connection time out则大概率是你`IP地址填写错误`,也有可能是你的`服务器没开机`/ `你的服务器系统没有默认开启ssh服务 `/ `防火墙未放行22端口`
排查相关问题请带上相关关键字去搜索引擎搜索。
@@ -106,34 +106,34 @@ _*关于FTP、SMB的端口使用及配置参见文末扩展阅读_
#### 安装软件的命令及常见问题
参见上文介绍操作系统的部分。不过具体安装的时候经常会遇到的问题为安装需要root权限。一般来说日常使用时为了安全期间我们不会直接用root账户进行操作。通常的做法为创建一个普通的账户当执行需要高权限的指令时在命令前加上sudo或是使用 `su root`  来临时切换为root用户*,并输入密码来进行二次确认,以确保安全性。此处涉及到的操作有:  
参见上文介绍操作系统的部分。不过具体安装的时候,经常会遇到的问题为安装需要 root 权限。一般来说,日常使用时为了安全期间,我们不会直接用 root 账户进行操作。通常的做法为创建一个普通的账户,当执行需要高权限的指令时在命令前加上 sudo或是使用 `su root`  来临时切换为 root 用户*,并输入密码来进行二次确认,以确保安全性。此处涉及到的操作有:  
- 添加一个普通用户 ( `useradd NEWUSERNAME`  /  `adduser NEWUSERNAME`  )
- 设置新用户的密码  ( `passwd USERNAME`  )
- 将新用户添加到sudoers的列表中  ( 修改 `/etc/sudoers`  ) 
- 将新用户添加到 sudoers 的列表中  ( 修改 `/etc/sudoers`  ) 
具体操作可以以  `操作系统名称+操作关键字`  为关键字在搜索引擎中自行搜索详细教程。
_*临时切换为root用户执行完命令后记得用exit命令退出root账户_
_*临时切换为 root 用户,执行完命令后,记得用 exit 命令退出 root 账户_
#### 镜像源的设置
执行完上述命令当你尝试安装一个软件时如果你云服务器提供商没有为你的系统进行“优化”的话你会发现安装软件的速度非常慢。这是因为这些Linux系统基本都是由国外的厂商/组织进行开发,安装软件时需要到位于国外的服务器获取数据,你的网络请求可能会跨越大半个地球,网络速度也随着传输距离的增加不断减小*。国内有很多组织建立了公益性质的镜像站点,我们可以将安装程序的软件源设置为位于国内的镜像站点以大大提高软件安装下载的速度。
国内的镜像站点有**阿里云镜像站**、**清华大学tuna镜像站**、**中国科学技术大学开源镜像站**等。这些站点提供多种主流Linux发行版的软件安装源的镜像。不同操作系统更换软件源的操作有所不同可以到以上镜像站点中查找特定系统更换软件源的详细步骤。
执行完上述命令,当你尝试安装一个软件时,如果你云服务器提供商没有为你的系统进行“优化”的话,你会发现安装软件的速度非常慢。这是因为这些 Linux 系统基本都是由国外的厂商/组织进行开发,安装软件时需要到位于国外的服务器获取数据,你的网络请求可能会跨越大半个地球,网络速度也随着传输距离的增加不断减小*。国内有很多组织建立了公益性质的镜像站点,我们可以将安装程序的软件源设置为位于国内的镜像站点以大大提高软件安装下载的速度。
国内的镜像站点有**阿里云镜像站**、**清华大学 tuna 镜像站**、**中国科学技术大学开源镜像站**等。这些站点提供多种主流 Linux 发行版的软件安装源的镜像。不同操作系统更换软件源的操作有所不同,可以到以上镜像站点中查找特定系统更换软件源的详细步骤。
_*请注意此处叙述并不准确与一个站点通信的速度取决于很多因素。_
#### 常用工具的安装
更换好了软件源后,我们就可以愉快的安装软件了。你可以尝试安装一下 `screenfetch`  的软件包进行测试,安装完成后输入 `screenfetch`  命令,他会在你的屏幕上输出字符画形式的系统图标和系统配置信息。
部分Linux发行版可能并没有预置很多的软件包你可以根据自己的需要进行安装如文本编辑工具 `nano`  `vim`  等*。C编译工具 `gcc`  ,C++编译工具 `g++`  Java开发组件 `openjdk`  等。
部分 Linux 发行版可能并没有预置很多的软件包,你可以根据自己的需要进行安装,如文本编辑工具 `nano`  `vim`  等*。C 编译工具 `gcc`  ,C++编译工具 `g++`  Java 开发组件 `openjdk`  等。
_*推荐初学者使用易于上手的 `nano`  文本编辑器。大部分Linux发行版都有预置。_
_*推荐初学者使用易于上手的 `nano`  文本编辑器。大部分 Linux 发行版都有预置。_
## 初级玩法
- **搭建Wordpress网站**为服务器安装好基础设施部署wordpress服务。参见 [服务器LAMP部署](https://help.aliyun.com/document_detail/50774.html?spm=a2c4g.11186623.6.1134.26fc7ed9zbIv5a)[Wordpress搭建](https://segmentfault.com/a/1190000013035065)
- **作为远程开发环境**  [VSCode进行远程开发](https://www.jianshu.com/p/0f2fb935a9a1)
- **搭建 Wordpress 网站**:为服务器安装好基础设施,部署 wordpress 服务。参见 [服务器 LAMP 部署](https://help.aliyun.com/document_detail/50774.html?spm=a2c4g.11186623.6.1134.26fc7ed9zbIv5a)[Wordpress 搭建](https://segmentfault.com/a/1190000013035065)
- **作为远程开发环境**  [VSCode 进行远程开发](https://www.jianshu.com/p/0f2fb935a9a1)
@@ -146,7 +146,7 @@ _*推荐初学者使用易于上手的 `nano`  文本编辑器。大部分Linux
## 扩展阅读
- [IPv6是什么](https://zhuanlan.zhihu.com/p/36542469)
- [IPv6 是什么?](https://zhuanlan.zhihu.com/p/36542469)
- [CentOS7 firewall 开放服务 / 端口](https://www.jianshu.com/p/016ee3b7ff97)
- [在 Ubuntu 中用 UFW 配置防火墙](https://linux.cn/article-8087-1.html)
- [让你的 WordPress 网站更快的 16 条建议](https://www.wpdaxue.com/make-your-wordpress-site-faster.html)