linux 服务器基本知识快速入门指南

编辑于:2019年10月28日
linux 服务器基本知识快速入门指南

制作一个网站或者搭建某种代理工具,无论目的是什么,对一直使用Windows或OS X桌面系统的我们,在初次接触 linux、ECS、VPS、脚本和命令时,对这些概念一片茫然。

虫子虽然目前连门都没入,但经过最近几年折腾“网站”,稍微积累了一些linux服务器的使用经验,纯小白的经验,分享给同样是小白的你们;请大神们略过。

硬件概念

购买“服务器”时可能会遇到网页空间VPSECS独立服务器这些名词,它们大致分为3类。

网页空间

拥有的权限非常小,通常只能通过FTP上传类似wordpress的程序来搭建一个小网站,目前已经很少见了,不推荐使用。

云服务器

不同厂家叫法不同,像vultr搬瓦工等叫VPS,阿里云叫ECS,腾讯云叫CVM,谷歌云叫VM,亚马逊云叫EC2。可以简单的理解为把一台或多台完整的服务器分成独立的几部分,比如一台10核20GB内存500GB硬盘的服务器,分成5个2核4GB内存100GB硬盘的VPS。

云服务器拥有和独立服务器相同的权限,多数支持弹性伸缩,例如你感觉2核不够用了,可以云端升级到4核,而部署在云服务器上的网站或业务不受影响。

独立服务

这个很好理解,就是一台完整的服务器不和任何人共用,如同租赁了一台服务器放到机房托管,机房为你供电和提供公网IP、宽带,你拥有这台服务器的几乎所有的管理权限。

独立服务器的配置一般都比较高,和云服务器相比,相同配置的独立服务器价格较为便宜,适合部署大型业务。

软件概念

linux与Windows、os X一样,是一种操作系统,logo是一只可爱的企鹅。这里有两个概念,linux内核linux发行版

linux内核操作系统的核心,负责控制硬件、管理文件系统、程序进程。
linux发行版是在linux内核基础上,集成各种系统管理软件或应用工具软件,最终组成的一套完整的操作系统

常见的linux发行版有CentOSUbuntuDebianArch Linux等等,虫子个人建议,搞网站可以选择CentOS(最新版是CentOS 7)、搭建网络代理工具可以选择Debian(最新版是Debian 9 代号stretch)

常用工具

SSH客户端

服务器所在地远的在海外,近的也在国内各省市,在家中如何控制呢?我们一般称这些软件为SSH 客户端

  • WindowsXshell、PuTTY;
  • Mac:可用系统自带 [终端];
  • 安卓:JuiceSSH、Termius;
  • iOS:Termius、HyperApp。

上传下载

使用FTP客户端可以从服务器下载文件到本地电脑,或从本地电脑上传文件到服务器。

Windows系统推荐使用Xftp,它和Xshell同出一个公司,从Xshell启动Xftp时不需要再次输入账号密码,非常方便。

代码编辑

电脑自带的记事本可以编辑PHP、js等格式的文件,但和专业的编辑器相比不支持代码高亮和检错等功能,体验非常差,建议安装一些专用的代码编辑器,例如

执行命令

在服务器上,linux发行版多数是命令行界面(CLI),没有Windows这种图形用户界面(GUI)不能通过鼠标点点点来操作。

我们通过SSH客户端连接服务器,然后在SSH客户端输入命令行对服务器进行控制。像虫子这种小白对命令行非常不熟悉,有时候看别人教程中的命令行截图,不知道哪些是需要输入到客户端的命令行,哪些服务器执行命令行后反馈的结果,如何看懂这些教程呢?

我们以执行查询句柄数的命令ulimit -n为例,它在不同教程中可能会有如下写法

#开头

[root@server05 ~]# ulimit -n
1024
  • root:是用户名(一般root权限账号的名字都是root),
  • server05:是服务器名字(不同服务器的名字可能不同),
  • ulimit -n:#后面的 ulimit -n 就是输入到SSH客户端命令,是我们跟着教程要在SSH客户端输入并执行的内容,注意不需要将 # 输进去。
  • 1024:则是执行完 ulimit -n 这条命令后服务器的反馈也就是执行后的结果。

除了上述的形式,有些教程可能不展示[root@server05 ~],而是直接写作如下形式:

# ulimit -n
1024

$开头

$ ulimit -n
1024
  • $ ulimit -n:一般$ 后的内容 ulimit -n 是输入到SSH客户端的命令,注意不需要将 $ 输进去。
  • 1024:服务器执行命令后的反馈。

#和//

//查询句柄数
ulimit -n
#查询句柄数
ulimit -n

在上述两个例子中,有//和#符号,并且符号后面通过文字作了说明

  • //和#:在这里一般是注释符号,用来解释说明下方命令的作用。注意不要和第一种形式的“#开头”混淆,比如#做注释时后面跟的是中文
  • ulimit -n:要执行的命令

常见问题

wget: command not found

wget是一个从网络上自动下载文件的自由工具,command not found 的意思是没有找到命令,合在一起就是没找到wget无法执行这个命令。

一般是系统太干净,我们给服务器安装wget工具,然后在执行之前的wget命令就不会提示wget: command not found了。

这里需要重点说明,比如执行 screen 命令时,提示 screen: command not found,或者其它命令反馈 命令+: command not found,多数是指缺少这个“工具”,那么先安装这个工具再去执行命令一般就不会报错了。

不知道如何安装这些“工具”?非常简单,直接网上搜索服务器反馈的提示,例如搜索“wget: command not found”,可以找到很多关于导致这个提示的原因和解决办法的文章。一定要善于使用搜索,未经搜索就发帖和留言询问,是极不负责也是最低效的解决办法。

apt-get 与 yum

还是以wget为例,根据提示发现服务器缺少wget工具,我们需要单独安装。不同linux发行版本使用的安装方法是不同的

CentOS一般使用yum,例如安装wget的命令是

yum -y install wget

Ubuntu、Debian一般使用apt-get,例如安装wget的命令是

apt-get install -y wget

sudo -i

有些脚本或命令的执行,需要root管理员权限,如果你登陆SSH使用的账号密码没有root权限(登录时用户名不是root)将无法执行,所以需要临时获取root权限。

在SSH执行 sudo -i 命令,可以让你临时获取root权限,之后可以正常执行需要root权限的脚本或命令

sudo -i

时间

某些程序对时间有严格的要求,服务器需时间如果不正确需要进行调整。

[root@server05 ~]# date -R
Tue, 30 Oct 2018 22:40:44 +0800

+0800是东八区时区也就是北京、上海时间;如果显示的时区是+0000,则是格林威治标准时间;显示时区是+0100则是东一区。同一时间,不同的时区显示的时间会不同,具体你可以网上搜索转换。只要转换后的时间是对,时区不一样没关系。

假如时间不对,可以通过执行时间修改命令:

[root@server05 ~]# sudo date --set="2018-10-30 22:40:44"
Tue, 30 Oct 2018 22:40:44 +0800

相关推荐

Debian 9 快捷开启TCP BBR 加速功能

Debian 9 快捷开启TCP BBR 加速功能

Debian9 系统默认的是编译了 TCP BBR 的 4.9版内核,所以采用了Debian9系统的服务器可以不用进行繁琐的安装,仅通过几条简单的参数命令就能开启BBR加速。