标签 redhat 下的文章

视频点此

经过上一期的介绍,想必你已经可以建立起来一个自己的博客了。所以这种基本的网页服务我就不再多说了。但是,我们为了实现网站,给我们的服务器安装了宝塔面板和网站的执行环境。它们还能怎么用呢?今天我就来聊聊这个。

如果你是按照我的视频来操作的,那么你现在应该使用的lnmp这一套环境。而其中的N——Nginx,这个高性能HTTP和反向代理web服务器,便是今天我要拿来开刀的一个玩意儿。通过它,我们可以快速建立一个下载服务。

你可能会问:我弄这么一个下载服务,有什么用呢?

一般来讲,没什么用。但假如你有我这样的需求,就是让服务器定时的去从某个地方下载当天最新的文件——当然,我的实际用处在于每天的北京时间3点,去录制我最喜欢的Contry Radio的电台节目,供我之后下载收听。这个电台是捷克语电台,每天放送捷克语乡村音乐。如果偏爱乡村音乐的话推荐去听一听。链接在这里

需要注意一点啊,我是使用VPS的,服务器本体在德国的一个机房。所以你想让我直接用U盘拷贝那真是天方夜谭…另外,我当然可以通过宝塔面板来下载,但是每次还得登陆帐号、切换到文件管理、打开文件夹下载,这太麻烦,还不如一劳永逸,只要我输入对应的网址,就能弹出下载列表供我下载,这多好。

正是懒惰驱使了服务完善。所以今天就来看一看,如何建立一个很简易的下载服务器吧。


  • 登陆宝塔面板,在软件部分找到Nginx,点击弹出配置窗口。
注:如果没有,可以前往软件商店,在列表中找到同样的项目,点击后面的设置
  • 切换到配置修改标签,在右侧窗口的结尾添加如下文字:
server { 
    listen    9000;    #端口 
    server_name localhost;  #服务名 
    charset utf-8; # 避免中文乱码
    root  /www/wwwroot/downloads; #显示的根索引目录,注意这里要改成你自己的,目录要存在 
 
    location / {
      autoindex on;       #开启索引功能 
      autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb) 
      autoindex_localtime on;  # 显示本机时间而非 GMT 时间 
    }
  }
  • 保存,切换到服务标签,点击重载配置,一个简易的下载服务就做好了。
  • 但是现在可能还不能访问,因为宝塔的端口规则没有放行。前往宝塔的安全标签,在防火墙窗格中,端口填入刚刚设置的端口号,点击放行
  • 现在,你可以在浏览器输入你服务器的ip:配置的端口号来访问,或者通过对应ip的域名来访问看一看了。

注意:如果需要多个下载服务,一种方法可以在刚刚设置的根目录下面建立子文件夹,另一种方法则可以在配置文件下面新建多个server,只需要确保使用的端口没有被占用即可。


这么一个下载服务器,虽然简陋,但也很实用。就看你的创造性能不能想到它的用处了。那么一个服务器还能有什么作用呢?我们下次接着说。

视频点此

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

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

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

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都可以很方便的安装使用,这里自己探索一下就可以了。

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

视频点此

当你拥有一台服务器,你能拿它来干什么?在上个视频里边,我提到了一种使用方法,就是构建成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
保存即可。

直播推流是离不开ffmpeg组件的。尤其像我这种全天推电视剧的直播间。而我不可能一直在我的电脑上开着直播(这不现实),所以我需要一台最基本的服务器来维持它。而一般的服务器默认都是配置CentOS系统的。而且推流也不是什么需要保证稳定的东西,因此通过yum直接安装是最省时省力的。但是CentOS默认的源中没有该组件。因此需要自行进行一些配置才可以。

1、安装EPEL Release

因为安装需要使用其他的repo源,所以需要EPEL支持

yum install -y epel-release

如果出现缺少Code提示,可以:
sudo rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

安装完成之后,可以查看是否安装成功:

yum repolist

2、导入一个Code

这一步可能不成功(提示404找不到文件),但是根据我的测试来看,对之后好像没什么影响。

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

3、安装nux-dextop 源

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

可以通过 yum repolist 查看repo源,看是否安装成功

4、安装ffmpeg

yum install -y ffmpeg

完成。可以通过 ffmpeg -version 检查版本信息。

得益于Linux较为缺陷的驱动程序们,Linux是比较费电的。这集中表现在电池的使用时间会明显短于Windows下面使用。但是借助一些电源管理软件,我们可以最大限度的提升Linux在电池情况下面使用的时长,甚至在相同工作量下面超过Windows。

比较好用的软件就是TLP。TLP提供优秀的Linux高级电源管理功能,不需要了解所有技术细节。默认配置已经对电池使用时间进行了优化,只要安装即可享受更长的使用时间。但如果想最大限度的优化电量损耗,还是需要自行进行配置。

在tlp更新到1.3后,配置文件结构有较大改动。下文会将新增/变更部分加粗表示,删除部分则直接加上删除线以区分。

一、相关软件包

一定需要安装的:tlp

无线设备控制:tlp-rdw

硬盘降速:smartmontools

CPU高级节能:x86_energy_perf_policy

网络唤醒更改:ethtool

对ThinkPad的电源优化:tp_smapi(充电阈值与电池校准)、acpi_call(Sandy Bridge及更新型号上面的充电阈值与电池校准)

二、服务调整

通过命令systemctl enable tlp(tlp-sleep服务已被移除)来启动TLP服务,并通过命令systemctl mask systemd-rfkill.servicesystemctl mask systemd-rfkill.socket来屏蔽systemd的rfkill服务及套接字以防止冲突,保证TLP无线设备的开关选项可以正确运行。

如果安装了tlp-rdw以便控制无线设备节能,则需通过systemctl enable NetworkManager-dispatcher启用此服务,并通过命令systemctl mask systemd-rfkill.servicesystemctl mask systemd-rfkill.socket来屏蔽systemd的rfkill服务及套接字以防止冲突,保证TLP无线设备的开关选项可以正确运行。

一般情况下都使用NetworkManager作为网络管理器。如果使用其他的,请编辑 /etc/systemd/system/multi-user.target.wants/tlp.service ,将 After=multi-user.target bluetooth.service NetworkManager.service 一行的 NetworkManager.service 去掉以避免错误。

现在,注销重新登录一下,默认配置的TLP就已经启动了。此时电脑消耗的电量应该比之前少了一些。但如果想要做到最大程度的节能,需要自行编辑一下TLP的配置文件。

三、配置文件的几个主要配置

用root权限的文本编辑器打开 /etc/default/tlp ,这是TLP的配置文件。

配置方式在1.3后变更较大。用户既可以修改/etc/tlp.conf,亦可以在/etc/tlp.d下以设置项=值的配置文件形式实现更改。该文件夹遵循下述规则:

  • 加载顺序受文件名最开始的数字影响,越大的数加载越晚,越能覆盖前面的设置
  • 00-template.conf为示例,用户自定义时亦需参考这个文件的命名方法和书写方式
  • 如果/etc/tlp.d下有些设置与/etc/tlp.conf冲突,则遵循tlp.d下的设置

推荐直接修改/etc/tlp.conf,因为这个文件的配置方法与以前的版本相同。下面的内容全部针对此文件。

每一项都是什么作用已经通过注释标记在这个文件中了。你可以根据自己的需要对相应的位置进行修改。但经过我自己的探索,给出几个自己最好改一改的位置。

1、TLP_DEFAULT_MODE

这一项记录了TLP启动时默认的模式。改成BAT可默认以电池供电方式启动,达到节省电量的目的。

2、TLP_PERSISTENT_DEFAULT

配合TLP_DEFAULT_MODE的修改,此处改成0以保证在连接电源线时电脑会以非节点模式运作以达到最高性能,而当改成电池供电,TLP自动将状态修改为节点模式以节约电量。

3、CPU_HWP_ON_AC和CPU_HWP_ON_BAT

使用Intel Skylake架构或更新的CPU并且Linux内核版本 >= 4.10可启用该配置。这两项分别对应通过电源连接和通过电池供电时候CPU的运作模式。可选performance, balance_performance, default, balance_power, power,依次为最高性能、优先考虑性能、默认、优先考虑节能、最大节能。

可以设置为CPU_HWP_ON_AC=balance_performance和CPU_HWP_ON_BAT=power可以保证电源供电时候偏好性能而电池供电时最大节能。

至于Skylake架构以前或Linux内核版本低于4.10时该配置失效,可忽略该项而将CPU_SCALING_GOVERNOR_ON_AC和CPU_SCALING_GOVERNOR_ON_BAT两项进行修改(如果有注释符则取消注释)。

对于酷睿i系列,可选项powersave和performance(推荐前者);其他型号可选项ondemand, powersave, performance, conservative, schedutil(推荐ondemand)

4、ENERGY_PERF_POLICY_ON_AC=performance和ENERGY_PERF_POLICY_ON_BAT=power

CPU相对节能策略。可选项performance, balance-performance, default, balance-power, power

5、DISK_DEVICES

该项关乎到之后的磁盘节能策略涉及到的磁盘。默认只有sda和sdb两块磁盘。如果你有更多的磁盘,请都加到引号内,通过空格分隔。磁盘label可以通过命令fdisk -l获得

如果此处修改了磁盘的数量,那么所有关于磁盘的设置项都需要对应的修改。如:

6、DISK_APM_LEVEL

这个设置意在调整硬盘在空闲时间节电,必要时候可以将低转速来实现。这里同样对应着AC和BAT。可以把AC设置成默认,即写为keep。注意,有几块磁盘写几个配置,中间通过空格分隔。如我有三块磁盘,DISK_DEVICES改为了"sda sdb sdc",则此处对应修改为"keep keep keep"

至于BAT一项,可以设置节电等级。其中1~127的节电等级可能会使硬盘降速,128~255则不会改变。因此对于SSD,设置128以上即可,HDD则可以设置成120左右的数字来兼顾唤醒延迟和降速节电。同样需要注意,在DISK_DEVICES写了几块硬盘,这里将要写几个参数。如我的三块硬盘,此处写成了"128 128 120"

7、SATA_LINKPWR

磁盘ALPM节电选项。同样对应着AC和BAT。

可选项min_power, med_power_with_dipm, medium_power, max_performance。其中,med_power_with_dipm需要4.15及以上版本的内核支持。

与6同理,有几块硬盘写几个配置,通过空格分开。如我的三块硬盘:

`SATA_LINKPWR_ON_AC="max_performance max_performance med_power_with_dipm"
SATA_LINKPWR_ON_BAT="min_power min_power min_power"`

8、RUNTIME_PM_BLACKLIST

如果使用bumblebee来控制英伟达显卡,那么把这一项的注释取消掉,然后在后面的引号中输入英伟达显卡的硬件地址以使Bumblebee控制GPU的电源。

获取硬件地址可以通过命令 lspci 来查看。一般情况下是 01:00.0

更多的设定还望自行阅读说明进行调整。如此设定之后,Linux在电池供电时,使用时间应该可以明显的提升了。