从零开始linux学习--发布一个简单网站(三)

        经过上面一章的内容,笔者已经对服务器网络设置相对熟悉了,可以实现服务器自由联网,但对于linux这个没有图形化的东西而言,联网又可以做什么呢?最直观的一件事情,就是制作网站。

        对于笔者而言,接触的比较多的是硬件层面,对网站制作这种需要艺术天分的操作实在是无法胜任。但对于一些基础业务(如dns、负载均衡、反向代理等)都涉及网站发布,没有一个测试网页很难对之后的业务进行测试和故障排除,因此,笔者咬咬牙,来做第三章的学习:发布一个网站,内容为“hello word”……

        上网一查,网站发布几大软件IIS、apache、tomcat、Nginx等,这里面IIS是windows server发布网站使用,nginx笔者计划之后在负载均衡中再对其操作,比较一下,这次学习的软件就定为apache吧。

        笔者下载的centos 7默认是不带apache的,为了方便,继续从yum上安装apache httpd:yum install httpd

        启动网站服务:service httpd start

        发现报错,目前的centos 7居然不支持这个指令了。。笔者按照报错提示来输入:/bin/systemctl start httpd.service

        重启后,应该已经可以访问了,但是笔者发现通过个人电脑浏览器输入IP地址之后并没有弹出网页:(隐去的就是笔者的实际IP,如果按照学习过程,即是前两节的192.168.101.2)

        进行一次简单的故障排查,由于不涉及域名,只是端到端的IP访问,所以对于笔者页面访问而言,其实是一个三次握手的过程,在TCP\IP的模型中,怀疑有两个故障原因:1.IP地址无法访问;2.TCP传输中目的端口不通。

        网络传输的概念性东西默认在大学中都有学习,如果有遗忘的,建议回看一下计算机网络的相关基础课程,笔者的学习偏向工程,是实践水平的提高,但任何工程实践都是以扎实的理论基础为前提的,没有扎实的基础想造一栋大楼是不可能实现的。

        笔者打算分两次验证一下,对于第一个疑问,笔者在windows环境下来进行tracert测试。

        开始-搜索-cmd :  tracert –d192.168.101.2

        笔者的网络环境非常简单,可以看出直接到网关下一跳就到了服务器,网络层面没有问题,路由可达。

        第二步就测试一下端口问题,因为笔者默认使用http端口80,那么相同的界面:telnet 192.168.101.2 80

        发现端口不通,由于笔者所在网络没有在内网环境下对端口进行限制,那么问题很可能出在服务器的防火墙上。

        直接关了防火墙:systemctl stop firewalld.service

        再次访问IP地址,发现apache的测试页面已经可以正常访问了。

        当然,笔者不能直接关闭服务器的所有端口,对于网络安全而言,最好是有什么服务开放什么端口。这样笔者继续打开防火墙并调整服务器防火墙并开放80端口的入站规则。

        首先打开防火墙:systemctl start firewalld.service

        查看相关指令:firewall-cmd --help

        增加入站规则:firewall-cmd --zone=public --add-port=80/tcp

        测试一下,发现网页已经可以正常访问,笔者就不贴图了。

        但是这样操作重启设备时会使防火墙失效。笔者需要增加一条永久策略。

        关闭该端口:firewall-cmd --zone=public --remove-port=80/tcp

        添加永久端口:firewall-cmd --zone=public --add-port=80/tcp --permanent

        发现一件很神奇的事情,就算增加了永久策略端口就不通了。查了一下需要重启防火墙:firewall-cmd --reload

        到此为止测试页面已经可以正常访问了。


        关闭apache测试页面:cd /etc/httpd/conf.d/

        vi welcome.conf

        把中间的一段网页代码注释掉:

        重启apache服务:/bin/systemctl restart httpd.service

        这时候笔者看到页面显示了一个index of的页面。

        笔者来修改apache的基础配置:cd /etc/httpd/conf

        vi httpd.conf

        看到了一长串被#注释掉的说明。由于这次操作是最简单的页面显示,因此笔者打算尽量少的修改一版最直接的配置。

        配置说明不去详细介绍,详见:http://www.linuxidc.com/Linux/2015-02/113921.htm

        /ServerName 找到被注释掉的如下一句新增ServerName a.hbai.com:80这个笔者之后会用到。

        如下位置找到这句,新增DirectoryIndex index.php index.html index.html.var

        找到AddType application注释掉如下两句,新增两句:

        AddType application/x-httpd-php .php .phtml.php3 .inc

        AddType application/x-httpd-php-source.phps

        由于笔者看到浏览器会弹出一个Index of页面不是很舒服,因为笔者压根没有发布网站,希望现在其他人访问页面的时候不做显示。所以计划把这个index of页面给关掉:

        /FollowSymLinks  找到如下部分。将其注释掉,修改为Options FollowSymLinks。其实就是删除了这一句的“indexes”字段。

        配置好之后wq!保存退出,并重启httpd服务:/bin/systemctl restart httpd.service

        这时候再来刷新一下本地电脑的浏览器,访问服务器IP地址,显示403forbidden。

        那如何发布一个网站呢?笔者回到httpd.conf的配置中,找到几个关键的配置字段:



        这几个字段定义了笔者页面存放的位置,也就是默认位置“/var/www/html”,也定义了文件名index.html。为了以后方便,笔者顺手把php的扩展名也给加上去了,后续涉及动态网站制作了再来操作。

        准备工作做好,笔者要制作第一个web页面了。

        进入apache定义的文件路径:cd /var/www/html

        ls看一下,发现是空的文件夹。

        新建一个名为index.html的文件:vi index.html

        在该名为index.html的文件中加入如下代码:

        wq!保存退出。

        这时候笔者刷新一下浏览器,继续访问服务器IP地址:就看到了如下的页面显示了,这一节的目的顺利达成~



问题:

        1. Linux防火墙分两种策略类型,一种是临时策略,一种是永久策略。结合本节学习内容,就直接增加策略、重启防火墙、关闭防火墙、重启设备四方面比较两种策略如何生效。

        2. 结合前两节内容,由如下图路由测试说明笔者电脑与服务器之间的网络结构是怎样的,中间有几个三层的路由设备?

        3. 有些ssh终端在输入中文字符的时候会产生乱码,笔者使用的SecureCRT已经解决了中文乱码问题。尝试解决   中文乱码并指出在httpd.conf协议中是如何定义中文字符的?



特别建议,基础知识很重要!

        请各位看官务必熟悉多花点时间看过以下内容“firewall-cmd -help”、“http://www.linuxidc.com/Linux/2015-02/113921.htm”之后再来进行网站发布的操作。对于希望做网页前端的朋友推荐一本html5的书籍是笔者的一位朋友写的,附送亚马逊链接:https://www.amazon.cn/dp/B01M61QWT7/ref=sr_1_1?ie=UTF8&qid=1515483353&sr=8-1&keywords=html5+%E5%88%98%E6%AC%A2

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容