618买了个网易云,2g内存1m带宽1核40g的存储,123一年,挺便宜的,相比较阿里云ecs和网易蜂巢还有腾讯云,之前同事有买过国外的vps搭建梯子,但在国内,vps这种的也就只能搭建梯子使用,如果想生活中用来玩玩,那是不利于个人的身心健康发展的,因为毕竟服务器架在国外,通过控制台或者xshell进行连接的时候真的有种想死的感觉,输入命令和幻灯片一样,但国外的vps好像是可以按照使用时间来计费的,国内的一般都是年。当初以为云服务器除了ecs就是vps,其实这两个只是云服务器中比较出名的,一个是国内一个是国外,像腾讯云叫什么cloud,这些名字只是厂商给她们产品取得,并不是专有名词。
好久之前在阿里云上买过一个域名,29一年,chenye2017.cn,主要这个名字和我的github账号也是一致的,比较好记。当我想绑定域名到服务器上的时候,其实有点担心,我在阿里云上买的域名能绑定到服务器上吗?
试试吧。首先需要对域名进行实名认证,域名的实名认证其实挺简单的,填下身份证号和联系电话就好了,后面需要备案,这点需要注意的是,我绑定的是京东云,所以需要在京东云上备案。之前对于域名的购买,我的理解是购买一款厂商的产品,但其实不是这样的,试想一下我们购买域名的时候是不是只要先构思一个自己想要的域名,然后查询域名是否在使用,如果没有使用就可以进行购买,这个凭空想象出来的域名厂商不可能提前为我们准备好,他能做的就是通过域名解析器dns把我们的域名注册进世界的万维网当中,当世界中的某个人通过浏览器进行访问的时候,dns能把域名解析成ip地址找到我们的服务器,既然这样,那我们是不是只需要在我们的服务器上搭建一个域名服务,就能不通过购买他的域名,直接使用自己注册的域名就可以了呢?理论上是可以的,但我没有去实践过。
备案未完成…
之前帮前端同事部署过一个vue项目,其实和部署一个php项目 极为相似,甚至更简单,都是通过找寻唯一入口文件,因为前端项目都是静态文件,而且apache默认找的文件夹下面的第一个文件就是index.html,所以都不需要进行特殊的设置(php的话因为要找index.php,所以要做更多的设置),唯一需要注意的就是前段项目的很多路径都是绝对路径,他本质上是相对网站的根目录来的,也就是默认项目部署在网站的根目录下,如果网站没有部署在根目录下,比如itbasic bbs,需要我对引入的静态资源路径进行适当的修改。比如给需要找的静态资源建立个软链接ln -s ,到新的静态资源目录下。
因为之前是根据网上教程搭建的hexo,其实不懂他的实现原理。
而且在教程的开始,就说了要使用node,对于我这种js都不好的人,看到node,首先就觉的完了。其实很多前端项目用到node,并不是用到nodejs的语法,而是用nodejs搭建了一个web服务,承载前端项目,然自己置身于一个联网的状态中,就能发出类似ajax这样的联网请求,因为当我们保存在本地的html在浏览器中打开的时候是file://开头的,这是默认禁止进行ajax请求的,但当我们使用node的时候,页面的路径就是http://开头了们可以进行ajax请求。因为当我们保存在本地的html在浏览器中打开的时候是file://开头的,这是默认禁止进行ajax请求的,但当我们使用node的时候,页面的路径就是http://开头了们可以进行ajax请求。
我看了下上传到github上的文件夹,和我本地的项目代码结构还是有挺大区别的,我的理解就是把本地代码进行了打包,打包好的文件上传到github上了(类似vue代码的发布),上传到github上的文件夹全是静态目录结构,我惊喜的发现了index.html,于是大胆的假设了下如果把那个目录放在我的站点根目录下,是否也能进行访问了呢,我就不用通过chenye2017.github.io去访问,而是通过我自己的站点去访问呢,毕竟服务器在国内,访问速度也比较快。
结果是成功的,印证了我的假设。
在网站部署的时候还遇到了几个问题,比如源码编译apache2.4,在之前还需要安装apr,apr-util,之类的文件,apache2.4的改文件访问权限和之前的apache还不一样,还有文件夹名字结尾不能有空格,否则识别不出来,加载vhost.conf,启动apache失败,修改server localhost之类的apache配置文件,还有apachectl restart开始不管用,需要自己手动配置脚本····