美文网首页程序员
搭建开发环境服务器

搭建开发环境服务器

作者: 麦田里的程序员 | 来源:发表于2014-06-03 21:46 被阅读2670次

    搭建开发环境服务器

    考虑到大陆高校的教育都是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为例,安装方法如下:

    sudo apt install apache2 php libapache2-mod-php
    

    安装过程不再截图,不再详述,因为“DIY、装系统、装软件、Android刷机”对于计算机爱好者来说,是小意思。如果你刚刚大一,对这些不熟,没关系,多装几次就熟了,有问题“Google一下,你就知道的太多了”。如果装过几次,你发现自己对“CPU、内存、显卡、固态硬盘、系统、软件、网站、APP”不感兴趣,嫌麻烦不爱折腾,那说明你真的不爱好计算机,千万不要学编程,立即停止阅读本书,转专业还来得及,钻研感兴趣的方向,否则工作几年差距越来越大,别人感兴趣,自然爱折腾爱钻研,进入BAT一线公司(应届一本本科生起薪12w),逐渐成为中高级工程师、架构师、技术专家,或者去创业9个月挣70w,而你在一个不感兴趣的行业里,一直是入门级工程师打杂,只能在二流公司(新浪、网易、搜狐),甚至在三流四流公司,一直工资低,碌碌无为。

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

    Windows下装好wamp的效果 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/即可。如图:

    本机通过localhost和IP都能访问 手机通过IP成功访问网站

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

    手机通过IP访问超时 关闭Windows防火墙

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

    手机访问报错:Forbidden Require local Require all granted

    现在一个网站就诞生啦!

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

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

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

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

    Apache on Windows: httpd.conf DirectoryIndex 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万

    待解决的问题

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

    且听下回分解。

    相关文章

      网友评论

        本文标题:搭建开发环境服务器

        本文链接:https://www.haomeiwen.com/subject/okgdtttx.html