natfrp sakaru 官方教程来啦 使用 docker 管理 frpc 运行(群晖 NAS)

natfrp sakaru 官方教程来啦 使用 docker 管理 frpc 运行(群晖 NAS)

https://doc.natfrp.com/#/frpc/usage/docker使用 docker 管理 frpc 运行(命令行)

本教程以 DSM 6 系统作为 GUI 操作举例,命令行操作请移步 使用 docker 管理 frpc 运行(命令行)

前置知识说明

首先您需要知道启动参数的写法,即:-f <启动密钥>:<隧道ID>,如果要启动多个隧道可以 -f <启动密钥>:<隧道ID1>,隧道ID2,隧道ID3,...,如果还需深入了解请转到此

对于群晖用户,建议您在阅读本篇教程之前,阅读我们的 传统群晖教程,阅读全部后,按照指引操作「配置 DSM 面板」和「创建隧道」两节

设置隧道

因为 docker 网络模型的原因,我们像从前一样把隧道的 本地IP 设置为 127.0.0.1 已经不再奏效,必须修改设置中的此项。

此处需要分情况讨论:

  • 当修改为 host 宿主网络模式时,只需要设置为上级网关分配给当前设备的 ip 即可(人话:设置为路由器给群晖的ip)
  • 当保持默认的 bridge 网桥模式时,我们需要设置为对应网桥的网关 ip 才能恰当的访问当前设备,因为该方案兼容性和安全性更高,下面的教程默认采用此方案

首先打开群晖的 Docker 应用,根据图上的方法算出我们需要的 ip

然后在新建隧道时将其设置为 本地IP

或者在 隧道列表 中,编辑一条隧道,设置 本地IP 为该 IP

这样隧道就准备完了

设置Docker

如果您发现自己获取镜像非常慢,并不知道什么叫做 出国网络质量,或者不知道如何改善的话,获取镜像这一步建议跳转到 获取镜像:中国特色 试试

首先我们需要获取镜像,跟着图片操作即可:

获取到镜像后就可以启动一个「实例」,请注意,此处「命令」栏中输入的是我们先前准备的启动参数

设置好后应用,然后启动即可

获取连接信息

连接信息在 docker实例 的日志中,跟着图片打开它,你就能看到

打开浏览器,试一下(如何访问可能需要回忆 传统群晖教程 中的内容)

注意事项

群晖的编辑容器中有「启用自动重启启动」的选项,该选项默认关闭,建议打开它

获取镜像:中国特色

因为一些很有中国特色的原因,我国运营商的国际互联带宽长期不足(对于个人用户来说)。反映到您身上可能就是这个 7MiB 的镜像下了一个小时,最后还失败了,这时候就需要一些有中国特色的解决手段。

我们在阿里云的容器镜像服务提供镜像下载服务,镜像地址是 registry.cn-hongkong.aliyuncs.com/natfrp/frpc

使用方式如图:

使用 docker 管理 frpc 运行(命令行)

本教程为基于命令行操作的 docker 教程,如果需要 gui 教程请移步 使用 docker 管理 frpc 运行(群晖 NAS)

如果您感觉本篇教程对您来讲难以理解,可以试试隔壁 systemd 教程

前置知识说明

首先您需要知道启动参数的写法,即:-f <启动密钥>:<隧道ID>,如果要启动多个隧道可以 -f <启动密钥>:<隧道ID1>,隧道ID2,隧道ID3,...,如果还需深入了解请转到此

设置隧道

因为 docker 网络模型的原因,我们像从前一样把隧道的 本地IP 设置为 127.0.0.1 已经不再奏效,必须修改设置中的此项。

因为默认的 bridge 网桥模式兼容性和安全性更高,下面的教程默认采用此方案

首先运行下面的指令读出 docker 默认网桥的 网关IP

ip addr show docker0

结果预期如下:

4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:c4:f5:83:8f brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

其中 172.17.0.1 这一部分就是我们要的 IP

然后在新建隧道时将其设置为 本地IP

或者在 隧道列表 中,编辑一条隧道,设置 本地IP 为该 IP

这样隧道就准备完了

设置Docker

首先我们需要获取镜像:

# 默认 DockerHub 源,国内可能较慢:
docker pull natfrp/frpc

######## 或者 ########

# 阿里云容器镜像 香港地区源,适合国内用户:
docker pull registry.cn-hongkong.aliyuncs.com/natfrp/frpc

如果成功的话,返回应该会是下面这样:

~# docker pull registry.cn-hongkong.aliyuncs.com/natfrp/frpc
Using default tag: latest
latest: Pulling from natfrp/frpc
4c0d98bf9879: Pull complete 
292f768886fd: Pull complete 
Digest: sha256:9d33d6110ee53480f28cc99e39476d3d845ce70cf8a4d775da78f15620bbab5a
Status: Downloaded newer image for registry.cn-hongkong.aliyuncs.com/natfrp/frpc:latest
registry.cn-hongkong.aliyuncs.com/natfrp/frpc:latest

其中最后一行复制一下,这个是实际被下载到本地的镜像tag,启动时会用得上

接下来我们执行:docker run -d --restart=always <你刚复制的镜像tag> -f <启动参数>,如果一切顺利,就能看到只有一行奇怪的hash的输出,就是实例ID

获取连接信息

连接信息在 docker实例 的日志中,执行 docker logs <实例ID> 就能看到,如对于这样的启动参数:

我们取实例ID的随便前几位就能查到日志:

注意事项

--restart=always 选项并不是必须,但开启此选项后可以自动重启容器实例

ttrss 如何通过frp 远程访问

最开始用的端口映射.太容易.http://wp.acevs.com/2020/12/02/%e8%87%aa%e7%bb%84%e7%be%a4%e8%be%89%e5%ae%89%e8%a3%85ttrss%e5%92%8crsshub/

有时间研究一下 还是frp访问吧.没有端口暴露 .更安全.但是设置.

SELF_URLPATH 为 https:// your_domain/1281/ttrss/

4. 在【FileStation->Web->rss】目录下的 config.php中修改 21行:define('SELF_URL_PATH', 'https://your_domain:1281/ttrss/');

这个成了关键.最后解决方法是 群晖webstation 创建虚拟主机 增加端口. 让ttrss通过端口可以直接访问到.192.168.1.1:3333 类似这个.然后【FileStation->Web->rss】目录下的 config.php中修改 21行:define('SELF_URL_PATH','ttrss.yourname.com');

然后frp后就能直接外网访问了.over.

如何使用Nas替代iCloud?

首先没有完美取代。毕竟icloud 是苹果的官方nas服务器。

作者:木金木
链接:https://www.zhihu.com/question/431761313/answer/1596447495
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

iCloud 200G +双NAS用户

答案是,NAS无法替代iCloud。

iCloud的精髓在于多设备无缝同步数据,iPhone拍照,iPad,Mac都能同步。Mac上Safari注册了一个账号记在钥匙串,iPhone、iPad再打开这个网站密码已经同步了。iPad画画的备忘录,iPhone、Mac都能看到。

其次,每次换新iPhone的时候就知道iCloud备份有多方便。

这些都是Nas做不到的。

群晖有Moment或者iPhoto,但是你需要手动备份上去,其它设备打开这个APP才能看到,因为不是同步,所以数据在云端而不在本地,如果你人在外边,你家那小水管上传,远程打开这些照片每次Load的过程简直是噩梦。

群晖有DS note,某程度上说可以替代苹果记事本,但是用过这货的小伙伴都知道这货时不时就丢登陆,开两步验证的话每次登陆一遍实在太麻烦了。

你说密码可以用1Password之类或其它可以架设在本地的密码服务,这个倒是没错但是苹果自带的你不买iCloud都能用还几乎不占空间我干啥不用呢。

更不用说你提到的微信备份,不好意思目前Nas真的做不到备份iOS APP。你能备份到本地的只能用iTunes或者其它第三方iOS管理工具。

最后我想再提一点:

iCloud永久在线,至少7x24没问题,可靠性很高。

但是家庭Nas就别想太多了,机器本身有可能出问题,你的Nas硬盘也有可能坏掉,还有停电,断网的可能性。

原文链接 知乎 https://www.zhihu.com/question/431761313

PacVim:一个学习vim命令的游戏

之前docker的版本一共200M左右 按照这个无法安装成功。然后去centos下了一个虚拟机用的 iso文件。用群晖自带虚拟机。只能安装centos7 centos8 提示错误。然后一路照着教程安装。安装了带有桌面系统centos gnome 好像是这个单词。

最后成功了。

前言

       我们都知道Vim是Linux下一种文本编辑器,可以用来看代码、改代码。但是Vim是无图形界面的编辑器,一切操作全靠指令,指令繁多且复杂,对于新手而言,学习起来很费劲。

       偶然的机会,发现一款有趣的命令行游戏PacVim,通过这款游戏可以提高Vim操作技能。出于好奇,下载并安装了这款游戏,亲身体验了几次,还是挺有意思的。


PacVim介绍

PacVim这款游戏其实是受PacMan(中文名:吃豆人)游戏启发而开发出来的。二者很相似,游戏任务都是躲避怪物,吃完豆豆。所不同的是,PacVim全程使用vim指令来操作,游戏的目的也是通过这种方式来提高Vim水平。


PacVim安装

  • 安装Ncurses库

在centos7下安装如下:

yum install ncurses-devel
  • 升级GCC版本

注意:linux下要请注意,编译PacVim需要gcc 8.x或更高版本,如果版本太低,可能无法正确编译和安装。我用Centos 7 编译安装(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16))。

以下是升级GCC版本步骤:

1. 安装scl源

yum install centos-release-scl scl-utils-build

2. 列出scl可用源

yum list all --enablerepo='centos-sclo-rh' yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"

3. 安装8版本的gcc、gcc-c++、gdb工具链(toolchian)

yum install -y devtoolset-8-toolchain scl enable devtoolset-8 bash gcc --version
  • 安装PacVim游戏

这款游戏源码托管在GitHub上,只需下载后编译安装即可。

git clone https://github.com/jmoon018/PacVim.git cd PacVim sudo make  sudo make install
  • 启动游戏

安装成功后,执行如下命令启动游戏

pacvim [LEVEL_NUMER] [MODE]

其中:

- LEVEL_NUMER:表示关卡号

- MODE:表示难度,n - 一般模式, h - 困难模式

游戏总共10关,0~9数字表示。例如,选择第5关一般模式,可以这样启动游戏:

pacvim 5 n

游戏规则

PacVim 的使用与 PacMan 非常相似。

你必须跑过屏幕上所有的字符,同时避免鬼魂(红色字符)。

PacVim有两个特殊的障碍:

  1. 你不能移动到墙壁中(黄色)。你必须使用 vim 动作来跳过它们。
  2. 如果你踩到波浪字符(青色的 ~),你就输了!

你有三条生命。每次打赢 0、3、6、9 关时你都会获得新生命。总共有 10 关,从 0 到 9,打赢第 9 关后,游戏重置为第 0 关,但是鬼魂速度变快。

获胜条件

使用 vim 命令将光标移动到字母上并高亮显示它们。所有字母都高亮显示后,你就会获胜并进入下一关。

失败条件

如果你碰到鬼魂(用红色 G 表示)或者波浪字符,你就会失去一条命。如果命小于 0 条,你将会输掉整个游戏。

这是实现的命令列表:


参考资料

更新升级GCC版本:

https://my.oschina.net/michaelshu/blog/3024970

原文链接 https://blog.csdn.net/hq86937375/article/details/90408694

end Kernel panic – not syncing:Fatal exception Vmware安装CentOS虚拟机时报错

Vmware安装CentOS虚拟机时报错end Kernel panic - not syncing:Fatal exception

今天安装虚拟机的时候,出现end Kernel panic - not syncing:Fatal exception

错误页面
错误图片如上

解决

我是用Vmware10安装的CentOS8镜像,出现了这个错误,更改为CentOS7镜像可以顺利安装。
个人猜测是Vmware10版本过低,不匹配CentOS8版本。

更新Vmware10为Vmware12即可,或者将CentOS8镜像更改为CentOS7镜像也可解决问题。

我是通过使用CentOS7解决。

原文链接:https://blog.csdn.net/qq_38991369/article/details/102705317

然后准备去下centos7版本 发现 有

ISOPackagesOthers
x86_64RPMsCloud | Containers | Vagrant
ARM64 (aarch64)RPMsCloud | Containers | Vagrant
IBM Power BE (ppc64)RPMsCloud | Containers | Vagrant
IBM Power (ppc64le)RPMsCloud | Containers | Vagrant
ARM32 (armhfp)RPMsCloud | Containers | Vagrant
i386RPMsCloud | Containers | Vagrant
Release NotesRelease EmailDocumentation

这些版本 vagrant 好像就是虚拟机专用版本.container 就是docker可以用的版本.cloud 云端版本.

写到这 我有想起来查一下 docker和虚拟机的对比.

看到这个资料 决定还是用docker试试.

概要

Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。本文将主要根据IBM发表的研究报告,论述docker与传统虚拟化方式的不同之处,并比较物理机、docker容器、虚拟机三者的性能差异及差异产生的原理。 

docker与虚拟机实现原理比较

如下图分别是虚拟机与docker的实现框架。 
虚拟机实现框架 docker实现框架 
比较两图的差异,左图虚拟机的Guest OS层和Hypervisor层在docker中被Docker Engine层所替代。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整操作系统内核;虚拟机的Hypervisor层可以简单理解为一个硬件虚拟化平台,它在Host OS是以内核态的驱动存在的。 
虚拟机实现资源隔离的方法是利用独立的OS,并利用Hypervisor虚拟化CPU、内存、IO设备等实现的。例如,为了虚拟CPU,Hypervisor会为每个虚拟的CPU创建一个数据结构,模拟CPU的全部寄存器的值,在适当的时候跟踪并修改这些值。需要指出的是在大多数情况下,虚拟机软件代码是直接跑在硬件上的,而不需要Hypervisor介入。只有在一些权限高的请求下,Guest OS需要运行内核态修改CPU的寄存器数据,Hypervisor会介入,修改并维护虚拟的CPU状态。 
Hypervisor虚拟化内存的方法是创建一个shadow page table。正常的情况下,一个page table可以用来实现从虚拟内存到物理内存的翻译。在虚拟化的情况下,由于所谓的物理内存仍然是虚拟的,因此shadow page table就要做到:虚拟内存->虚拟的物理内存->真正的物理内存。 
对于IO设备虚拟化,当Hypervisor接到page fault,并发现实际上虚拟的物理内存地址对应的是一个I/O设备,Hypervisor就用软件模拟这个设备的工作情况,并返回。比如当CPU想要写磁盘时,Hypervisor就把相应的数据写到一个host OS的文件上,这个文件实际上就模拟了虚拟的磁盘。 
对比虚拟机实现资源和环境隔离的方案,docker就显得简练很多。docker Engine可以简单看成对Linux的NameSpace、Cgroup、镜像管理文件系统操作的封装。docker并没有和虚拟机一样利用一个完全独立的Guest OS实现环境隔离,它利用的是目前linux内核本身支持的容器方式实现资源和环境隔离。简单的说,docker利用namespace实现系统环境的隔离;利用Cgroup实现资源限制;利用镜像实现根目录环境的隔离。 
通过docker和虚拟机实现原理的比较,我们大致可以得出一些结论: 
(1)docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有优势,具体的效率对比在下几个小节里给出。在IO设备虚拟化上,docker的镜像管理有多种方案,比如利用Aufs文件系统或者Device Mapper实现docker的文件管理,各种实现方案的效率略有不同。 
(2)docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。我们知道,引导、加载操作系统内核是一个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,这个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个过程,因此新建一个docker容器只需要几秒钟。另外,现代操作系统是复杂的系统,在一台物理机上新增加一个操作系统的资源开销是比较大的,因此,docker对比虚拟机在资源消耗上也占有比较大的优势。事实上,在一台物理机上我们可以很容易建立成百上千的容器,而只能建立几个虚拟机。

docker与虚拟机计算效率比较

在上一节我们从原理的角度推测docker应当在CPU和内存的利用效率上比虚拟机高。在这一节我们将根据IBM发表的论文给出的数据进行分析。以下的数据均是在IBM x3650 M4服务器测得,其主要的硬件参数是: 
(1)2颗英特尔xeon E5-2655 处理器,主频2.4-3.0 GHz。每颗处理器有8个核,因此总共有16个核。 
(2)256 GB RAM. 
测试中是通过运算Linpack程序来获得计算能力数据的。结果如下图所示: 
此处输入图片的描述 
图中从左往右分别是物理机、docker和虚拟机的计算能力数据。可见docker相对于物理机其计算能力几乎没有损耗,而虚拟机对比物理机则有着非常明显的损耗。虚拟机的计算能力损耗在50%左右。 
为什么会有这么大的性能损耗呢?一方面是因为虚拟机增加了一层虚拟硬件层,运行在虚拟机上的应用程序在进行数值计算时是运行在Hypervisor虚拟的CPU上的;另外一方面是由于计算程序本身的特性导致的差异。虚拟机虚拟的cpu架构不同于实际cpu架构,数值计算程序一般针对特定的cpu架构有一定的优化措施,虚拟化使这些措施作废,甚至起到反效果。比如对于本次实验的平台,实际的CPU架构是2块物理CPU,每块CPU拥有16个核,共32个核,采用的是NUMA架构;而虚拟机则将CPU虚拟化成一块拥有32个核的CPU。这就导致了计算程序在进行计算时无法根据实际的CPU架构进行优化,大大减低了计算效率。

docker与虚拟机内存访问效率比较

内存访问效率的比较相对比较复杂一点,主要是内存访问有多种场景: 
(1)大批量的,连续地址块的内存数据读写。这种测试环境下得到的性能数据是内存带宽,性能瓶颈主要在内存芯片的性能上; 
(2)随机内存访问性能。这种测试环境下的性能数据主要与内存带宽、cache的命中率和虚拟地址与物理地址转换的效率等因素有关。 
以下将主要针对这两种内存访问场景进行分析。在分析之前我们先概要说明一下docker和虚拟机的内存访问模型差异。下图是docker与虚拟机内存访问模型: 
此处输入图片的描述 
可见在应用程序内存访问上,虚拟机的应用程序要进行2次的虚拟内存到物理内存的映射,读写内存的代价比docker的应用程序高。 
下图是场景(1)的测试数据,即内存带宽数据。左图是程序运行在一块CPU(即8核)上的数据,右图是程序运行在2块CPU(即16核)上的数据。单位均为GB/s。 
此处输入图片的描述 此处输入图片的描述 
从图中数据可以看出,在内存带宽性能上docker与虚拟机的性能差异并不大。这是因为在内存带宽测试中,读写的内存地址是连续的,大批量的,内核对这种操作会进行优化(数据预存取)。因此虚拟内存到物理内存的映射次数比较少,性能瓶颈主要在物理内存的读写速度上,因此这种情况docker和虚拟机的测试性能差别不大; 
内存带宽测试中docker与虚拟机内存访问性能差异不大的原因是由于内存带宽测试中需要进行虚拟地址到物理地址的映射次数比较少。根据这个假设,我们推测,当进行随机内存访问测试时这两者的性能差距将会变大,因为随机内存访问测试中需要进行虚拟内存地址到物理内存地址的映射次数将会变多。结果如下图所示。 
此处输入图片的描述此处输入图片的描述 
左图是程序运行在一个CPU上的数据,右图是程序运行在2块CPU上的数据。从左图可以看出,确实如我们所预测的,在随机内存访问性能上容器与虚拟机的性能差距变得比较明显,容器的内存访问性能明显比虚拟机优秀;但出乎我们意料的是在2块CPU上运行测试程序时容器与虚拟机的随机内存访问性能的差距却又变的不明显。 
针对这个现象,IBM的论文给出了一个合理解释。这是因为当有2块CPU同时对内存进行访问时,内存读写的控制将会变得比较复杂,因为两块CPU可能同时读写同一个地址的数据,需要对内存数据进行一些同步操作,从而导致内存读写性能的损耗。这种损耗即使对于物理机也是存在的,可以看出右图的内存访问性能数据是低于左图的。2块CPU对内存读写性能的损耗影响是非常大的,这个损耗占据的比例远大于虚拟机和docker由于内存访问模型的不同产生的差异,因此在右图中docker与虚拟机的随机内存访问性能上我们看不出明显差异。

docker与虚拟机启动时间及资源耗费比较

上面两个小节主要从运行在docker里的程序和运行在虚拟机里的程序进行性能比较。事实上,docker之所以如此受到开发者关注的另外一个重要原因是启动docker的系统代价比启动一台虚拟机的代价要低得多:无论从启动时间还是从启动资源耗费角度来说。docker直接利用宿主机的系统内核,避免了虚拟机启动时所需的系统引导时间和操作系统运行的资源消耗。利用docker能在几秒钟之内启动大量的容器,这是虚拟机无法办到的。快速启动、低系统资源消耗的优点使docker在弹性云平台和自动运维系统方面有着很好的应用前景。

docker的劣势

前面的内容主要论述docker相对于虚拟机的优势,但docker也不是完美的系统。相对于虚拟机,docker还存在着以下几个缺点: 
1.资源隔离方面不如虚拟机,docker是利用cgroup实现资源限制的,只能限制资源消耗的最大值,而不能隔绝其他程序占用自己的资源。 
2.安全性问题。docker目前并不能分辨具体执行指令的用户,只要一个用户拥有执行docker的权限,那么他就可以对docker的容器进行所有操作,不管该容器是否是由该用户创建。比如A和B都拥有执行docker的权限,由于docker的server端并不会具体判断docker cline是由哪个用户发起的,A可以删除B创建的容器,存在一定的安全风险。 
3.docker目前还在版本的快速更新中,细节功能调整比较大。一些核心模块依赖于高版本内核,存在版本兼容问题

参考文献

  1. Felter W, Ferreira A, Rajamony R, et al. An Updated Performance Comparison of Virtual Machines and Linux Containers[J]. technology, 2014, 28: 32.
  2. http://www.zhihu.com/question/20848931

原文链接 https://blog.csdn.net/albenxie/article/details/73478894

centos 准备装一个虚拟机玩vi的pacvim 学习vi

首先查看一下 群辉的linux是什么linux.选择安装什么版本的centos.

之前装了docker的centos只有200M 好多支持的安装包都没有 安装pacvi失败

试试这个方法 先ssh登陆群辉.

一、linux下如何查看已安装的centos版本信息:1.Linux查看当前操作系统版本信息  cat /proc/versionLinux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Tue Mar 21 19:29:05 UTC 20172.Linux查看版本当前操作系统内核信息 uname -aLinux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux3.linux查看版本当前操作系统发行信息 cat /etc/issue 或 cat /etc/centos-releaseCentOS release 6.9 (Final)4.Linux查看cpu相关信息,包括型号、主频、内核信息等 cat /etc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu family : 6model : 60model name : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHzstepping : 3microcode : 29cpu MHz : 3292.277cache size : 6144 KBphysical id : 0siblings : 4core id : 0cpu cores : 4apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 13wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcidbogomips : 6584.55clflush size : 64cache_alignment : 64address sizes : 39 bits physical, 48 bits virtual5.Linux查看版本说明当前CPU运行在32bit模式下(但不代表CPU不支持64bit) getconf LONG_BIT64二、uname的使用uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。uname -a显示全部信息-m或--machine:显示电脑类型;-r或--release:显示操作系统的发行编号;-s或--sysname:显示操作系统名称;-v:显示操作系统的版本;-p或--processor:输出处理器类型或"unknown";-i或--hardware-platform:输出硬件平台或"unknown";-o或--operating-system:输出操作系统名称;--help:显示帮助;--version:显示版本信息。三、查看Linux版本1.查看系统版本信息的命令 lsb_release -a(使用命令时提示command not found,需要安装yum install redhat-lsb -y)[root@localhost ~]# lsb_release  -aLSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0- noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID: CentOSDescription:    CentOS Linux release 6.0 (Final)Release:        6.0Codename:       Final注:这个命令适用于所有的linux,包括RedHatSUSE、Debian等发行版。2.查看centos版本号 cat /etc/issueCentOS release 6.9 (Final)Kernel \r on an \m3.使用 file /bin/ls 转载https://www.cnblogs.com/vaelailai/p/7545166.html

http://mirrors.aliyun.com/centos/8.3.2011/isos/x86_64/

Index of /centos/8.3.2011/isos/x86_64/


../
CHECKSUM                                           18-Nov-2020 21:48                 319
CHECKSUM.asc                                       04-Dec-2020 15:48                1179
CentOS-8.3.2011-x86_64-boot.iso                    18-Nov-2020 21:01           716177408
CentOS-8.3.2011-x86_64-boot.iso.manifest           18-Nov-2020 21:13                 635
CentOS-8.3.2011-x86_64-boot.torrent                04-Dec-2020 16:01               27830
CentOS-8.3.2011-x86_64-dvd1.iso                    18-Nov-2020 21:43          9264168960
CentOS-8.3.2011-x86_64-dvd1.iso.manifest           18-Nov-2020 21:43              465895
CentOS-8.3.2011-x86_64-dvd1.torrent  
选了最大的dvd版本 本来想着需要很久.
但是没有想到阿里云镜像节点 用idm 慢速31M  8g多几分钟.有图为证.真快.

然后先传到nas上吧.

速度也不错.之前说过买了个intel千兆单口pci网卡.由于没有弄all in one 单口 替换之前的百兆.

待续

最近wordpress 几件事情

香港购买的独立ip主机,wordpress 当机。出现 致命错误。当时挺着急。和衡天服务商提交工单。第一次没有成功。可能我按照其他方法替换了,除了 wp-admin 和config.php 还有一个php文件保存.

还是提示致命错误.需要进入debug模式.也设置了config文件.但是邮箱没有收到文件.

发了2次 工单.第一次说存在错误..帮忙设置好了.但是没有解决 第二次说db.php停用.让我试试

进入系统提示db.php有问题.估计是hi用wp db 缓存出问题 关闭清除缓存 问题解决.然后看到装了好几个缓存cash工具.有的功能有重复.找了一个啥功能的都有插件 .其他cash功能的都禁用.本分wordpress内容.

准备导入另一个wordpress中.

我装了3个wordpress.给弟弟建立了一个.

我这个可能 wordpressurl设置错误.首页是正确的.但是点击去登陆就跑到弟弟地址了.我想肯定是url设置有问题.但是之前的几种方法 试了2中都提示.错误 出现什么配置文件的第几行.看来5.6的wordpress好多文件不能按照之前的方法修改设置了.

新的方法是 登陆到 相关的wordpress的phpadmin后台找到这个wpadmin option.php 里面找到url 第一个就是 有两个 把表打开编辑 修改里面的内容.然后执行就可以了.完美解决.可以正常访问了.

然后又访问了一下弟弟的wordpress发现提示.错误三种.

  • 没有备案
  • 违规内容
  • 国内地址不能解析
  • 发现natfrp成都的所有站点不能正常解析.
  • 研究国外的地址.发现日本的ping大概107ms 我的站点用日本的.弟弟用洛杉矶的还有一个美国地址 发现没有洛杉矶离温哥华进.就选了洛杉矶机房的服务.
  • 最后以后一切恢复.

群晖搭建wordpress博客

首先需要一台群晖的NAS

什么是NAS?

NAS主要的作用就是网络储存,你可以理解为百度云,但这个百度云的服务器放在了家里。个人而言,有了NAS以后,家里的所有设备(台式电脑,笔记本电脑,手机,平板等等一切能联wifi的设备)都能访问这台NAS,共享资料。这样省去了经常需要互拷资料的麻烦,举个例子:有了NAS以后,你想用手机看电脑刚下载好的电影,你不需要拿出数据线拷电影,你只需要把电影拉进去NAS,然后手机访问这台NAS,就能观看。NAS能做的不仅仅是储存,它还能作为一台简单的服务器,完成一些相对简单的工作,例如在家自建博客(本博客就是建立在家里的NAS上的)。当然,NAS还有许许多多的优点,在此就不一一列举了。

本人用的是群晖的DS214play,截止至2018年6月7日,升级款貌似已经更新到DS218play了,同时214play目前也已经停产。

建立博客时群晖的版本号为:DSM 6.1.7-15284

在建立博客时,看了许多教程,发现有些设置和现在大不相同,导致经常卡在某个地方,每个晚上不停地查资料不停地尝试,断断续续花了一周时间,才最终建立完成,当然还有许多地方个人觉得有需要再润色一下。

或许本文里的一些设置,在不久的将来因为群晖的更新而失效,所以此文权当记录。

好,废话少说,进入正题。

一、安装wordpress博客

博客程序有很多种,例如zblog,emlog等等等等,但最多人用的还是wordpress,个人也倾向于使用热门的东西,毕竟多人用,教程多,出了问题也好找解决方案。

先去群晖的套件中心安装以下3个套件

分别是:

Web Station

phpMyAdmin

MariaDB 10(现在安装MariaDB的时候貌似要先设置密码了,记住用户名和密码就行)

当安装完web station这个套件以后,在file station就能发现多了一个“web”的文件夹∇

于是我就在我的电脑那里添加了这个文件夹,方便处理数据∇

现在可以开始安装wordpress了,其实群晖的套件中心里也有wordpress,虽然安装起来比较方便,但不能自动更新,而且后续外网访问的设置貌似会有点问题,所以个人强烈建议不要在套件中心安装。

百度“wordpress 下载” ,找到官网https://cn.wordpress.org/,然后把wordpress程序的压缩包下载下来。∇

直接拉进去“web”文件夹里面,然后解压缩,得到一个“wordpress”的文件夹∇

这个“wordpress”的文件夹就是博客网站了。

接下来设置“wordpress”的文件夹的读写权限,不然安装过程会有问题,而且后续装完博客也无法安装新主题

在file station里面打开“web”,找到“wordpress”,右击“wordpress”文件夹,点击“属性”,∇

选择“权限“。把所有http的权限都改为”读取&写入“。一开始可能不能修改,所以要先选择高级选项-使继承权限显式化。∇

完成以后如下图∇

在浏览器输入http://群晖IP/phpMyAdmin/ (注意大小写)∇

密码如果已经设置了,就填你设置的密码,如果没有,那就不用填。不过进去以后建议立刻修改密码,因为如果安装完博客以后,再去设置密码的话,会导致访问出错。这时候你就需要找到wordpress文件夹的wp-config.php文件,记事本打开,修改define(‘DB_PASSWORD’, ‘空间数据库最新密码’)

进入以后新建数据库,用于存储以后博客的数据信息。名称为wordpress(数据库名字不一定要wordpress,你想改什么就什么,记住就好),排序规则选utf8_unicode_ci,如图∇

数据库建立完成。

打开“web station“-”虚拟主机“-”新建“。下图是我的配置∇

端口数字一般是随便填的,我填了666。“文档根目录“要选择你博客程序的所在位置,HTTP和PHP也记得要勾选。

然后”PHP设置“-双击Default Profile配置文件-勾选全部扩展名(用新版群晖系统要这样做,之前旧版并不需要,导致卡在这里好久)∇

接下来就可以开始安装博客了

在浏览器输入群晖的IP及端口号666, http://群晖IP:666/

接下去就按照提示安装就可以了∇

输入用户名和密码,数据库主机填127.0.0.1:3307点击提交∇

(数据库主机一开始可以先试试填localhost,之前我装的时候填localhost就安装成功,但后来就不行了,这里也卡了很久)

点击提交,提交以后没问题的话就没问题了,有问题的话就要看看是否前面的步骤设置出现问题。如果还是问题的话,慢慢查资料吧。

下面就按照步骤来就好。∇

至此,博客已经安装完毕。你只需要输入你群晖的IP地址+端口号,就能访问编辑你的博客了。

在安装完博客以后,会遇到更新站点、主题和插件时,出现输入FTP账号密码问题。∇

其实这个是因为php没有取得写入权限的问题。解决办法就是打开wp-config.php,在最后添加一段代码:
define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);

20190326更新

评论有反馈这个FTP设置失效,然后找到了新的解决方法供参考:http://zhanglinhai.com/archives/912

二.外网访问的设置

上面安装完博客以后,你只能在家里局域网访问你的博客,下面就来进行外网访问博客的设置.

首先,你要设置好DDNS,可以参考我写的这篇《用自己的域名设置DDNS,外网访问群晖》

设置好DDNS以后,再设置好端口转发∇

然后修改wordpress后台设置里的两个URL地址。∇

这时候用外网在浏览器输入www.moks.cc/:666,就能访问你的博客了。

其实到这里本文就可以结束了。

但是

我觉得域名后面加了端口号一点都不酷炫,即使它是666

所以接下来我要进一步设置,去掉端口号。

首先进入群晖的web station,勾选“基于名称”-主机名填写你的域名,其他设置如图,点确定∇

然后进入你的博客后台,修改两个地址为https://你的域名(注意httpss不要漏掉)。如图∇

然后做好端口转发

都完成以后,你用万网输入https://你的域名(注意https的s不要漏掉),就能访问到你的博客了。

这里稍微解释一下,http协议默认是80端口,https默认是443端口,其实我们平时输入网址的时候后面是有端口的,因为默认的关系所以直接隐去了。而国内的80端口基本都封掉了,所以我们博客打算域名无端口号访问,只能采用443端口。

然后这时候你会发现,在访问的时候,你的浏览器会发出不安全警告∇

其实可以不用理会,但是看着总是不舒服。所以还要进行下一步操作。具体请参考我的另一篇文章《群晖部署阿里云申请的免费证书》

这样设置完以后,再访问的时候就不会有警告了,而且用chrome浏览器,还有一把绿色的小锁。∇

不过缺点也有,如果设备第一次访问的话,要打全网址,即https://www.moks.cc。前面的https://不能漏掉。

感觉还没有www.moks.cc/:666方便。

所以我打算再折腾一下,尽量输入更短的网址就能访问到博客。参考这篇《国内如何免备案免费设置域名转发》

1号红色框填写你要跳转出去的域名,需要你另外申请一个域名,例如 moks2.cc ∇

1号红框内什么都不用填,2号红框输入博客域名https://www.moks.cc(注意前面的https://也要输入完整),然后添加。∇

然后再到阿里云那里修改DNS服务器,等生效就可以了,一般秒生效,然后你就可以直接输入新域名,它就会自动跳转到博客的真实网址,不需要再输入https://www.这一大串东西了。

这里稍微解释一下,可能有点绕晕了。

本博客是建在家里的群晖上面的,地址为https://www.moks.cc。

如果我们直接输入www.moks.cc或者moks.cc的话,默认是指向http://www.moks.cc(注意没s),因为国内封掉80端口,所以http://www.moks.cc这个网址是访问不了的,如果要解除80端口封禁,就要备案,而备案一定要购买国内主机才行,那么就失去了群晖建站的意义了,本来我在群晖建站就是打算物尽其用,看上免费这一点。

但是我们可以通过上述的方法,用另一个域名转发来绕开80端口。

这时候你可能有疑问,为什么不能用moks.cc这个域名来自己转发给自己呢?其实一开始我也是这么想的,用moks.cc指向https://www.moks.cc/,但是啊,moks.cc这个域名本来就已经解析有服务器了(本站为例是DNSPOD),用于群晖的DDNS,DNSPOD需要备案才能设置转发,而备案又要在国内买空间…这时候再设置转发的话,就需要再另外添加解析负责转发的服务器。当然,也不是不可以这样做,但会造成dns解析混乱,我实际操作以后,网站经常会登不上去,ping了一下域名,发现ping到了别的IP地址,不是网站的真正IP地址,所以这个方法本人不太推荐。

其实这里还有一个思路,解析和转发都用同一个DNS服务商。但是需要满足的条件:

1.国外的。因为国内的需要备案才能转发

2.以我为例,可以绑定群晖或者华硕的。

但是,如果用国外的DDNS,万一被墙了就麻烦了,后续变更DNS服务商也是一件麻烦的事。

本文到此基本可以结束了。

在家用群晖建站,优点自然是免费,不需要每年付一笔钱给云主机商,而且容量随便你加,也不用在意流量问题(不过一般个人博客流量都不会很大就是了)

但是相反的缺点也很明显,在国内,如果不购买主机建站的话,80端口是用不了的,这就造成了想要通过简短的域名访问网站非常困难。而且用群晖建站相当于把群晖暴露在外网,容易受到攻击,特别是群晖作为一个家庭甚至公司的储存服务器,里面保存的资料一般来说还是挺重要的,所以仅建议自娱自乐随便玩玩。

2018.8.26更新

最近买了个vps搭建SS,空间还有富余,打算找个时间把博客搬到那上面去试试。这样的话基本就解决掉80端口问题和群晖不安全问题了。

全文完

参考文章:

1.外网访问群晖上的博客详细教程

https://post.smzdm.com/p/536484/

2.说说黑群晖和极路由那点事儿 篇二:满负荷使用你的NAS——零基础搭建个人博客及论坛

https://post.smzdm.com/p/310848/

3.不用群晖套件架设wordpress博客站点

http://www.gebi1.com/forum.php?mod=viewthread&tid=258148&_dsign=54f0bdbd

4.黑群晖+梅林路由:外网访问NAS整体解决方案

https://post.smzdm.com/p/568990/

5.群晖DS418PLAY有什么好玩意之 篇一:DNSPOD外网访问群晖DSM

https://post.smzdm.com/p/622921/

6.How to host a website on Synology NAS

https://www.synology.com/en-us/knowledgebase/DSM/tutorial/Application/How_to_host_a_website_on_Synology_NAS

7.群晖下搭建wordpress博客站点

http://www.gebi1.com/thread-257802-1-1.html