未知狐 发布的文章

这篇文章会对建站涉及的一些关键词进行通俗易懂的解释说明。 本文全文内容均根据我自己的知识积累和理解手打,难免存在一些纰漏,如果您发现存在错误或过于晦涩难懂欢迎在下方留言指正,也可加入我的QQ群:99523341 反馈。此百科我也会在码云和Github进行更新维护。
本百科在码云的项目链接

域名

  1. 什么是域名?

域名是一个便于人们记忆的网络站点标识,它被用来代替难以记忆IP地址。
比如我的服务器的IP地址:120.55.81.34,这一串数字显然是不方便记忆的,而我的域名:xfox.fun 显的就更容易记住了,你可以理解为X是未知,fox是狐狸,fun自然是开心。我们可以将域名解析到一个IP地址,这样会方便我们自己和访问者了。

  1. 一级域名和二级域名

一级域名例如”百度“的域名是:baidu.com 。但是我们平时访问百度,你可能会发现浏览器地址栏写的是:www.baidu.com ,这就是一个二级域名,我们通常说的域名其实一级域名,比如我的是:xfox.fun 。
根据传统大多数网站会有一个www开头的二级域名,这是很多网站的主页面。

PS:如果你在最新版的Chrome浏览器(谷歌浏览器)打开 B站 ,你可能会发现地址栏目写的是:bilibili.com ,单击地址栏,链接前面又出现了www. 这是因为许多浏览器默认隐藏了www. 但是你应该知道这三个www是存在的。

延伸:域名分类-通用顶级域名和国别顶级域名。百度百科

服务器、虚拟服务器、虚拟主机

  1. 服务器(server)

服务器(server)也是一台电子计算机,但是与个人电脑(PC)不同的是,服务器的处理性能通常远高于PC,它的价格更昂贵,也拥有更高的耗电量。
我们建站时所说的服务器主要是指具有一个公网IP的服务器,你可以通过它的公网IP访问这个服务器。
服务器分类可参考:百度百科

  1. 虚拟专用服务器(VPS)和云服务器

VPS(Virtual Private Server 虚拟专用服务器),VPS主机是在一台实体服务器上使用虚拟化技术隔离出来的系统。
和普通服务器区别的是,它的硬件型号是虚拟出来的,因此理论上你想虚拟哪个型号的CPU/网卡都可以。VPS的硬件配置不是一定的,可以进行调整。想要比较VPS的配置其实和比较一般电脑的配置一样,通常看CPU、GPU、RAM(内存)、ROM(这里我指的是硬盘存储大小)。 通常IDC(互联网数据中心)会提供一个控制面板帮助用户对VPS进行一些操作,包括但不限于更换系统,设置安装系统的密码,远程连接相关的各项设置,我在一篇文章说自己这个IP120.55.81.34的服务器其实是说VPS,并非真的指服务器,只是平时大家都习惯说服务器了,正经谈论还是要注意区分。
这里就要说明一下,云主机和VPS并不完全相同!
*VPS具有服务器分给它的独立的硬件配置,也就是说它的性能是固定的(除非你设置划分给他更多资源)。云主机也是使用虚拟化技术的产品,云主机的性能是由多台计算机的性能之和决定的,因为他把一项计算任务分给了多个计算机进行处理,这也就是”云“的含义。
你也可以看看百度百科的解释VPS和云主机的优劣对比

  1. 虚拟主机(俗称网站空间又称虚拟服务器/共享服务器)

虚拟主机这个东西往往是很多新手相对服务器和虚拟服务器更早接触的,也是我认为最适合新手的。
它是把一台服务器划分成多台”虚拟服务器“,但是虚拟服务器不是虚拟专用服务器(VPS)!,我们在互联网上经常看见有”XX云“贩卖的虚拟主机通常是仅能运行PHP程序的,并且没有独立的公网IP(除非是专门在一台有公网IP的服务器或者VPS上搭建的)你可以通过IDC提供的一个控制面板绑定自己的域名(大部分IDC都会对绑定的域名数量进行限制),并通过FTP工具上传文件到你的虚拟主机(网站空间),这样就可以很快速的实现一个网站的搭建了。
PS:目前虚拟主机(网站空间)主要有两种面板:国内许多人在VPS或者服务器上搭建网站可能会使用的国产”宝塔面板(BT plane)”,外国IDC大多使用“C Plane(CP面板)” 另外,CP面板一种是控制VPS的,另一种则是控制虚拟主机(虚拟空间)的。不过有个面板恐怕是你们在“XXX云”这些小IDC经常看见的,那就是“Easy Plane(EP面板)”顾名思义,这个面板构造极其简单,比较适合新手。

(实际上我三个都用过,感觉也都差不多,花时间看看选项就知道这么用了。)
关于以上三者的差异对比可以参考虚拟主机、VPS、服务器 的比较

版权声明:本文著作权归未知狐(邮箱:axfox@foxmail.com)所有,外部链接内容归其原作者所有,任何非盈利性组织、个人都可以转载、引用本文,但必须注明来源出处!
Copyright statement: The copyright of this article belongs to XFox (E-mail: axfox@foxmail.com), and the content of external links belongs to its original author. Any non-profit organization and individual can reprint and quote this article, but the source must be specified!

前言:

我在2019年2月17日发布过一期视频,讲的就是0成本搭建个人博客,当时受限于多方面原因没有非常详实的内容,本手册意在更完整详实的带着萌新走一遍建站的流程。(本手册将不定时对一些时效性内容进行更新。)
本项目在码云的链接

建站准备工作

硬件物资:可稳定联网的手机/电脑(推荐电脑,操作更方便)
软件物资:

  • 1个域名
  • 存放并运行你的网站的服务器/虚拟服务器(俗称VPS)/虚拟主机。
  • 你希望搭建的网站的文件(比如你想用WordPress做自己的博客,那就去WordPress官网下载该程序的安装文件)

关于域名,我个人不推荐使用别人的"二级域名",我的建议是在freenom免费域名网站申请一个免费域名(百度有教程)。
关于服务器,本着”免费、简便“的原则,我在教程中先写使用虚拟主机建站的方法。

PHP echo&print

区别:

  • echo可输出多个字符串(你当然可以只输出一个啊),没有返回值
  • print 只能输出一个字符串,但是具有固定为1的返回值。
PS:echo输出的速度比print快,两者输出的字符串都可以包含标签。

使用格式均为:
echo "相见亦无事,不来常思君。"
`print "相思相见知何日?此时此夜难为情!——李白《三五七言 / 秋风词》"

PS:你可以加上括号,但是他们两个都可以不加。
实例:
<?php
$txt1="学习 PHP";
$cars=array("Volvo","BMW","Toyota");
echo "未知狐开着 {$cars[2]}","$txt1";
echo "<br> Look at you day by day.";
?>

运行后:
未知狐开着 Toyota学习 PHP
Look at you day by day.

博客正在备案

你会发现,博客现在正在用IP :120.55.81.34直接访问,当然不是我不想用域名......
是因为我把博客搬到了阿里云在广州的服务器(服务器线路有点问题,国内好多地方都打不开... (╯‵□′)╯︵┴─┴ ),现在正在阿里云备案,备案信息早提交了,但是还在审核,等服务器备案好了就可以访问:www.xfox.fun或者直接访问xfox.fun啦!

【备案】关于阿里云备案审核延期的通知

【阿里云】【备案】【审核延期】

尊敬的阿里云用户,您好!

为加强新型冠状病毒感染的肺炎疫情防控工作,有效减少人员聚集,阻断疫情传播,响应国家号召,在疫情防控期间,我们会减少审核人员聚集性办公,防止交叉感染,您的备案申请会延长审核,各省、直辖市通信管理局预计审核周期为20个工作日,具体审核状态请您关注备案进度。

同时,我们会密切关注疫情防控要求并尽快恢复1个工作日的初审时效,为您带来的不便我们深感歉意!感谢您对我们工作的理解和支持。

钉钉直播为什么卡

一. 用户数量过多,数据流量超载以及黑客攻击。

具体参见下图!
智学网遭黑客攻击,官方紧急关闭直播入口-官微信息(目前已恢复正常)
此事也暴露出某些商业性平台的一些问题:参见知乎网友痛批智学网

二. 用户设备问题(此项占主要)

如何调整好本地设备确保流畅观看直播?

  1. 原则上,观看效果:电脑&智能电视>平板>手机
    关键点:屏幕大小适中、分辨率高。
    PS:如果有条件,可以使用移动设备打开视频选择投屏到智能电视上哦!
    (非智能电视不要急,大多数家庭配有智能网络电视盒,此硬件大多支持投屏<包括但不限于华为、小米、中兴、苹果、移动魔百盒)
  2. 使用网络&视频性能更好的设备
    众所周知,高通骁龙处理器GPU能力:800系列(定位高端)>600系列(定位中端)>400系列(定位低端)
    同系列处理器GPU能力可参考:骁龙450>骁龙439
    此处仅作粗略比较,具体性能可参阅《移动设备CPU性能天梯图》
  3. 本地网络速度很重要
    目前,已知家庭宽带主要三大运营商中综合网络性能(网络带宽标实差&网络延迟):电信>联通>移动
    Tips:部分小运营商如:鹏博士长城宽带等 带宽均租借上述三大运营商(实际都租借移动),由于追求经济效益过量吸入用户,实际平均带宽极低,网络延迟非常高!极不推荐!

如果本地网络卡顿......

  1. 如果有条件,你真的可以试试用流量观看。

    请不要说流量很贵,李晓君老师曾经在后黑板上写过哈佛大学前校长德里克博克的名言:“如果你认为教育的成本太高,试试看无知的代价!”-"If you think education is expensive,try ignorance!"
    PS:如果你被刘金金老师教过,你或许知道:“为什么心理咨询师一定要收费服务?”那么你就明白我的用意了。
  2. 打开路由器管理界面(不知道什么意思请自行百度),设置DNS为:

TPV4:
首选DNS:223.5.5.5
备选DNS:223.6.6.6
IPV6:
首要:2400:3200 :: 1
备选:2400:3200:baba :: 1

以上DNS为阿里云公共DNS,普通用户设置IPV4即可(国内IPV6应用实际尚未大规模普及),你也可以选择使用腾讯云DNSPod。
PS:DNS是域名解析必不可少的服务,好的DNS可以大幅加快解析速度,增快网页访问速度,大厂如:BAT三巨头的DNS在国内的解析速度自然要比早就被污染的谷歌DNS好得多。(部分国内落后垃圾厂家的路由器默认使用Google DNS,极大的拖慢了网页访问速度。)
  1. 我强烈推荐 大家试试更新到Dingtalk的最新版本、更新系统、清除系统&APP缓存、重启设备再试试。
    国内安卓系统(Android)用户极多,但大多数是第三方手机厂商“魔改过”的系统(such as :华为:EMUI、小米:MIUI、OPPO color OS,魅族:FlymeOS、联想:ZUI、努比亚:Nubia UI、)极其臃肿,由于系统底层被疯狂修改,部分设备播放视频可能存在显示渲染异常导致花屏、卡顿。如果有此问题建议向手机厂商反映情况,因为除了更换设备,你没有其他办法。

(别不服气,有能力自行DIY解决系统BUG的人是不需要看我的博文的。)

钉钉服务器几乎不可能被攻破,用户设备才是卡顿元凶

钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台。
阿里巴巴旗下拥有云计算服务:阿里云,用户覆盖全球,在中国IDC排名稳占前五,百度、阿里、腾讯统称中国BAT三巨头,在中国全国境内拥有大量服务器机房,作为阿里巴巴的“行业独角兽”Dingtalk的服务器资源是任何在线教育平台都无法比拟的。至于黑客攻击,你有见过支付宝服务器被黑客入侵的新闻吗?
DingTalk
(阿里云:我是IDC卖云服务的,你要和我比互联网硬件?)

- 阅读剩余部分 -

变量的作用域是脚本中变量可被引用/使用的部分

PHP 有四种不同的变量作用域:

  • local //局部 (在函数内定义)
  • global //全局 (在函数外定义)
  • static //静态
  • parameter //参数

内容总览

1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3、函数之间存在作用域互不影响。
4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。如下:

局部变量和全局变量

<?php
$x=5; // 全局变量

function myTest()
{
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
} 

myTest();

echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>

以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y变量在函数内声明所以它是局部变量。
当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为$x变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。

然后我们在myTest()函数外输出两个变量的值,函数将会输出全局变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量;$x在函数外定义,属于全局变量。

- 阅读剩余部分 -

这个想法很早就有了 甚至那时候“一言API”还不为世人所知,只是当时空有想法没有能力一直搁置,今天想起来了决定要做出来点东西。

随机文字API

这里暂时只放出来我搜集到其他大佬的。
  1. 方案1(简介代码

    <?php
    $arr=file('1.txt');
    $n=rand(0,count($arr));
    echo $arr[$n];
    ?>

  2. 方案2(其实和1差不多,不过这个路径可以换成其他目录,其他变量基本相同)
    <?php
    $f='1.txt'; //文件名
    $a=file($f); //把文件的所有内容获取到数组里面
    $n=count($a); //获得总行数
    $rnd=rand(0,$n); //产生随机行号
    $rnd_line=$a[$rnd]; //获得随机行
    /echo "$rnd / $n : $rnd_line"; //显示结果(内容前加“行号/总行”)/
    echo "$rnd_line"; //直接输出取得文本行
    ?>

终于发现了网络卡慢的根本原因

又重装了最新版的Manjaro deepin,照例执行以下命令:
排列源:sudo pacman-mirrors -g
同步并优化:sudo pacman-optimize && sync
升级系统:sudo pacman -Syyu
但是发现无论用哪个镜像源都出现访问错误,又想起来,外婆家移动网络原来还好好的,这次来网页加载时间明显加长(Linux里用火狐打开百度都要三十秒),简单检查了路由器看上去没有问题。最终考虑可能DNS不太好,更换了腾讯公共DNS的DNS节点,打开百度秒开,问题暂时解决。
接下来,发现家里所有人的上网设备都存在访问网页时间长的问题,这就不太对了。
忽然想起来我的爪机曾经出现WiFi连接提示未分配IP地址的报错,第一反应路由器DHCP是不是出了问题。打开浏览器输入192.168.0.1(有的型号是192.168.1.1)打开路由器Web管理界面,一看DHCP服务器设置,有三个选项,开、关、自动,当前正在自动上,我个人是喜欢手动设置的。于是调到开,然后发现,默认首选DNS和备选DNS居然是Google的公共DNS(8.8.8.8、8.8.4.4)这两个DNS在前几年还是很常用的,尤其是一些经常访问外网的同学,会喜欢这么设置。
But:就在近几年,这个谷歌的公共DNS节点已经被污染了!
于是我马上更换为腾讯的公共DNS服务器;
首选DNS:119.29.29.29
备选DNS:182.254.116.116
点击保存关掉Web界面,把我的每个设备WiFi连接设置为自动获取网络信息,再访问网页就没问题了。