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

黑群晖去除更新弹窗和小红点

就是这个东西,一登陆就弹出这个对话框,让我下载升级。

为啥要去除群晖登陆自动更新提示?

1、一登陆就弹出来,烦!!!

2、有的时候脑子抽筋,真的会点升级!!!

 然而黑群升级,真的会挂掉

怎么去除登陆自动更新提示?

首先要打开ssh,然后获取root账号权限,用winscp进入群晖系统,最后修改群晖的配置文件,over。

开始折腾

开启ssh

打开控制面板-终端机和SNMP,把启用SSH功能打开。

获取root权限

这里会用到两个工具,链接在此,提取码是4w47,都下载下来

打开putty

主机名称那里填群晖的IP,端口默认是22,连接类型选ssh。然后点“打开”

键盘输入你的群晖账号,我用的是admin账号,然后回车

显示让你输入密码,输入刚才账号的密码就好了

 。这里的账号密码就是群晖的登录账号对应的密码。

回车结束

注意,输入的时候什么都不显示

 ,不是输入不进去 

密码输对了就是这样,输错了,重输~

这时,输入

sudo -i

回车。怕敲错的话,复制命令,在输入界面右键单击,命令就上去了。回车结束

这里提示还是让输入密码,继续输入刚才的账号对应的密码。回车结束

输入一行命令

synouser --setpw root xxx

这里是重置root账号的密码,xxx改成你想设置的密码。建议改成登录账号的密码,省得再忘了

回车

然后输入

reboot

回车。群晖重启。

到这里root权限就获取完了,密码也改完了。

修改群晖配置文件

打开winscp

协议选sftp,主机名就是群晖的IP,端口是22,用户名root,密码就是你刚刚为root设置的密码。然后登录

连接成功是这样,这个界面左面是本地目录,右面是群晖的系统目录,在右面根目录下找到

autoupd@te.info

这个文件,右键单击,选编辑。

拖动下面的长条到最后面,在updateType后面引号的里的文本随便改改,我改成no了,然后关闭,保存。

如果不用root账号登陆的话,这个文件是无法修改的

其实这里我也不知道应该改成什么

  ,尝试了下,改成no就达到效果了

关闭winscp,重启群晖,登陆看看,可恶的更新提示不弹了吧?

总结

讲道理,这篇日记挺简单的,解决的问题也挺小的,无非就是去除个弹窗。

但是

 ,掌握了root权限获取,以及用winscp修改群晖系统文件的方法。

个人觉得这个方法用处挺大的,以后折腾群晖少不了修改系统文件,用这个方法还可以修改transmission等套件的配置文件,套件的安装文件一般在@appstore文件夹了。

坑一点点的填完了~还差K3刷官改。这篇日记估计要很久很久了。看看有没有时间再刷一个K3好截图了。

以后可以能尝试安装qBittorrent。还有群晖的影音功能。等折腾好了我再写日记。预防老年痴呆

 ,从我做起~

照例,列一下以前的日记,各位感兴趣的可以看看。记得打赏,点赞,收藏啊

有什么问题欢迎留言讨论。我也是小白,共同学习~

生命在于折腾~

winscp登陆 这个目录 找到 修改 但是失败。但是前面那个不弹出了。就这样子吧。

  1. 继续输入命令:vi /usr/syno/synoman/synoSDSjslib/sds.css 回车然后你会看到一堆类似乱码的东西,然后按键盘的END键,此时会跳转到文件末尾,然后按键盘的 i 键,进入编辑模式,再按一下键盘的→,然后粘贴:.sdsapplication-notify-badge-num {display:none!important;}   注意前面有个点,然后按ESC键退出编辑模式,再按shift+;(分号)键,输入wq回车就保存了
  2. 4再次输入:vi /usr/syno/synoman/webman/modules/AdminCenter/style.css 回车,和刚才一样在文件末尾粘贴:.syno-app-admin-center-icon-image .badge {display:none!important;}  注意粘贴前按一下→,防止覆盖原来的}符号,然后保存,此时进入群晖web界面刷新一下就可以看到红点去除了!

ddwrt 不小心关了web访问 无法通过ip地址访问

原因:因为用了ddns。所以导致访问域名acevs.com的时候显示 路由器界面。不安全。

百度 发现 其他路由 可以关闭 web访问路由器。我就登陆ddwrt后台 发现 了

如图:正确设置。关闭远程访问路由器 域名就不会显示路由页面

另外说一下 不重置ddwrt 到出厂设置 恢复 web访问

ddwrt虽然没有设置多少东西。但是ppoe 无线密码 端口映射之类的也得忙活十分钟。

系统打开 cmd

然后输入 telnet 路由ip地址

输入用户名

输入密码

输入

httpd -h /www

官方指导 https://wiki.dd-wrt.com/wiki/index.php/Web_Interface

非官方输入这个好像也可以的

https://wenwen.sogou.com/z/q481088785.htm

求救呀..无法通过web访问dd-wrt了...但是telnet可以连上..

今天不小心去掉了Web Access下面Protocol 选项的http和https并且把 enable info site 选成了 disable...重启路由后发现无法从过lan的ip访问控制页了....咋办呀现在telnet上去不知道怎么再开启那2选项

最新回答 (2条回答)

匿名用户1级2013-09-13 回答

telnet进去输入httpd -p 80就可以打开WEB了



嵌入式 – 我不小心禁用了DD-WRT的Web界面

https://www.jb51.cc/html/228729.html 这个发现官方方法

Padavan固件公网下的openvpn服务端搭建

环境 小米ac2100 chongshengb pandavan固件。

走过的步骤。记录

能获取到公网IP,并已经做好了ddns

端口映射1194 这个不知道是否需要做。我做了。

1. 开启路由器的openvpn服务端(其实这个在网络上已经有不少相关教程了,大

 2. 大致流程:首先【启用VPN服务器】开关;【VPN协议】选openVPN;

 3. 【通信协议】根据个人实际情况选择,是IPv4那么就选IPv4,假如是IPv6那么就选【TCP over IPv6】,

 4. 下面的【分配子网】选择{是(使用NAT到LAN)};

 5. 【通过VPN转发所有的客户端流量】选择{是};

 6. 【客户端访问】选择{完全访问权限};

 7. 其余的选项默认就行,或者有了解的话自己个性化也没问题:)。

下一步:进入【openVPN证书和密钥】,选择{生成密钥},这个操作需要一定时间,路由器可能会卡滞,不用担心。

加密算法rsa位数越多越好随意。1024也可以了 ec p-258 这个没有查到资料没有用这个加密方法。知道的可以告诉我。

然后下一步:再次进入【设置】,把【VPN】协议暂时选择成另外一个协议,然后进入【客户端账号】选择添加账号,自己选择{用户名}{密码}和{IP地址号}。为什么换成其它协议才能添加账号,可以看到在{openVPN协议}下密码那一栏无法填写,至于为什么我也不晓得哒

下一步就是选择【导出client.ovpn】,把文件下载到本地后需要进一步处理。

 2. 下面的【remote】,指的就是路由器的公网地址,因为前面做的是IPv6的ddns(具体参考另外一篇【ddns实现中阿里云配置RAM及解析】),所以这里要把原来默认的IP改成自己的域名,端口的话就是前面自己设置的,默认就是1194。

 3. 然后还一个最关键的,要在【;float】后面加一行【auth-user-pass】。我就是在这里出问题,后面搜索看配置文件含义就发现了,假如不加这一行,那么在客户端进行连接使用的时候,不会要求输入用户名和密码,这样就怎么都连接不上,

 最后电脑端登陆 右键 选中这个

然后出现

下面这个

成功。好像错误提示不少。但是

小米路由vpn这个地方提示

ok

最后 网易邮箱ovpn 文件 让手机用。发了3四次 ovpn文件封号了。不能发邮件了。申述中。不知道违反了什么规定。系统无任何提示。只能申诉。有大神遇到过吗?

参考文章:https://post.smzdm.com/p/a839e3d7/ Padavan固件公网ipv6下的openvpn服务端搭建

https://mp.weixin.qq.com/s/3bLNQU0my6QJy0aeFu4DBw?scene=21#wechat_redirect

https://mp.weixin.qq.com/s/eXekF6Ts3Z5FdrURI1Pwgw

【技术】家庭宽带的IPv6外网访问