论如何制作一个网站(非静态)

(该技术性文章可能有点麻烦,请耐心阅读)

(文章于2021.7.25 10:33pm进行了第二次修改)

在初三的寒假,我在各位大佬的帮助下,建立了一个静态的网站(www.gaoice.cf)(但没过几天因为开学面临这中考备考的任务,没时间管理),不过我并不知足,因为那个网站除了发文章,没有其他功能

于是,在中考后的第三天,我购买了一台腾讯云的轻量级应用服务器(学生机)

疑惑的是,我从前没有任何拿服务器建站的经验

所以……我跟着叶子和简书折腾了一周,终于,一个还算是能看的网站建成了

(以下是经验和踩坑记录)

首先,你得有一台服务器(这我就不多说了吧?有问题留言区问哦)或者一个可以给你搭建网站的建站空间(有些地方又叫”主机“)

我选的是轻量级应用服务器(配置是1核2G内存60G硬盘,但是没法打开25端口,所以可能会有部分功能受到限制,不过目前尚未发现异常)

在这里我使用的服务器系统是CentOS

绑定域名(因为用的是国内的服务器,没有ICP备案将无法正常解析到国内服务器上)

以下是服务器部署博客必备步骤部分:

打开你的服务器的以下端口(已经有的就不用打开了)

80(web端口,HTTP协议默认端口)、443(web端口,HTTPS协议默认端口)、22(ssh默认端口,如果安装Linux系统的话必须放通此端口,如果更改ssh端口为其它值的话就放通其它端口)、3389(可选,但默认会放通,Windows远程桌面默认端口,在Linux中作用不详)、【8888(宝塔面板默认端口,以后面板登录要用呢),888(宝塔面板安装phpmyadmin走HTTP协议访问时的默认端口,这是给在线管理数据库留的)、887(宝塔面板安装pma走https协议的默认端口)】(这些是安装宝塔面板所需要放通的端口,如果安装其它面板,以其它面板官方说明为准,此处仅供参考)

具体位置在控制台的安全组(此处采用腾讯云的链接,因为上文提到使用的是腾讯云的服务器),点开安全组,进入到安全组的详情页面,输入要放通的协议(TCP/UDP)和端口号

然后赶快跑去重置root密码(可选,初始密码会通过站内信发给你,重置密码的位置在控制台>实例信息)

用户名系统默认就行,确保它下面那个栏是“root”

然后就设置你的密码吧~

设置完之后需要重启服务器,按照他说的做就可以啦

可以安装宝塔面板了喽!

Tip:我建议安装官方版的宝塔面板

我们可以直接在我们的SSH后台执行命令(注意要以root权限登录),在不同的系统中,有不同的命令,位置在这里

以下是在CentOS的方法

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

然后安装成功后选Y即可

最后别忘了复制宝塔面板登陆链接、⽤户名、密码喵!(不然会很麻烦)

然后我们就可以拿着这些东西去看看我们的面板喽!

安装宝塔面板后,我们需要安装一些必要的软件来做一些基本的准备

宝塔面板自带的软件商店里就有我们需要的软件,所以可以直接安装

1,mysql(数据库,根据服务器的配置和宝塔的建议来决定选哪个版本)

2,pureftpd(可选,用于开启ftp,如果要安装,建议安装最新版)

3,php-7.4或最新版,原因下文将会具体解释

4,phpmyadmin(建议安装最新版,用于在线管理数据库)

5,nginx(建议安装最新版,web服务器)

后面数字代表版本号,PHP的版本是决定主题兼容性的关键,国内开发者的主题写的比较混乱,里面可能有一些函数或者写法在比较新的PHP版本中被弃用,进而会导致一些报错,同时国内的主题开发者通常会禁用宝塔自身的一些组件,进而会导致一些奇怪的问题,需要使用者具备一定的能力去解决这个问题。如果使用wp主题商店的主题的话PHP版本建议用最新版(目前是PHP8.0)

(安装时服务器负载可能会跑满,不必担心啦)

安装完这些后,我们就可以开始搞我们的博客啦

服务器部署博客必备操作到此结束,剩下的步骤同时适用于主机和服务器

首先选择你喜欢的博客系统(我个人推荐Word Press),然后把它上传到你的服务器/主机上面

从wp官网部署wp的方法:

先去趟Word Press官网,在立即下载的下方有一个tar.gz格式的下载方式,下载

上传到服务器上的网站目录,解压之后通过域名访问你的网站,按照提示进行安装,在安装完成后建议删除\wp-admin\wp-setup.php

然后,我们的网站就基本建成啦,我们可以去挑选自己喜欢的主题去安装喵!建议尽量用wordpress主题商店中的主题,因为这些主题对高版本的PHP兼容性较好,可以采用更高版本的PHP也不会出现太多的问题

wordpress部署的主要操作和步骤到这里就结束了,下面是一些建议

(这些建议,基本都是由我们两个在部署的时候踩过的坑、流过的泪所总价出来的经验教训)

不建议在宝塔商店部署wordpress!因为宝塔面板的wp版本较旧,一键部署的话可能会有一些奇奇怪怪的问题出现(这是第一次修改时的,后来想了想觉得不太恰当,于是就划掉了它并有了下面这一大段话)
如果没有使用国内开发者的主题的需求的话不建议在宝塔面板部署wordpress,因为宝塔面板的wp版本比较旧,一键部署的话可能会出现一些奇奇怪怪的问题,但是如果有使用国内开发者的主题的需求的话,也许宝塔一键部署wp可能会是个不错的选择,因为根据我在这个博客刚搭建好、四处寻找民间大佬的主题来安装的时候,由于大佬们写的主题在兼容性方面比较乱而且也比较老,根据叶子在他服务器做的这个博客的镜像测试站来看的话,民间大佬们写的主题对新版wp和PHP的兼容似乎不太友好。。。。。。至于具体情况,点击上面的链接去看看测试站现在是什么乱七八糟的样子就知道了,测试站的环境配置:nginx1.21、php7.4、MySQL5.7.34,本站的环境配置:nginx1.21、PHP7.4、MySQL5.7.34,本站的wp主程序版本:5.7.2,测试站的wp主程序版本:5.9-alpha-51484(这是这篇文章被编辑时的版本)。如果没有使用第三方主题(尤其是国内开发者的主题)的需求的话建议还是去wp官网下载最新版的wp回来安装并使用最新版的PHP。目前wordpress官方建议的最低的PHP版本是PHP7.4,最高PHP版本目前暂无限制,上面提到过,国内开发者的主题在兼容性上面比较乱,实测在目前最新的PHP8.08环境下有大量的报错且有功能异常,界面也有点问题,切换到PHP7.3(据说目前兼容性最好的PHP版本)的话报错基本消失,且大部分功能和布局都正常,但wp自检页面会报PHP版本低于建议的最低版本,根据wp的建议并结合实际情况来看,将PHP版本切换为7.4以后不管是主题的报错还是wp站点健康自检页面报的问题都基本解决。所以结合实际情况,目前本博客已通过修改配置文件,将wp主程序版本永久停留在目前的5.7.2版本上,不再更新主程序。此处仅作建议,请各位在部署时不要盲目照搬此文的方法,请结合实际情况以及wp自检页面【HTTP(s)://你的域名/wp-admin/tools.php?page=health-check】提示的内容进行适当的修改(ps:如果你是部署在建站主机上面的,那这个页面大概可能对你用处不大,因为你决定不了你网站的环境配置,你唯一能做的就是换一家主机服务提供商或者联系你的主机服务提供商寻求帮助)

最后要谢谢叶子的意见和修改喵!

喵喵喵!有问题在留言区里喽!

996.icu 996.icu
点赞
  1. 筱锋xiao_lfeng说道:
    Google Chrome Windows 10
    写的不错,可以优化下排版的
    1. BA7JCM说道:
      Google Chrome Windows 10
      这就等原作者来搞了,我只负责解决技术性问题,顺带问下,你那边能正常加载播放器和歌词吗
      1. 筱锋xiao_lfeng说道:
        Google Chrome Windows 10
        可以
        1. BA7JCM说道:
          Google Chrome Windows 10
          我这边歌词加载不出来,控制台报跨域错误,头疼,艹,我后端都允许跨域了,但到了他博客这边就是不生效,妈的头都是大的
        2. BA7JCM说道:
          Google Chrome Windows 10
          报错允许跨域真是让人头大
          1. 筱锋xiao_lfeng说道:
            Google Chrome Windows 10
            又没事有试过你Niginx或者Apache的
            1. BA7JCM说道:
              Google Chrome Windows 10
              他服务器上跑博客的web程序就是ng,我后台部署的接口也是用ng跑的
            2. BA7JCM说道:
              Google Chrome Windows 10
              而且我这边跟接口原作者在GitHub上面写的一模一样github
            3. BA7JCM说道:
              Google Chrome Windows 10
              感谢提醒,我修改ng配置文件后跨域问题解决
            4. BA7JCM说道:
              Google Chrome Windows 10
              不过不知道为啥,有时候直接连接没问题,在套用cf之后就出了跨域问题
          2. 筱锋xiao_lfeng说道:
            Google Chrome Windows 10
            跨域这东西,我没学过网络具体东西我不清楚 跨域二级域名不同时候有时候也会出现跨域不行 套了CF也差不多是套了个CDN,那跨域源域名就不同了,应该就是一定需要跨域允许的 我当时做看板娘后端的时候也是跨域问题
            1. BA7JCM说道:
              Google Chrome Windows 10
              之前我跟别人合作搞任务,有的写前端,有的写后端,后端写完丢我服务器上,前端在他们本地写,一开始不开cd代理,测试一切正常,开了cf一开始也正常,但是也是过了一段时间之后就出现cors问题,之前那次关掉cf之后就解决了,但这次一模一样的问题和复现手段,我把cf关了之后问题却仍然存在,直到刚刚受你提醒去修改了ng的配置文件才解决问题,上次跟人家合作搞任务的时候没有在PHP(准确的说是ThinkPHP)里面写 header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: *'); header('Access-Control-Allow-Headers:x-requested-with,content-type'); ,前端报跨域问题,我加上这个之后问题解决,开cf之后一开始也正常,到了后面就出现跨域问题了,但是那次我只关掉cf就解决了跨域问题,可这次代码里面本来就写有允许跨域的代码,一开始启用cf之前也是正常的,但是到了后来启用了cf,跨域问题就再度出现了,这次我同样关掉cf,以为问题就可以解决,但问题却依然存在,最后改了ng配置文件才解决。。。。。。cf的cdn对于接口来说感觉真是个大坑
          3. 筱锋xiao_lfeng说道:
            Google Chrome Windows 10
            不光光是cf的吧,大部分CDN都会有点点 我当时做live2d的时候用阿里云CDN也是跨域问题? 难顶
            1. BA7JCM说道:
              Google Chrome Windows 10
              但是好像阿里云的cdn有开关,能自行决定给不给跨域(我在查资料试图解决cf跨域问题的时候看到的),但cf我找不到相关的设置
          4. 筱锋xiao_lfeng说道:
            Google Chrome Windows 10
            那个给了只是打开允许,就是还是得自己设置
            1. BA7JCM说道:
              Google Chrome Windows 10
              好吧,看来cdn的跨域的确让人头大
    2. Gaoice说道:
      Safari iPhone iOS 12.5.4
      喵!过几天我能长时间联网的时候再改改喵!
      1. 筱锋xiao_lfeng说道:
        Google Chrome Windows 10
        嗯,再过几天我就开学了?
        1. Gaoice说道:
          Safari iPhone iOS 12.5.4
          高三加油喵!(英语初中部分我完成了10%了
          1. 筱锋xiao_lfeng说道:
            Google Chrome Windows 10
            这倒是不用汇报,按照你想法来就行~ 我也没打算很快做完他
  2. BA7JCM说道:
    Google Chrome Windows 10
    此文章已于2021.7.24 13:09完成我的第一次修改,有什么问题请在下面回复或者发邮件到leaf@azure.ba7jcm.top与我联系,点文章里面提到我时我的链接也可以与我联系
    1. BA7JCM说道:
      Google Chrome Windows 10
      此文章已于2021.7.25 23:08完成我的第二次修改,有什么问题请在下面回复或者通过邮件联系我
    2. BA7JCM说道:
      Google Chrome Windows 10
      我想了想,根据我在测试站的测试情况来看,直接一棒子打死盲目不建议从宝塔面板部署wp只因为版本不是最新有点不恰当,因为不是啥时候,盲目追求最新版都是最好的,尤其是当你使用了兼容性乱七八糟的主题的时候。。。。。。 :huaji10: 所以我在文章里面修改了一下,并具体写明了什么情况下建议用宝塔面板一键部署wp,什么时候不建议用宝塔面板一键部署wp :huaji12:
  3. h2o说道:
    Firefox Windows 10
    事phpmyadmin(指正)
    1. BA7JCM说道:
      Google Chrome Windows 10
      回头我再帮他改,这家伙,我给他改的他全复制粘贴上去了,等我有空好好改改,这个文章目前从我的角度看还是太乱了
      1. Gaoice说道:
        WebView Android 8.1.0
        :lei:
      2. h2o说道:
        Firefox Windows 10
        这个文章的内容,对于有基础的互联网用户是基本甚至比较不成熟的操作吧..........
        1. BA7JCM说道:
          Google Chrome Android 11
          怎么说呢……他的水平也就这样……给我操作的话就几分钟的事情,但是给他用文章写出来的话看起来一大堆乱七八糟的操作……感觉可能他想水文章吧,这完全用不着专门写文章
        2. BA7JCM说道:
          Google Chrome Android 11
          我帮他改总不可能把他的全部推翻重新写吧,只能在他的基础上按照他的思路去修正、增删改查
          1. h2o说道:
            Firefox Windows 10
            太不留情面了罢 :xiaoyan:
            1. BA7JCM说道:
              Google Chrome Windows 10
              那我能咋办,总不能帮他重写一份吧
            2. Gaoice说道:
              Safari iPhone iOS 12.5.4
              其实这样也挺好的,毕竟我是第一次写这样的文章,大家指出我的不足也是一件好事
          2. h2o说道:
            Firefox Windows 10
            还有您跟这位什么关系啊......感觉像是师傅一样 :huaji:
            1. BA7JCM说道:
              Google Chrome Windows 10
              你自己问他吧,不知道他怎么感觉,反正目前我是闲得无聊提供技术支持的+帮忙看守服务器的(滑稽),他文中提到的“叶子”就是我(管理后台的回复打不出表情)
            2. BA7JCM说道:
              Google Chrome Windows 10
              也可以算是介于网友和现实中的朋友之间的状态吧我感觉,至少,有部分兴趣爱好相同
            3. BA7JCM说道:
              Google Chrome Windows 10
              再一个多台服务器练手,提前熟悉一下运维的活,对我来说没坏处(大专即将大二的网络狗路过)
            4. Gaoice说道:
              Safari iPhone iOS 12.5.4
              叶哥是我师傅兼我的好朋友?
    2. Gaoice说道:
      WebView Android 8.1.0
      谢谢喵
      1. BA7JCM说道:
        Google Chrome Windows 10
        给你改好了,就是同时存在两种不同的风格有点怪异,剩下的你自己再微调吧,至少大体上逻辑和思路没什么大问题了
        1. Gaoice说道:
          Safari iPhone iOS 12.5.4
          OK谢谢(感觉第一篇文章有点失败)
  4. zzyx-clz;;说道:
    QQbrowser Android 10
    哇塞,厉害,学到了

发表评论

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