我的阿里云建站体会与问题解决过程

前言:关于选择服务器的纠结

之前前端授课老师有叫我们自己做一个个人毕业作品,实际上在这之前我一直想要做一个完全由自己建设部署的个人网站。之前我有试过使用github+jekyll的免费空间搭建博客,但中间问题实再是太多了就没搞成功。也专门申请一张可以VISA支付的信用卡来免费试用12个月亚马逊AWS云服务器(也就是EC2),当时的我为了方便翻墙选了“美国西部(俄勒冈)”地区的服务器,选的操作系统是可视化界面的windows server 2008,仅仅是为了好玩、图方便。

后来真正要开始建个人网站时却发现EC2完全不适合自己(可以说除了能翻墙外就没其它优点了),服务器远在大洋彼岸的米国,无论是日常操作还是上网系统响应速度都非常的慢,另外我的英文水平也确实比较差,亚马逊上关于EC2服务器部署网站的教程我也看不懂,也就只能另外再找找国内的服务器来试试看啦...

于是考虑到自己要长期使用服务器,只能在BTA这几家国内大型可靠的服务器商这里选,试用完了腾讯的7天免费服务器,我多次对比发现还是阿里云学生机适合自己,初心小白人又穷只能往便宜实用的入手啦。。。!

好的,那么就决定是你了,阿里云!!!

好了,不废话了,该讲讲我是怎么用阿里云建网站的了

时间大概是在2017年12月18号,我在试用对比完了好几家大厂的服务器后,终于下定决心买了一台阿里云ECS服务器。
当时我买的是:

1核 2GB系列 III共享计算型 n4 ECS服务器,年付费学生机的价格为118元一台。

相当于一个月的费用大概才10块钱,可以用12个月,还是不错啦~

另外使用已有阿里服务器小伙伴发出的通用产品券也可以达到低价租到服务器的哦~

我的阿里云建站体会与问题解决过程_第1张图片
当时我买的ECS服务器详细配置截图

本着想要深入学习网站建设相关的一切知识的探索精神,我买ECS时并没有选择已经安装好的镜像系统软件包和wordpress模版,而是选择了只有一个操作系统的自定义服务器。我之前看的阿里云大学的建站教程和搜了度娘后发现许多人都推荐使用Linux系统作为服务器系统,以及Linux系统不易被黑客攻击,并且操作也偏实用,于是我果断在买ECS时选了CentOS 7.3 64位系统。

(后来发觉自己完全爱上了Linux内核系统了,家里两台电脑操作系统全部换成了win+Linux双系统了QWQ)

本着自给自足并且热爱学习的心态,我在买ECS之前就已经有准备好好的安排学习关于服务器和建网站的知识了,所以买完了ECS服务器以后也不算太迷茫,毕竟网上有一大堆的相关知识和教程,虽然之前也有理解错误的地方,但是也是及时刹车纠正了,谢天谢地。

因为穷,钱要省着用,并且一开始我并不想建太复杂的网站,只要能放我的作品就OK,所以我对建设实时动态网站需求不高,也就没折腾自己搭建LAMP或者去阿里云市场买相关服务什么的,并且为了锻炼自己的动手能力,我完全放弃了后期使用免费的wordpress模板搭建博客。

(也就是说我其实已经看过相关教程了,但是我一个学前端的娃怎么可能会自己不写网站前端架构去用别人的框架嘛!学习是要巩固的,不能偷懒!)。

然后我的目的很简单:

建一个功能简单明了,能放自己作品的个人网站。

我首先给自己定下的建站任务是:

一. 建设部署服务器httpd互联网访问服务与网站上线。

我的建站部署过程其实很简单,因为只需要用到Apache的httpd功能做好互联网访问相关的配置就OK了,基本上一天就能搞定。
我因为第一次弄这个,遇到了一些问题,倒腾了好几天才搞定了,后面会慢慢解释的。

二. 网站备案。

实际上,如果不是特别需要网站备案的话,只要服务器的网络部署完毕后,用服务器的公网IP也能从外部访问到服务器的网站上内容,如果对于服务器的安全性有把握和不需要外接广告的话是可以忽略买域名和备案这一条的(只要做好前面第一条httpd网络访问功能就好了)。

我是因为自己的网站需要对外公布浏览和防止黑客攻击一类的事件发生,有名字也好记一些,所以我还是买好了域名准备备案。

网站部署虽然很快,但是备案等待审核的过程可能要1个多月,所以,在部署服务器的同时可以先把案备起。

关于建设部署服务器系统的HTTPD网络访问服务详解:

首先,如果本身本地电脑不是linux或者mac系统,而是windows操作系统的话,想要连接上远程的linux服务器进行相关网站操作,就必须要有两个软件:一个是PuTTY,一个是filezilla。

简单的介绍一下PuTTY+filezilla这两个软件:
  • 软件1:PuTTY,是用来在本地电脑上远程登录linux系统,并进行相关系统操作的一个小巧实用的远程登录软件。
PuTTY类似于windows自带的远程访问工具,但是windows自带的工具对于访问其以外的系统并没法用,所以windows系统的电脑要访问另一台linux系统电脑时是非常需要PuTTY的
  • 软件2: filezilla,是一种使用FTP网络服务协议,能够使本地电脑和服务器之间自由传输文件用的网络传输软件,通常的FTP类软件的上传下载增删改查功能它都有。
filezilla

以下来讲解一下这俩个软件在部署服务器网站中的相关操作用法。


关于PuTTY的操作:

PuTTY的操作很简单,主要的作用也就是用于远程登录。
以下是图文示例:

步骤一:

下载好PuTTY,打开登录界面后,输入自己服务器的公网IP。
其它的按照图图示填成一样后点“打开”就OK。之后跳出来的提示框直接点击YES确认就行了。
(下载的英文版PuTTY也一样的操作)

我的阿里云建站体会与问题解决过程_第2张图片
打开PuTTY后的操作界面


步骤二:

在黑框框里输入命令:

root

然后按回车键,再输入自己之前买ECS时设置的密码。

使用PuTTY的SSH功能连接上服务器后的界面如图,要求输入管理员密码,默认输入的密码是不显示的(但是实际上已经输入了) ===>这里稍微提示一下:“root”命令是系统最高权限的超级管理员账户的登录命令,一开始部署网站的时候可以先用超级管理员账户登录系统进行相关设置,对于对服务器安全性要求较高的网站管理人员来说,之后最好再新建一个专门网站管理员的账号,针对网站目录文件传输进行登录操作。如果对安全性要求不高只是随遍玩玩的话可以忽略此提示与下面的新建网站管理员用户操作(当然要记得新建网站文件夹哦)。

我的阿里云建站体会与问题解决过程_第3张图片
登录阿里ECS成功后的界面


步骤三:

使用PuTTY登录到服务器后,开始安装外部互联网用户访问网站时必须的软件包:安装Apache的httpd服务。
继续在黑框里输入命令:

yun –y install httpd
我的阿里云建站体会与问题解决过程_第4张图片
以上httpd软件包安装图示。===>提示:因为使用linux内核开发系统的公司各有不同,我的服务器用的是centOS系统,安装软件包的前缀是:yun ;而 ubantu系统安装软件包时用的前缀是:sudu apt-get ,如果是使用ubantu系统的可以换成这个前缀安装软件包,两者仅仅是前缀不同,安装方法都是一样的。


步骤四:

新建/var/www/html网页文件夹与网站管理员专用账户。

(具体操作和相关命令在下面的截图中,点击图片即可看到大图,懒得自己写了,直接拖阿里的图过来OTZ)

我的阿里云建站体会与问题解决过程_第5张图片
阿里教程截图

以上,就是最简单的linux系统服务器的互联网访问部署步骤了,原理就是通过apache提供的httpd服务(此外服务器还需要开放80端口),让外部互联网用户能够浏览到服务器内根目录为/var/www/html文件夹内的网页文件夹内容(也就是整个网站目录)。

当然,这样只能算是已经能够让外部用户访问到服务器的公网的apache页面,我们做好的网站页面文件还没有上传到服务器上,服务器网站目录里还什么都没有,无论用户怎么刷新网站浏览器页面都只能看到apache测试页面,也就并不算已经成功建好了网站。

所以,现在就需要将我们做好的网页文件上传到服务器上。

那么怎么样用filezilla将网页文件上传到服务器上呢?

这就要使用到Filezilla了~

关于使用Filezilla上传网站文件(网站上线)

Filezilla的使用步骤:

步骤一:

filezilla软件下载,安装到本地电脑上以后,打开filezilla。

我的阿里云建站体会与问题解决过程_第6张图片
Filezilla打开后的界面

步骤二:

在快速连接栏输入:服务器公网IP、之前新建的siteadmin用户、siteadmin用户密码,然后点击“快速连接”将本地电脑与服务器上连接上。

(端口可填可不填,通常的FTP连接服务器端口默认为22)

我的阿里云建站体会与问题解决过程_第7张图片
Filezilla连接服务器

按照图示,将本地网页文件上传到服务器里。

我的阿里云建站体会与问题解决过程_第8张图片
Filezilla拖拽快速上传文件图示

在我看过的教程里提到,本地网页文件上传到服务器后,再次在浏览器里刷新自己ECS服务器网站,就能够看到已经新上传到网站上的网页了。

然而,第一次学习搭建网站的我,在这最后一个步骤上,出了点问题。。。

也就是我刷新了多次ECS服务器公网IP后,无论是在我的电脑上还是手机上,浏览器显示的我的网站页面都还是Apache的测试页面,而我辛苦写出来的网站主页文件完全没有一丁点儿痕迹。。。

还好有同样问题的新手站长不止我一个,看了大家提到的问题和相关问题解决关键字我才知道自己看的教程里面有省略一个关键步骤没有写出来。

之前我已经知道了我的新主页文件名应该命名为index.html才能让Apache默认识别我的主页是此文件的内容,并且必需要把Apache里自带的index.html同名测试主页删除替换成我自己最新制作好的index.html主页文件。

但是这样也仍然无效,服务器系统依然无法显示我新制作出来的主页,于是我又开始向度娘寻找解决方法。

最后找到的解决问题的关键是:

方法1:

找到Apache存放在服务器内的httpd.conf配置文件,修改其默认显示网页文件夹的目录。

我的阿里云建站体会与问题解决过程_第9张图片
百度出来的httpd.conf配置文件路径截图
具体修改httpd.conf配置文件的方法:
  • 再次登录到我的ECS系统内,用vim打开 /etc/httpd/conf/httpd.conf 文件,按照上面的内容更改网站文件夹路径为“var/www/html”再保存退出就OK了~
  • 修改好httpd相关文件配置后再重启httpd服务。
使用vim命令打开httpd.conf文件的截图

怎么用vim改文件并保存我就不说了吧,反正网上有一大堆教程,我感觉学习vim也挺好玩的~
(虽然一开始我也被坑了一把,对于怎么退出vim完全没反应过来,所以说英文废也挺痛苦的)

方法二:

注释修改或删除 "/etc/httpd/conf.d/" 下的 "welcome.conf" 文件

首先不太推荐删除,删除所用到的命令是:
rm -rf /etc/httpd/conf.d/welcome.conf 

但是我本人是不建议没有linux系统终端操作知识的人直接用rm –rf删除文件的,因为在终端里面删东西等于永久删除,要是删错了是没有windows那种回收站可以捡垃圾的,反正我对直接用rm –rf删除文件非常的谨慎的(因为之前在自家电脑上装好了ubantu系统后不小心把系统文件删了一部分,导致系统出了问题只好重新系统了。。。qwq)

其次,最安全的办法就是,把 "welcome.conf" 文件里的所有行都注释掉。

(但是我没有全部注释掉,我只注释掉了“欢迎页面”的代码)

还是使用vim命令打开 "welcome.conf" 文件:

vim /etc/httpd/conf.d/welcome.conf 

直接在文字前面写“#”号就注释掉了,注释的主要目的就是让Apache不要显示欢迎界面!(Apache默认显示的主页页面是测试成功的欢迎页面)

修改好httpd相关文件配置后再重启httpd服务。
我的阿里云建站体会与问题解决过程_第10张图片
使用vim命令打开welcome.conf 文件,并添加“#”号注释的截图

所以总结一下,之所以我上传的新index.html主页文件不被显示在网站上的原因

  • 原因之一可能是:之前安装的httpd软件包时的Apache测试页默认的主页目录并不在我新建的“/var/www/html”文件夹内(但是一般来说Apache默认的网站目录就是/var/www/html)。

  • 原因之二应该就是:Apache默认显示的主页是测试页面,而不是我们制作好的新主页,所以,默认网站文件夹和主页文件指向都不对,怎么可能会显示得出来我新制作好的网页内容嘛~

好的,问题已经解决了,再次用本地电脑浏览器刷新我的网站主页,就显示出来我已经重新上传的新的网站主页了~

(最近才申请好了SSL证书,不过不知道为什么浏览器给我说网站不安全,估计是证书配置方面有什么问题吧,暂时先不管了)

我的阿里云建站体会与问题解决过程_第11张图片
修改好httpd配置相关文件后再重新在浏览器里刷新,成功打开更新后的网站截图

图片上显示是网站地址是我已经备好案的网址,怎么备案我就不讲了,主要配合阿里客服,再等待相关部门审核批复成功就OK,备案一点儿也不难,也不用去公安局,关键备完案以后要做DNS解析才能使用新的网址浏览自己的网站,而不至于外部互联网用户浏览本站页面时用服务器的公网IP裸奔查看网站啦~

以上,这次的建站体验和问题解决方案差不多就完毕了,其中大部分图文都是我个人在学习过程中得出的一些经验和其中遇到的困难解决方案(以及太喜欢linux系统了,废话特别多),里面有几张截图是我从阿里教程和百度百科截来的~

如阅读后有什么疑问和建议可以给我留言或私信,非专业人士第一次做总结,博主写文能力比较差,可能写得比较繁琐不太方便阅读,总之努力进步中,望不嫌弃,感谢阅读!

另外,原本博主是个设计师转前端开发,虽然感觉就业希望渺茫,从小一直就挺喜欢折腾绘画设计、手工和计算机、网络方面的东西的,希望能够在这里交到志同道合的朋友吧~
附个人github传送:Heron
站酷设计:张二鹭

以及第一次在上发表文章,并简单的学习并试了下使用Markdown语法修饰文章,感觉还挺不错的呀~

后记:之前我没有仔细看自己的课程学习科目,不知道我JAVA后端课程里面是会学习用服务器建站的,但是。。。
我特喵的不知道,我特喵的自学去了。。。我自学去了。。。(其实我连JAVA都想自学的,但是我这个学习进度不行啊,我感觉我还是先学好前端再说吧)
好吧,多学习、多思考、会自己解决问题也是好事情,就是挺折腾人的~

你可能感兴趣的:(我的阿里云建站体会与问题解决过程)