2019年5月

视频点此

随意选择。


这可能是很多刚接触Linux的用户的一个疑问。全世界600+发行版,我到底该怎么选择我要用的发行版呢?

随着Linux各种支持的完善、稳定性和易用性的提升,现在各个发行版之间的差异性已经愈发的不明显了,因此开头所说的随意选择并不是玩笑。但发行版之间的差异确实依旧存在,加之每个发行版的用户数量、用户质量都不尽相同,所以我相信在每一名Linux用户的心中都有一份自己的Linux发行版排名。一个很明显的例子:如果你在Youtube上面搜索Linux相关的视频,你会看到很多标题为“Top x Best Linux Distros”之类的,给发行版做一个排名的视频。当其他人询问“我该装哪个发行版”这种问题的时候便会根据自己心目中的排名来推荐。因此为了最大化的公正,在这个视频里边,我分为两部分向你介绍怎么选择:第一部分,根据我心中的排名,完全主观的向你推荐;第二部分,向你介绍几种相对客观的选择方法。

是的,这礼拜的投稿没有什么技术性的干货。所以如果你是想看服务器的,下礼拜再来。你应该能看出来,我的服务器系列是半月刊的吧?好,那么现在就开始今天的茶话会。

我的Linux推荐

不要看发行版众多,但本质上来说,Linux出名的就那么几种:Debian系、RedHat系、Archlinux系、OpenSUSE系。其他的发行版基本都是从这几个Linux衍生出来的——当然,也有一些可以说是独自建立的发行版比如英特尔的Clear Linux这种。它们的唯一区别就在于包管理器的不同。所以一份自己的Llinux名单建立只有两个因素:基于什么的发行版、使用体验怎么样。

一般来讲,求推荐的都是刚接触Linux的用户,所以核心问题就是易用,有问题可以很快的找到解决方法。如果放在几年前,我一定会向你推荐烂大街的Ubuntu这个占有率遥遥领先的发行版。但现在,Deepin这个基于Debian的发行版可能会是我最先向你推荐的一个。这是一个国内推出的发行版,所以相对于多数发行版来说,其本地化体验会有相当的提升。一个最简单的例子:它的软件商店包含了很多国内常用的软件,QQ、微信、百度云这种在其他发行版之下可能得配置一番的软件,在Deepin下都不是问题。只需要在应用商店里边点一下安装按钮,便可自动配置完成使用。其社区的中文用户量也算是比较庞大的,这使得如果在使用中遇到一些问题,也可以很方便的寻求答案。

图片来源深度论坛

但正所谓金无足赤人无完人,Deepin同样有一些问题需要你关注。

软件版本较旧。这可以肯定是因为最近的大概导致的。你可以理解成为了稳定做出的牺牲。但偏偏现在的系统整体又不是很稳定。这在社区中的也是反馈比较多的问题。可能是最新版本进行了重大改变的原因造成的。

社区的中文用户虽然庞大,但平均质量不高。当然,因为确实存在较高质量的用户,所以你不必担心自己的问题无人解答。但可以肯定的是,中文社区有用的信息不及国际社区有用的信息多。一些中文用户总是会充当一些莫名其妙的云CEO、时事观察员这类角色,看起来仿佛很积极的在帮助深度发展,但无疑,这种顶多能表现出自己的爱国情怀,对深度的发展、社区的质量起不到什么作用。

总的来说,Deepin在日常办公方面完全足够,其不稳定也是体现在个别的硬件或者极限工况下。但如果你确实对不稳定和软件老旧有所顾忌,或者你并不是特别需要国内常用的软件,那么Deepin可能并不是最理想的发行版。这时候,你就可以考虑烂大街的Ubuntu了。

图片来源oschina

你可以把Ubuntu理解成Linux中的Windows:技术成熟、社区庞大,开箱即用。即使有一些软件在自带的软件商店找不到,同样可以去官方网站搜索。如果这个软件支持Linux,那么它一定会提供deb格式的安装包。但这个deb很大可能只能装在Ubuntu上而不能装在Ubuntu的父亲Debian上。因为Ubuntu虽然基于Debian,但它拥有自己的软件仓库,相对于Debian同样软件的版本要新。同时,Ubuntu拥有自己的显卡驱动方案,在英伟达和英特尔核显双显卡的笔记本上技术是比较成熟的。

要我说它的缺点,首先一点,就是Deepin移植的一些国内软件Ubuntu没有,即使有,其安装过程也比较麻烦。再者,Ubuntu经常会出现恼人的“发送错误报告”窗口。主要是由于国内发送会大概率失败导致每次登陆都会询问你是否发送。你可以手动删掉它,或者你也可以听它的意见尝试发送,保不齐就发送成功了。另外,因为Ubuntu不是滚动更新,如果不是用长期支持版本的话,每半年就会有新的版本推送。这个更新是较为危险的,很可能会更新失败而无法使用。所以如果你没有能力解决这个问题,那么你可以使用长期支持的版本,或者使用我下面推荐的这个——Manjaro

图片来源lulinux

Manjaro是基于Archlinux的发行版,最大的特点就在于完全图形化和自动化了ArchLinux的安装过程,并且拥有一系列图形化的驱动和内核配置软件,这使得用户既可以享受到ArchLinux分支的各种优势,又可以一键设置驱动,亦能根据不同的使用条件而部署不同类型的内核,还不必花费大量时间阅读ArchWiki来安装系统,并从全文本界面逐步配置起图形界面来。

刚刚我说到可以享受到ArchLinux分支的各种优势,那么它的优势在哪儿呢?

软件相比其他分支的发行版总是最新的。得益于Arch近乎简陋的包管理工具,没有版本范围限制的Arch系总是可以毫无顾忌的把软件包更新到最新。但最新同样可能出现一些意料之外的bug,所以Manjaro调慢了更新速度,一般是在Archlinux更新的两个礼拜后Manjaro才会跟进这个版本的更新,如果这过程中出现了问题,Manjaro还会暂停版本的跟进。所以,可以说Manjaro消除了Archlinux用户“滚挂”的顾虑。

另外一个优势,Archlinux特有的AUR软件仓库,使得几乎所有你能想到的软件都可以通过一条命令完成安装,而这条命令Manjaro还给图形化了。所以这相对于Ubuntu还需要去网上下载来讲简单了太多。

但我为什么只给它拍到了第三位呢?首先,我自己是Debian起家,最后不留神入了Arch邪教就出不来的用户。所以我还是偏爱Debian系发行版的;其次,装好的时候中文环境不佳,这对新手来说设置可能有些难度;最后,使用了wayland显示服务。虽然相对于xserver有很多改善,但由于现阶段软件兼容性的问题,所以我最终没有去选择它,而是选择了它的父亲ArchLinux。但我并不推荐新手选择Archlinux,它纯命令行的安装过程可能会让你没入门就放弃。

最后,如果有较多的游戏需求,pop!OS这个基于Ubuntu的发行版可能个不错的选择。相对于前边三个发行版,pop! OS开箱即配置好了游戏环境——我指的是Windows游戏。要知道,自己在Linux下配置一个完善的Windows游戏环境是很困难的。此时这个系统的优势便体现了出来:通过内置软件一键装好显卡驱动后便可直接运行。

图片来源linux公社


相对客观的发行版推荐

这就是我推荐作为刚入门的你的四个发行版。你可能会发现我没有推荐RedHat系的发行版以及openSUSE。主要是因为我很少接触这两个分支,仅仅在服务器上面使用CentOS这个RedHat分支的系统而已,其他的包括我的树莓派、我的笔记本 和台式机上面全都是Debian和Arch的发行版。这也是每个Linux用户心中对发行版的排名不一样的原因所在。所以,想要较为客观的选择发行版,可以尝试通过我现在要介绍的这两种方法决定一下。

第一种,查看distrowatch.com。这个网站聚合了几乎所有的类Unix发行版,并且根据点击量有一个排名列在这里。自然排名越高就说明热度越高,进而也能有一定的参考价值。但可以肯定的是,这里边肯定会有刷榜的情况出现,而且它也仅仅是展现了distrowatch用户的一个倾向,所以对你来说可能仅仅是一个参考作用,大概看看就好。想更有针对性的选择一款发行版,可以尝试Distro Chooser这个在线调查。它拥有中文页面,只需要根据自己的情况回答好16个问题,便可以给出一些适合你的发行版。相对来说可以得到一个比较客观的结果可以供你参考一下。如果你不喜欢听别人的主观意见,自己又不好决定,那么可以来这个网站来试一试。


其实,关于如何选择发行版这个问题可能仅仅对刚刚接触的人有参考价值。只要你真正试用过一段时间Linux了就应该能明白,在发行版上面纠结其实并没有什么太大的用处。得益于Linux的高度自定义性,你可以把任何一个发行版改造成你想要的样子,提前选择仅仅是为了省去改造的这个过程而已。但如果是初次接触,那么选择一个适合自己的发行版来使用,也许能体会到“一见钟情”的感觉吧。我是没法体会这感觉了,都用了十年Linux了,它再不好使的时候我都经历过,这进步的过程是自己经历的,必然也是感觉不到惊艳之处了。

视频点此

如果你看过了上次的视频,那么现在你的服务器应该已经被你赋予了运行网站的能力了。那么,我们怎样才能快速的搭建一个个人网站出来呢?今天着重来看看这个问题。

当然,你完全可以自己来写——只要你有时间来做这件事。但从零开始这东西,又难又麻烦,就不如利用现有的一些解决方案来实现对不对。那么,现如今都有哪些解决方案可以供你使用呢?

很多。所以我也不可能都介绍一遍。找一些非常容易上手的方案来介绍,我说着也省事你听着也明白,两全其美。

WordPress

一个非常知名的方案——WordPress。

这是一个可以算得上是全能型的解决方案了。它可以让你轻松搭建诸如论坛、网店、CMS等各种类型的网站——即使WordPress最初是以个人博客的身份出现的。

WordPress的用户规模很庞大,在百度上面以WordPress为关键词进行搜索,可以看到成千上万条相关的结果。此外,如果关注一下网站和大型博客的页脚——好像大型博客这词听着有点儿怪…但我也不知道怎么形容那种内容庞大、流量也大的信息发布平台——你会发现有不少都会留下一句:Powered by WordPress。可见WordPress这老大哥在业界的地位。

它为什么可以这么流行?首先,插件系统庞大,这使得管理员可以通过WP很方便搭建各种类型的网站;其次,部署方便。方便到什么程度,我们现在就来看一看。

在这之前,默认你是跟着我上次的视频,是个宝塔用户啊。毕竟我面向新手,图形化终归会更亲民一些。

  • 进入宝塔面板,选择网站—添加站点
  • 弹出窗口,这里有几个注意的地方

    • 想必你还没申请域名。所以在域名这里直接填入你服务器的IP地址即可
    • 根目录的文件夹名称是可以自定义的,可以随便修改
    • FTP可以不创建,毕竟有宝塔面板,用不到FTP来管理文件。不过对于文件夹操作,还是FTP更方便一些
    • 数据库选MySQL,版本应该只有一个,用户名密码设置好
    • PHP版本选择5.6,应该也只有一个
    • 提交,这时会告诉你一些用户名和密码,尤其记住数据库的各种信息
  • 现在在网站的根目录应该可以看到刚创建的文件夹了——不出意外,应该是/www/wwwroot/下面有一个文件夹,进入
  • 现在去往WordPress官网下载最新的WP,最好用tar.gz方便一会儿操作。另外为了避免下载再上传,可以复制下载链接,切换到刚刚的宝塔面板,点击远程下载,直接将文件下载到服务器上。当然如果没有宝塔也无所谓,终端命令下面的wget同样可以做到
  • 现在回到宝塔面板的首页,启动底部功能区的宝塔SSH终端,进行下述操作

    • cd命令切换到网站根目录
    • tar -xzvf 下载的文件名,将压缩包解压到网站根目录下
  • 好了,现在打开浏览器,输入ip,回车,WordPress的部署界面是不是出现了呢?根据提示填入,确定。一个新的WordPress站点出现了

这里可能看起来比较繁琐。主要是因为考虑到你可能用的是Windows系统。如果你也使用Linux,完全可以在文件管理器的地址栏输入sftp://ssh的用户@地址:端口号来挂载服务器磁盘,一切操作就好像在自己电脑上一样,简单明了。

有没有被Linux吸引到?

Typecho

使用WordPress,非常大的好处,就是如果有问题,百度可以很方便的找到解决方法。但正限于其功能强大插件繁多,以至于其在一些低配置的服务器上(VPS、树莓派等等)运行速度比较缓慢,从而使得网站的浏览体验变差。如果你没有很多的建站需求,仅仅是想搭建一个自己的博客,那么Typecho这个方法可能是更好的选择。

Typecho有一个最大的特点:开发进度异常缓慢——十多年了,刚刚到1.1版本(17年10月释放的最新版本)。但正是因为其开发慢,所以插件们不需要频繁的更新以兼容新版本,也使得功能的追加基本为0。所以到现在typecho仍然是一个完全专注于个人博客的一个系统。更简介的功能使得其在同等硬件配置条件下,其执行速度要优于WordPress,特别是在低配置的VPS上。

其部署过程与WordPress几乎相同,所以这里就不再说明了。


两者各有优劣。你要怎么选择呢?

我觉得上文我已经给出大概的答案了:如果你需要搭建很多种类型的网站,有很多的功能需求,那么使用WordPress绝对是最好的选择;反之,如果只是想做一个个人的博客,那么Typecho的轻量快速同样会让你眼前一亮。

但是,市面上的建站方案千千万,这里提到的这两个仅仅是动态站家族的两名成员,静态博客的方案一样很多。但是由于静态博客要求每次编写好一篇文章之后,需要手动执行生成网页的命令并上传到服务器,没有太多的精力来维护,或者初次接触个人博客的话,还是动态站来的更直接一些。

至于插件和主题,无论是WordPress还是Typecho都可以很方便的安装使用,这里自己探索一下就可以了。

建立一个个人博客是不是很简单呢?那么服务器还能干什么,我下次接着说。

视频点此

经常会看到有询问我操作系统和桌面的评论或者弹幕啊。而且之前也有私信问我是怎么配置我的桌面的。今天就统一的来说说,我的图形界面是怎么炼成的

我的KDE桌面

一、关于桌面的调整

先来公布答案。我用的是Archlinux,安装了KDE桌面。具体怎么调整的,一会儿提到。

在调整之前,我想先唠几句。在如果你在b站——不用b站,就百度搜一搜关于Linux图形界面的美化,比如搜“gnome 美化”或者“KDE 美化”之类的,随便点开一个帖子或者评论就可以看到,一定会有人说美化是一个没有意义的事情。这大概也是为什么我攒到现在才做这个主题的原因。

但是,希望你可以明白一点:我的这个桌面并不是美化的结果,这里边一切的元素都是KDE装好就有的插件——除了两个一会儿会提到。所以如果你认为连调整自带的组件位置都算是在做“无意义的美化”的话,那么主题商店的存在就完全是图形界面的一个败笔了。

另外,我不想做这个视频还有一个原因。因为KDE的可定制性太强了,所以我怕你看过我的视频之后会被我的布局方式限制住而削弱了你的创造性。所以请一定记住:我最终做出这个视频,一来是想跟各位说清楚我用的是Archlinux+KDE,二来可以告诉你,KDE的调整入口分别在哪儿,有什么作用。但到底怎么设计,我希望你不会因为我的这个视频而被束缚住。

二、调整

默认你已经安装好KDE了。如果没装好,请去往这个视频。这个视频里边,KDE的中文包已经合并了,所以不必安装KDE的中文包了——其实那个包都找不到了你也装不了。

进入桌面后,我们从最基本的配色开始——我演示一遍就行了因为几乎所有东西都是自带的,你不需要任何额外的操作就能找到。

2.1 配色调整

  1. 打开设置—工作空间主题,选择微风,这应该是默认值。
  2. 点击Plasma主题,选择微风,应该也是默认值。
  3. 回退到主列表,点击色彩,选择亮色微风
  4. 选择应用程序风格—窗口装饰,选择微风并点击配置 微风
  5. 弹出窗口切换到阴影标签页,选择很大,确定,回到主界面点应用。
  6. 切换到按钮标签页,通过拖动对标题栏按钮位置进行更改,应用。
  7. 如果你的设置这里有GTK窗口装饰,请同样将主题调整为微风,下面的图标调整成微风,保存即可。
  8. 回退到主列表,点击桌面行为—桌面特效可以设置像我这样的关闭破碎,或者窗口躲避等等很多效果,自己调吧我就不演示了。

至此,基本的配色就做好了。然后,就是托盘和dock。

2.2 托盘和Dock

  1. 桌面右键—添加面板—应用程序菜单栏,全局菜单的面板就创建好了。
  2. 点击全局菜单面板最右边的设置—添加部件,加入搜索调度器、数字时钟、系统托盘。如果时钟想弄成我这样,可以右击时钟—配置,并按照我这样设置,保存即可。
  3. 调整好每个部件的顺序,点击面板设置中的添加间距,并放置在全局菜单和其他部件之间,完成部件的右对齐。
  4. 再次打开添加部件,点击底部的获得新部件—下载Plasma部件,搜索安装application titleNetwork Monitor`,并添加到面板中。
  5. 右击 Application Title插件—配置,弹出的窗口中像我这样设置,确定。
  6. 使用pacman -S latte-dock安装并启动Dock插件,我的KDE就这样练成了。

所以做成我这样的桌面是不是太简单了?所以不是我会美化,只是因为KDE的底子好。仅仅调整了这么几个地方,就做到我这样的桌面了。所以而KDE还有很多配色,很多插件供你使用,我只是抛砖引玉而已,千万不要因为我的视频而束缚住你自己调整KDE的思维,我可担不起这责任啊。

当然就算你照着我这视频设置好你的KDE了,你可能会发现仍然有些地方不一样,尤其是Dock。这是因为Dock也有一套自定义的主题设置,右击选择停靠栏/面板设置就能看到了。但是我不想细说了,原因跟刚才一样,希望你可以Stay Creative。

终于,所有工作都搬到我的Arch下面了,所以我把我的磁盘重新分了一遍区。这样一来分区更清晰,完全遵循了Linux 的文件管理习惯。但是因为我的电脑安装了三块硬盘,所以对一部分分区做了LVM,便于将多个磁盘统一成一个分区来使用。但这个过程中的坑还是有一些的。为了以后重装(如果需要的话)便捷,记录一下我的Arch配置过程。

一、我的分区结构

我的硬盘为128GSSD(sda)+1TSSD(sdb)+1THDD(sdc).分区方法如图所示

其中,两个lvm2 ps(物理卷)组合成了一个lvm卷组(类似windows跨区卷),名字叫linuxroot,在这个卷组上建立了一个ext4格式的逻辑卷,名字为rootfs。相当于这两个ps合起来的大小等于rootfs这个分区的大小(系统就安装在这个分区上)。

二、lvm的划分方法

我是通过KDE分区编辑器进行的,所以简单的记录一下即可。如果需要在安装过程中进行lvm相关的创建操作的话,需要另行搜索fdisk相关命令。这里只记录KDE分区编辑器的操作步骤。

2.1 创建物理卷

  1. 右键点击一块未分区的磁盘区域,选择新建
  2. 弹出的窗口中,“文件系统”选择lvm2 pv,确定
  3. 重复前两步,将想要组合到一起的区域都创建成lvm2 pv分区格式
  4. 应用更改,使操作生效

2.2 创建卷组

  1. 点击工具 - 新建卷组
  2. 设置好卷组名称,并在左侧勾选想要添加的物理卷,确定
  3. 重复前两步,按照自己的需要创建足够的卷组
  4. 应用更改,使操作生效

2.3 创建逻辑卷

进行过前两步后,主界面左侧的“设备”列表中应该已经出现卷组的选项了。点击对应的卷组切换,即可像操作磁盘一样,对卷组的空间进行划分,创建逻辑卷了。

与一般的分区不同的是,这里需要指定一个逻辑卷名称。

注意:这种逻辑卷的lable表示为 /dev/卷组名/逻辑卷名,或者是/dev/mapper/卷组名-逻辑卷名

三、lvm上安装Archlinux

按照Arckwiki的Installation guide进行到挂在分区之后(lvm分区挂载与一般分区挂载的命令相同,只是注意分区表示的形式即可),按下述步骤继续。

3.1 开启lvm支持

  1. 输入如下命令

    modprobe dm-mod
    vgscan
    vgchange -ay
  2. 编辑 /etc/mkinitcpio.conf ,在HOOKS一行添加 dm-mod、lvm2。即 HOOKS="dm-mod base udev ... block lvm2 filesystems"

之后返回Installation guide继续,直到安装了grub包后(安装grub进boot前),按下述步骤继续。

3.2 开启硬盘系统的lvm支持

  1. 编辑/etc/mkinitcpio.conf,在HOOKS一行添加lvm2。即HOOKS="base udev ... block lvm2 filesystems"
  2. 运行命令mkinitcpio -p linux

之后返回Installation guide继续,直到结束。

注:

  • 如果有异常,尝试向系统中添加lvm2这个包
  • 不推荐将efi分区放在lvm2卷组中(设置太麻烦),直接在硬盘上分出一部分比较好

四、软件包相关记录

4.1 图形界面

我永远追随KDE!

这一步安装的软件包是一些基础组件。如果想的话,在这里也可以只安装桌面环境,其他的都留到之后安装。

推荐在这一步安装以下软件包:

pulseaudio pulseaudio-alsa #声音相关
pulseaudio-bluetooth #蓝牙耳机
xf86-input-libinput #触摸板
plasma-meta #KDE桌面基础环境,更多组件可以在之后按需添加
fcitx kcm-fcitx#小企鹅输入法
sudo #sudo命令
latte-dock #KDE的dock栏插件

注意启动这几个服务:

systemctl enable sddm
systemctl enable bluetooth
systemctl enable NetworkManager
systemctl enable dhcpcd

注意:

  • sddm不可用root账户登陆,需要创建一个非root账户。通过命令useradd -m -g users -G wheel -s /bin/bash 用户名完成。
  • 设置用户的密码。包括root(如果之前没设置的话)
  • 需通过visudo命令,去掉%wheel ALL=(ALL)ALL一行的%,以让所有用户可以使用sudo命令。

4.2 配置软件源

添加archlinuxcn源,并打开32位库。

编辑/etc/pacman.conf,去掉[multilib]部分的注释,并在文件的结尾增加下面的文字:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

刷新软件仓库之后,通过pacman -S archlinuxcn-keyring增加cn源的钥匙环。

4.3 几个对我个人来说比较重要的组件

  • pacman -S yaourt,安装aur的辅助工具(需要archlinuxcn源的支持)
  • yaourt -S octopi,KDE下面的图形化包管理工具,4.4一节中一些模糊搜索安装用这个很快捷

4.4 额外功能的补全

4.4.1 全局菜单

安装以下几个包,即可实现几乎所有窗口的全局菜单化:

appmenu-gtk-module
octopi中,搜索 **dbusmenu** 得到的所有结果

4.4.2 Intel + NVIDIA双显卡

安装以下几个包:

nvidia #英伟达驱动
bbswitch #独立显卡电源控制
optimus-manager-qt-kde #能完整发挥独显性能的解决方案

4.4.3 zsh

通过pacman安装zsh,然后将此文件的内容覆盖到~/.zshrc中,完成配置。

注意:

  • 需要事先安装git命令
  • 通过chsh -s /bin/zsh来更改当前用户的默认终端

4.4.4 tlp

极致省电,电池电池工作时间赶超Windows. 根据我自己的笔记本优化,只适用于我自己

按照这篇文章安装tlp以及相关软件包并启动服务。之后将此文件中的内容覆盖到/etc/default/tlp中,保存即可

在tlp更新到1.3后,配置文件结构变更。上面的文件虽依旧可用,但位置应放在/etc,并文件名应变更为tlp.conf。最好的方法是对照上面的文件手动修改/etc/tlp.conf至一致。

4.4.5 DaVinci Resolve的依赖

可以通过aur安装DaVinci Resolve,但是依赖不全。需要手动添加下述依赖包:

cuda opencl-nvidia

最好将可选依赖都勾选上避免意外错误。同时调整Davinci Resolve的启动命令为通过独显启动。

4.5 一些常用的软件包

并没有全部记录下来。仅仅是将一些可能会忘掉的软件包名称记录在此。
软件包名用途
TIMdeepin.com.qq.officearchlinuxcn/aur-
微信wine-wechatarchlinuxcn/aur避免deepin-wine依赖的冲突,还能自由更新版本
DaVinci Resolvedavinci-resolve(free版本)davinci-resolve-studio(专业版本)aur,安装包需要自行下载并放到指定目录专业视频制作软件
Chromegoogle-chromearchlinuxcn/aur-
网易云netease-cloud-musicarchlinuxcn/aur-
WPSwps-officearchlinuxcn/aur-
typoratyporaaurMarkdown编辑器
Arctimearctimeaur字幕制作
motrixmotrixaur全能下载工具
gnome-settings-daemongnome-settings-daemonextraKDE下运行deepin-wine的一个关键组件
百度网盘baidunetdiskaur-

视频点此

当你拥有一台服务器,你能拿它来干什么?在上个视频里边,我提到了一种使用方法,就是构建成RSS服务器。那么还有什么操作能让我们利用上这玩意儿吗?
今天,就接着上一次的主题来聊聊,服务器还能干什么。

要知道,互联网运行的本质就是用网线连接起来的电脑在进行数据的交换。你现在浏览我上传的内容,那么实际上就是我把我的内容上传到了这个公共的、谁都可以访问的电脑上,你又从这个电脑上拉取了我上传的东西。而为了简化获取和搜索的流程,建立在这台公共电脑上面的网站就成了必不可少的内容索引工具。

所以,我们怎么能忽略掉服务器最主要的一个职能——建站呢?

你可能会问:

我为什么要建站?

这有很多理由。

1、你可以记录人生

过去的人喜欢写日记,一本一本地记录自己的故事。后来人们有了博客,再后来有了自媒体平台。在时代和用户习惯不断变迁的过程中,日记本的市场占有率不断下降,而自媒体平台的入驻,也要承担平台关闭后数据遗失的风险。个人网站则很好地规避了这一点,并且能更好地保护好自己的数据和文章。

2、你可以拥有一个个人简历

我们将自己的个人网站定义为自己的个人简历,这一点也是国际上比较主流的做法。普通的简历,无论是word、PPT还是PDF甚至是H5,这些模式都不能非常完整地展示一个人的个人经历和工作案例,但是个人网站可以做到。

3、你可以建立自己的资料库

这个资料库不局限于文字知识,同样可以包括你收集的任何可能的文件。但它与网盘又有所不同。网盘需要从你本地的电脑获取文件,存到它的硬盘中,而使用你自己的服务器来保存数据,不仅仅可以从本地上传,还可以通过定时任务让服务器自己从设定好的位置来获取文件,我们只需要到时去下载即可,省去了人工值守的工作。

更多的的作用暂且不提了,在之后的服务器应用内容中自然而然就能体现出来了。

如何搭建呢?

首先就要让服务器拥有运行网站的能力。这个能力最基本的体现就是在其他电脑访问服务器时可以提供内容出来。

要知道,我的视频是给纯新手的——毕竟大佬用不着看我的视频对不对。所以要利用简单的东西来完成。这里我们就使用宝塔面板。当然,这样简化了很多步骤,但对应的,其他的一些东西比如安全性、执行性能什么的就不要强求了。

废话2小时干货5分钟。终于到了实战的时候了。我们来看看宝塔面板要怎么安装。

你有兴趣跟着我的视频来到这里就说明你的主机是不包含网站相关组件的。如果有,切记不可安装宝塔面板。

安装宝塔面板

  1. 首先通过ssh连接到你的服务器——Windows服务器请通过远程桌面访问
  2. 打开宝塔面板的官网
  3. 对于Windows服务器,直接把官网下载的压缩包传上去解压,然后安装就行了。但恕我贫穷,没钱买可以让Windows server流畅运行的VPS。所以我也没法演示了
  4. 对于Linux服务器,我们点击“立即安装”,拷贝跳转到的页面中安装的那个指令到ssh窗口中,回车等待完成,我们的宝塔面板就配置好了

不出差错的话,宝塔面板就安装完成了

注:

  • 在这个页面也同时包含一些其他的注意事项什么的,建议简单浏览一下。
  • Windows不清楚在哪儿,但是Linux版本的安装过程结束的时候会有一个信息,告诉了你登录宝塔面板的地址、用户名和密码分别是什么,一定要记录下来
  • 如果使用腾讯云等之类的VPS,请注意把宝塔的端口号放行(一般Windows宝塔端口号888,Linux是8888)

安装网站环境

  1. 透过刚刚提供的信息登录面板,会提示安装环境

2、选择lnmp,等待安装完成

3、安装过程中建议前往面板设置,修改一下登录面板的用户名和密码


仅复制了一条命令,其他全部图形化完成了网站环境的搭建,够不够傻瓜化了?

当然,通过宝塔安装这些组件也有一个弊端,就是lnmp这些套件都放在了宝塔自定义的位置了,如果遇到一些问题,网上的解决方案往往对应不上。但是,鱼和熊掌不可兼得,都让你这么简单的安装这些基础组建了,还要啥自行车。

在安装好这些基础组件,我们就可以建立自己的网站了。那么网站要用什么建立,我们下次的“当你有了”系列视频再说。

以CentOS7为例。

1. 安装Python相关工具以及shadowsocks

yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
若不能成功安装m2crypto,请先用以下命令安装其依赖包:
yum install -y openssl-devel gcc swig python-devel autoconf libtool

2. 配置chacha20加密方法(可选)

chacha20 加密算法后可以提高密钥加密和解密速度,同时可以规避GFW利用OpenSSL特性进行特征包跟踪的问题
  1. 安装套件:yum groupinstall "Development Tools"
  2. 下载libsodium:wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
  3. 编译安装:tar xvf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11 && ./configure && make && make install
  4. 更新动态库:ldconfig

3. 服务器配置

vi /etc/shadowsocks.json

其中,shadowsocks名称随意更改,下面用到这个名称的地方注意对应即可。

写入如下配置:

{
"server":"0.0.0.0",
"server_port":your server port,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"your password",
"timeout":600,
"method":"chacha20",# 若未进行第二步,此处推荐设置为`aes-256-cfb`
"fast_open": false
}

其中:

server_port处填写你想要的端口号,之后在客户端中需要填入

password处填写连接密码

method处可以更改加密方法,一般默认即可

如果有多用户,可以通过下面方法配置:

{
"server":"0.0.0.0",
"local_address": "127.0.0.1",
"local_port":1080,
"port_password": {
"port1": "password1",
"port2": "password2"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}

如上,只需添加多个端口和密码即可。

4. 配置防火墙端口

没有安装防火墙建议安装一下,然后开启防火墙相应的端口。这里以开启443端口为例。

firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload

5. 配置Shadowsocks 服务自启动

使用rc.local完成即可。注意需要先通过命令 chmod +x /etc/rc.local 保证该脚本可执行。

之后在该文件结尾加入一行
ssserver -c /etc/shadowsocks.json -d start
保存即可。