让人家也在二次元的世界里建一个小窝(*・ω< ) ——晓空の建站教程

这可能是北半球最简单易懂的教程2333

建这样一个窝,你需要这些东西

1.虚拟主机/VPS/云服务器

2.DNS解析服务/CDN

3.一个你喜欢而且好听的域名(最好是顶级哒~)

4.SSL证书(按需准备,不要也行)

5.一个网站源码

这些东西都要票子而我木有怎么办QAQ

其实嘛....不想掏钱也想搭网站也不是不行,只是稳定性和速度方面就.....

虚拟主机:自行百度免费空间,或者用我用过的(可以去本站关于页里找)

DNS解析/CDN:百度DNSPOD或者cloudflare

域名:百度freenom或者二级免费域名

SSL证书:百度免费SSL证书

网站源码:百度php源码,或者自己动手写吧2333

卧槽,这是在给百度打广告的节奏???

一本正经的(划掉)解释基本原理

如果你懒得看可以直接跳到后面看正文的说

首先当然是网站的核心——服务器

服务器其实就是电脑,啊,不对,确切来说是和你的电脑结构相同的计算机

从这一出发点上说,你的电脑也可以当服务器用(如果你真的搞不到免费的又没钱),事实上也确实有很多人这么干,或者说写网页的基本都干过

为什么呢?那是用来在本地调试网页的,远程的速度和操作方便肯定比不上本地就是了

在上面我们说到有虚拟主机,云服务器和vps,那么这三者有什么区别呢?

首先咱们来说说云服务器吧,云服务器其实就是和你电脑差不多的一个东西,只不过它在设计之初就是考虑到会一开起来就不关机了,所以和一般的电脑多少有些差别(虽然并不大)

接下来是VPS,VPS这东西其实和云服务器也是差不多,但是它的配置更低,简单来说,就是一个低配的不关机电脑。

但是要注意的是,VPS和云服务器大多是直接在上面开虚拟机运行你所看到的系统的,只有少数的超高配的高价主机才会是独立的服务器,而且,大多的VPS和云服务器都是没有物理显卡的!(所以你也别想着买了拿来玩游戏了)

现在来说说虚拟主机吧,虚拟主机是WEB行业中服务器占比最大的一类,它的优点就是便宜,除此之外就没什么别的优点了...

说到虚拟主机,我们就不得不提到另一个东西——面板了。因为虚拟主机只是把服务器的一部分空间分配给你使用而已,所以我们是连操作系统都看不到的,我们只能通过这个面板来操作虚拟主机。

但也是因此,最为基础的东西他们都已经帮你弄好了(比如说数据库啊什么的),所以,对于小白我还是建议你们选这个。

接下来是DNS解析/CDN和域名

我们都知道网站有网址对吧?比如本站的网站就是blog.moeworld.tech,但是对于计算机和互联网来说,它是不知道网址是什么的,他们认识的只有IP,在整个互联网中,外网IP是在全球内都可以访问的(有外网当然还有内网,但是这个我们在此先不谈论),DNS解析服务商提供的就是将网址转化为IP的服务。

那么,CDN又是个什么东西呢,它其实就是将你的网站服务器上的静态内容(比如文本和图片)缓存到它自己的服务器上去,从而实现加速服务,因为用户访问的是缓存的内容,所以也同样降低了我们自己服务器的负担,此外也是因此可以为我们的服务器提供防御服务。

然后,就是重中之重的域名啦~

域名这个东西说的简单一点就是网址...我们先来观察一下下面的几条地址。

//为了方便观察,我们去掉了协议开头http://和https://
rcraft.ml
bbs.rcraft.ml
blog.rcraft.ml
web.xksc.rcraft.ml  
blog.rcraft.ml/index.php/2019/08/03/21/53/13/153/

大家不难发现,这几条里都重复的部分是rcraft.ml,这个就是我们的顶级域名了,然后不管前面的是由几节(比如bbs.rcraft.ml和web.xksc.rcraft.ml)都是我们的二级域名,最后面的.ml就是我们的根域名(常见的有.com和.cn以及.net)

域名其实不是很重要,如果你是自己有服务器的话,直接ip就能打开(但是这样有很多的弊端),但是作为一个想要发展起来的网站域名还是很有必要的东西

现在讲没什么卵用的SSL证书

为啥说没什么卵用呢,只是因为没了它你的网站也不会怎么样

SSL证书的作用很简单,它就只有一个作用——为你的网站提供HTTPS加密传输保护

这个东西分为好几类,我们下面再讲。

最后是网站的源码了

源码是网站运行和其他功能实现的必需品,如果没有源码那么服务器什么也干不了

源码主要有PHP、ASP、Python这么几类,其中最常用的为PHP(PHP的源码也是最多的)。

比较常见的个人网站有论坛站和博客站,像本站即为博客站。在这里我给大家推荐一些比较常用的源码。

个人博客:WordPress(本站用的就是这个)
论坛:Discuz、修罗论坛、HadSky、PHPBB
应用商店:711CMS、YYJia
怎么有种给别人无偿打广告的感觉TAT

好(*´゚∀゚`)ノ ,现在是实战时间~

如果你用的是VPS/云服务器/个人电脑

VPS/云服务器专属步骤

登录你的服务器后台,在后台中安装Windows7及以上的系统,然后找到IP及端口(服务器地址)、用户名和密码(这个也可能是你自己设置的)

打开电脑的Windows开始菜单搜索远程桌面,打开并输入先前找到的信息连接到服务器

通用步骤

打开浏览器中的百度,搜索phpstudy,点击第一个进入 phpStudy - 让天下没有难配的服务器环境!(可以点左边的字直接进去)

然后向下拉,找到为服务器环境提供最优配置的解决方案这里,你会看到有两个下载选项,选择Windows系统,下载并安装,如有提示请一律允许或选择是

因为phpstudy的历史比较久远了,所以你看到的可能有以下几种不同的UI,都可以用

旧版(2019年之前的版本)

2019最新版

接下来的教程一律使用PHP工具箱(2018年版)为例,其他的版本大同小异

phpstudy的数据库用户名和密码默认都是root

我们首先找到自己下载的网站源码,上传到服务器(用自己电脑的可以省略这步)

找到其他选项菜单,打开网站根目录,然后解压你下载的源码

然后打开MySQL管理器菜单,点击站点域名管理

首先填好你的完整域名,然后输入或打开你的源码解压后的地址,端口填写80

(注意,这一步的地址请检查打开后能否直接看到.php结尾的文件)

确认无误后点击保存并生成配置文件,如果没点就等于没填!

虚拟主机专属步骤

在服务器提供商的服务器后台中找到服务器的相关信息,点击一键登录(如果没有请选择手动输入)

找到面板中的在线文件管理器,然后上传我们的网站源码至wwwroot文件夹中,等待页面自动刷新然后点击解压。

接下来找到面板中的域名绑定,填入完整的网址域名,文件夹保持默认或填入wwwroot(部分服务器不支持更改)

记下这里提供的解析信息,按照下面的教程进行解析地址。

如果你使用第三方提供的解析服务

确认80端口为开放后,在域名服务商那里找到域名的NS服务器(有时也会叫做NameServer)

接下来打开你的DNS解析提供商的后台,添加域名,然后按照说明将NS服务器地址复制下来,然后回到域名服务商的域名NS服务器,并将其填入(通常有两条地址都要填入)

在DNS解析提供商那里找到添加记录,选择A记录,然后填写记录值(二级域名,不带顶级域名),然后在主机那里填写我们一开始连接用的IP地址(个人电脑请百度ip查看自己的外网ip)

其他保持不变,点击保存,等待域名解析生效(全球生效时间最长为72小时,要等多久看你自己的位置)

如果你使用域名提供商自己的解析服务

找到DNS解析, 点击添加记录,选择A记录,然后填写记录值(二级域名,不带顶级域名),然后在主机那里填写我们一开始连接用的IP地址(个人电脑请百度ip查看自己的外网ip)

其他保持不变,点击保存,等待域名解析生效(全球生效时间最长为72小时,要等多久看你自己的位置)

如果你需要SSL证书

首先请确定您的虚拟主机是否支持添加SSL证书(注意一下,不是HTTP认证),如果你用的是自己电脑/云服务器/VPS就没问题了

首先百度免费SSL证书,其中会有很多的结果,先仔细看一下,如果有结果的下面标着广告等字样,直接略过即可

SSL证书分为好几种,总的来说有免费和付费的两大类,之后又分为根域证书(支持泛解析和所有该域名下的所有二级域名)和子域证书(即只能给指定的二级域名用的证书)

收费和免费的证书并没有特别大的差别,所以请按照自己的需要来使用

注意:免费的通常不支持根域证书,并且最多只有几个月的有效期,所以需要定期续期

关于添加SSL证书的方法有很多,比较常见的有添加到服务器上和解析服务上

云服务器/个人电脑/VPS 以phpstudy 2018 (apache+mysql )为例

在 其他选项菜单- PHP模块扩展中找到 php-openssl 选项,并且将其勾上

进入到 apache 目录下(通常位于 安装位置/PHPTutorial/Apache )

在conf目录下有一个vhosts.conf,按照80的配置,另起一个VirtualHost443

Listen 443


<VirtualHost *:443>

ServerAdmin [email protected] #(和80一样)

ServerName yourdomain.com #(和80一样)

Errorlog /logs #(和80一样)

DocumentRoot “D:\phpStudy\WWW” #(和80一样)

SSLEngine on


SSLCertificateFile /usr/local…/yourdomain.com.crt(服务器上证书路径)

SSLCertificateKeyFile /usr/local…/yourdomain.com.key(服务器上证书路径)

SSLCertificateChainFile /usr/local…/bundle.crt(服务器上证书路径)

</VirtualHost>

重启服务器,如若报错或无法启动请检查443端口是否被占用

到此,请在浏览器里面输入https://yourdomain.com ,如果看到HTTPS协议的安全锁,那么您的SSL已经部署成功

虚拟主机 以EasyPanel面板为例

如果您已经确定您的虚拟主机支持SSL,那么请在 SSL证书 菜单中输入您的SSL证书内容保存即可

如果不支持,请联系您的虚拟主机提供商或者看到下文中 以CDN的方式添加SSL证书项

以CDN的方式添加SSL证书

在此处以Cloudflare (以下简称为cf) 为例

Cloudflare官网:https://www.cloudflare.com/

注意:此网站为纯英文网站,如果你觉得自己看不懂请自行使用浏览器的翻译插件(推荐Chrome自带的右键翻译),切勿使用百度翻译网页版等位于网页中的翻译工具。此外这家的网站由于大陆的网络环境关系,很可能会打不开或者打开很慢,如果你遇到这种情况请自行挂梯子

首先请注册一个账号,然后添加你的网站域名

下一步,Select a Plan中选FREE(免费)

接下来在cloudflare中将域名解析到你的空间IP上,域名解析好后点击 continue,会帮你自动生成DNS地址 ,请参考 如果你使用第三方提供的解析服务 项修改你的域名服务器

设置NS地址完毕后,你可以在域名菜单中最上面一排看到一个锁的图标,其名为Crypto,点击进入HTTPS安全设置

在右边,你会看到一个当前为None的选项卡,按照需要来修改该选项:

Flexible SSL:您的网站访问者和Cloudflare之间有加密连接,但是从Cloudflare到您的服务器没有加密。即半程加密。优点在于:你的网站不需要SSL证书,用户也能实现SSL加密访问。
Full SSL:全程加密,即从你的网站到CDN服务器再到用户,全程都是SSL加密的。优点在于:只要你的服务器有SSL证书(不管是自签名证书还是购买的SSL),就可以实现SSL加密访问。
Full SSL (strict):全程加密,它与Full SSL的区别在于你的服务器必须是安装了那些已经受信任的SSL证书(即购买的SSL证书),否则无法开启SSL加密访问。
Strict (SSL-Only Origin Pull):企业模式。自动将所有的Http转化为Https加密访问,要求你的服务器安装了受信任的有效的SSL证书。 

在这里我们主要使用Flexible SSL模式,这样可以避开我们的服务器无法添加SSL证书的问题

最后,在Page Rules 设置强制https ,至此,你的SSL证书已经安装完毕(默认安装的是CloudFlare的永久免费证书),如果你需要换成自己的证书,请使用cf的付费套餐

网站源码安装

这里没什么好说的....全是水而已233

基本上都是遵从以下几个步骤

访问源码的安装目录-开始自检-设置数据库以及创始人账号密码-导入数据-设置覆盖安装保护-安装完毕

源码的安装目录或者安装程序通常都带有install字样,如果找不到哪个是安装程序的话可以来按照这个来找,通常如何安装都会在程序的使用说明中指出(比如README.md就是最常见的项目说明文件)

最后安装完毕之后打开前台和后台来大致操作检测一下源码是否正常安装(Discuz和WordPress最容易在php的版本兼容性上出现差错,如果发现不正常请在php5.x和php7.x之间切换并按照程序提示重新安装)

个人电脑用户必看 内网穿透

如果你的云服务器/个人电脑/VPS没有公网ip无法在直接访问请进行内网穿透

内网穿透通常有以下几种方式,分别为端口转发端口映射反向代理

端口转发(即DMZ主机 仅支持个人电脑用户)

如果你拥有路由器后台的密码(如果是自己家的网不知道可以找父母问过来,如果是蹭的网那就没办法了,tp的路由器有一定的概率可以碰撞得出来,具体百度,真的不行看其他的方法)并且确定自己家的宽带有公网ip的话,可以来试试这个。

准确来说DMZ主机并不是端口转发,而是直接将你进行DMZ的这台设备直接暴露在互联网中,在这时从外网访问路由器的ip时流量便会无条件的从路由器转发到你的这台设备上,因此你也可以直接访问到你这台电脑上所搭起来的网站。

首先我们验证一下你的宽带是否具有公网ip,打开百度,搜索ip关键字,然后复制下来得到的ip,按下win+R键,输入cmd并回车,在cmd窗口中输入

ping (右键粘贴复制的ip,注意和ping之间有个空格)

然后回车,观察返回的值,如果返回为丢包率100%那么八成你就没有公网ip(如果对于自己比较自信的可以打运营商的热线要一个来,不保证100%成功)

如果你确定有公网ip之后,右键 本地连接/无线网络连接的任务栏图标,打开网络与共享中心,点击 本地连接/无线网络连接 ,在弹出的选项卡中点击详细信息,找到IPv4地址,记下来

现在进入路由器后台(在此以水星路由为例),打开高级功能,进入DMZ主机菜单,点击打开,输入刚刚记下的IPv4地址,最后保存。

按照上文中的解析域名的方法,解析一开始记下的外网ip到你的域名中,等待解析生效后打开解析的域名,如果正常打开,那么恭喜你成功了

端口映射 (通用推荐)

在这里比较常用的有Sakura Frp(樱花端口映射),详情教程请阅读官网的帮助说明 https://www.zerobbs.net/thread/7

Sakura Frp官网 https://www.natfrp.com/

反向代理 (不推荐)

为啥说不推荐呢,因为反向代理的服务器现在比较少了,所以免费的也很难找,而且也不是很稳定,同时也不是很适合我们这些用户(速度较慢,而且我们只有一台机子),反向代理最常是用于多个提供相同功能且共用相同域名的服务器之间来平均压力,比如百度用的就是这个

如果你上面的两者都行不通,那么请自行百度ngrok反向代理

如果你一定要在手机上搭建网站

假如说你搞不到服务器,搞不到vps,搞不到虚拟主机,甚至连电脑都没有办法用的话,那么你可以试试这个,但是本教程仅适用于安卓用户,不支持水果系统,而且没法加入SSL证书

你需要准备以下几样东西:

1.root权限(非必须,但是有的话更好)
2.MT文件管理器(最好是2.0最新版)
3.KSWEB(必须,用于搭建网站php环境,此外ksweb为收费软件,如果找不到破解版可以在我们群里下载,若有条件请在Google Play中购买正版)

首先安装KSWEB,在首次进入时会安装PHP环境的必须文件,如果弹出许可信息检查请直接按下返回键关闭(正版请无视)

然后找到APACHE、MYSQL、PHP菜单,将其服务开启

打开MT文件管理器,在/htdocs/中新建一个文件夹,然后将你的源码解压至此处

然后切换回到KSWEB的APACHE菜单,添加主机,具体参考上文中的 虚拟主机绑定域名项 ,注意不要和已经有的重复(域名重复端口不重复没关系)

此外APACHE开启时,请保持NGINX和LIGHTTTPD为关闭状态

然后切换到工具菜单中,在辅助工具中找到phpMyAdmin,点击安装至APACHE

现在切换回到主菜单中,找到你添加的主机地址,点击在浏览器中打开,安装你的源码(具体请参考上文 网站源码安装项

至此,恭喜你的网站已经搭建完毕了,如果需要外部访问以及域名解析,请参考上文中的 内网穿透项如果你使用第三方提供的解析服务项

补充内容

Cloudflare SSL功能选项

1、Automatic HTTPS Rewrites
自动HTTPS重写可帮助修复可通过HTTPS提供服务的网站上所有资源或链接的“http”为“https”,从而修复混合内容。
2、Opportunistic Encryption
折个中开启之后,浏览器可以从HTTP / 2和SPDY的改进性能中受益,让他们知道您的网站是通过加密连接提供的。 浏览器将继续在地址栏中显示“http”,而不是“https”。
3、Require Modern TLS
只能使用TLS协议的现代版本1.2和1.3(如果启用)。 这些版本使用更安全的密码,但可能会限制旧版本浏览器访问您网站的流量。
4、Authenticated Origin Pulls
TLS客户端证书提供原始的认证。
5、Always use HTTPS
强制所有的链接都采用HTTPS跳转模式,可以起到强制不用HTTP的地址目的。 

PhpStudy和KSWEB的MYSQL数据默认账号密码

PhpStudy

账号 root 密码 root

KSWEB

账号root 密码为空

参考资料

https://www.daniao.org/2387.html

https://www.zerobbs.net/thread/7

https://baijiahao.baidu.com/s?id=1602601018831489638

https://baijiahao.baidu.com/s?id=1601685981550199001

点赞
  1. lincannm说道:
    Google Chrome Android 5.1
    [滑稽]
    1. KJZH001说道:
      QQbrowser Windows 7
      :huaji:
  2. php小白说道:
    Safari iPad iOS 13.3
    66666
    1. KJZH001说道:
      QQbrowser Android 8.0.0
      :huaji: 23333

回复 KJZH001 取消回复

电子邮件地址不会被公开。必填项已用 * 标注