搭建开发环境服务器

搭建开发环境服务器

考虑到大陆高校的教育都是Windows环境,很多人对Linux还不熟,所以本书会讲解Windows下的操作步骤,也会讲Linux下的操作步骤(Linux有很多版本,本书以流行的Ubuntu为例)。如果你在用Windows,建议使用双硬盘的电脑,一个硬盘装Windows,一个硬盘装Linux,随时重装各个Linux发行版的最新版,逐渐把Linux玩熟。

Linux和Windows

看过《互联网与计算机导论》的童鞋可能知道,计算机有很多种:电脑、服务器、手机、平板、路由器等等,其中电脑是面向个人的,分为两种:PC和Mac,PC上面主要安装Windows系统和Linux系统,Mac上面主要是macOS系统。引用两个数据:

电脑操作系统市场占有率:

硬件 系统 市场占有率
x86/x86-64 PC Windows 90%
x86/x86-64 PC Linux 1%
x86/x86-64 Mac macOS 8%

各大公司使用的服务器操作系统:

硬件 系统 谁在用
x86-64 server(arm-64正在起步) Linux server Google、Facebook、腾讯、阿里、蚂蚁金服、小米、锤子等绝大部分互联网公司
x86-64 server Windows server 微软、事业单位、传统行业等非技术公司

很明显,大部分服务器都用Linux,因为系统免费又开源,可以自行修改定制;硬件可自由选择,便宜;命令行界面适合脚本编程实现自动化。

不过大陆高校与技术前沿脱节很严重,编程教科书和机房都是Windows的,没有Linux,也没有Mac。如果你热爱编程,经过几年的实践,自然就去接触到Linux服务器自动化部署、代码自动化测试发布,这就是自动化,不再喜欢在界面上点来点去了。而且这时候你所在的公司也不一样了,到了前沿技术公司,没有Windows,只有Linux和macOS,和服务器环境一致或接近,比如Google、豆瓣、饿了么、DaoCloud.io、Coding.net。

举个例子,大家也许就明白了:“学校机房需要给1000台电脑安装盗版Office、QQ等几十个软件,你会怎么做?跑到每台电脑上点下一步?1天之内能完成吗?这时候就知道自动化的意义了。”。

有的童鞋看到这个问题乐了,休息一下,请看这里:zhi.hu/31MG

安装HTTP服务器软件

上一节的HTML代码都在电脑上存着,本地能打开,但别的电脑和手机如何访问呢?

安装HTTP服务器软件(Web server)即可,常见的有apache和nginx,本书以apache为例,安装方法如下:

  • Windows:下载wamp(wampserver.com),按界面提示安装即可。(需先安装Visual C++ 2012运行库和Visual C++ 2015运行库,否则会报错:“找不到MSVCR110.dll和vcruntime140.dll” )

  • Ubuntu:一个命令即可

sudo apt install apache2 php libapache2-mod-php

安装过程不再截图,不再详述,因为“DIY、装系统、装软件、Android刷机”对于计算机爱好者来说,是小意思。如果你刚刚大一,对这些不熟,没关系,多装几次就熟了,有问题“Google一下,你就知道的太多了”。

装好以后,用浏览器访问http://localhost/,看到一个简单的网页,是这样的:

搭建开发环境服务器_第1张图片
Windows下装好wamp的效果
搭建开发环境服务器_第2张图片
Linux下装好lamp的效果

这个网页在哪呢?找到它,用我们写的网页替换掉就行了。

  • Windows:网页在C:\wamp64\www,把index.php删除,然后把上一节的index.html等文件放进去。

  • Linux:网页在/var/www/html/,修改权限,然后把index.html等放进去。

sudo chmod -R 777 /var/www/html/
cp Downloads/index.html /var/www/html/

这个目录叫做“网站根目录”,把网页放进去,用浏览器访问http://localhost/,就看到网站了。不过“localhost”代表“本机”,别人访问不了。所以别人(或手机)要通过IP访问,比如这台电脑的IP是192.168.199.123,那访问http://192.168.199.123/即可。如图:

搭建开发环境服务器_第3张图片
本机通过localhost和IP都能访问
手机通过IP成功访问网站

如果你用的是Windows系统,就会麻烦一些:别人通过IP访问会超时显示空白,这是因为被Windows防火墙拦截了,关闭防火墙即可。

搭建开发环境服务器_第4张图片
手机通过IP访问超时
搭建开发环境服务器_第5张图片
关闭Windows防火墙

关闭Windows防火墙后,访问报错“Forbidden”,这是因为apache服务器配置不对,把httpd-vhosts.conf中的“Require local”改成“Require all granted”,然后重启apache即可。如图:

搭建开发环境服务器_第6张图片
手机访问报错:Forbidden
搭建开发环境服务器_第7张图片
Require local
搭建开发环境服务器_第8张图片
Require all granted

现在一个网站就诞生啦!

“192.168.199.123”是内网IP,在同一个内网里可以访问,比如学校等大局域网环境。如果想让全国全世界都能访问,需要一个公网IP,那是另一个话题“搭建生产环境服务器”,以后再说。IP是一串数字太难记了,如何使用好记的域名访问本网站呢?在网站正式上线时买个域名即可,现在只是学习开发,用localhost就行了。

访问首页为什么不用加文件名?

尝试访问http://localhost/和http://localhost/index.html ,会看到相同的页面,这是为什么呢?

这是因为Apache服务器配置里设置了“目录默认索引页”为index.html,如图:

搭建开发环境服务器_第9张图片
Apache on Windows: httpd.conf DirectoryIndex
搭建开发环境服务器_第10张图片
Apache on Linux: dir.conf DirectoryIndex

也就是说访问http://localhost/test/就会显示http://localhost/test/index.html的内容。

总结一下

我的技术水平

HTML 服务器部署
100%标准和语义化 安装WAMP/LAMP

作业

  • 精通电脑:“IP”和“DHCP”是什么意思?
  • 精通电脑:如何查看电脑IP和手机IP?
  • 精通电脑:“内网IP”和“公网IP”有什么区别?
  • 了解apache:“Require all granted”是什么意思?
  • 扩展阅读:《奇虎360上市 员工平均身价580万》

待解决的问题

  • 尝试:点“写文章”,然后“发表”,结果文章怎么不见了?

且听下回分解。

你可能感兴趣的:(搭建开发环境服务器)