从今天开始,我将开始Web开发的学习。本系列博客将陆续记录我学习过程中的收获和困惑,从前端到后端,一探Web开发的流程和内容。我目前掌握的有C/C++,有一些使用C进行嵌入式开发的经验,C++就马马虎虎了,对于C++这个“不可以精通”的语言,我会另开主题记录,欢迎关注。只会C语言,可以说在Web开发上是新手中的新手,但是总要勇于挑战新的事物,才不会落下守旧的嫌疑,尚且没有能力开拓,那么至少要保持进取才行。

本文介绍了Apache的下载,安装,和配置过程(你想要阿帕奇武装直升机?出门自己问路)。经过安装配置最后把自己的网页放在指定的文件夹,就可以创建一个简单的网站(局域网下)了。这有什么用呢,存在电脑上的视频啊什么的就可以躺在床上通过手机浏览了,什么视频,你肯定明白......原来我的学习动机一直不纯净。我还是要辩解啊,我可不全是为了这些奇奇怪怪的东西,要实现这个怠惰的想法,只下载一个HFS就可以了(一款无需安装的绿色服务器软件,下载也非常容易),但是毕竟功能简单,至多用于实现文件的共享,不能设置PHP,python这些服务器脚本。而Apache就强大很多,拥有你想要的一切,但"力量总是要付出代价的"(康纳 语),Apache的安装和配置也要复杂的很多啊。

1.下载Apache

Apache作为一款著名的开源软件下载到官方版本非常简单。但打开官网的下载才发现官方提供的全是源代码,我的天啊,从未这样下过软件的我心里只有四个字,不得了啊。好在后来发现还是可以下载到编译好了的版本,而且得到了官方的推荐,太好了,至少不用自己编译了。直接把这个网址给大家吧http://www.apachehaus.com/cgi-bin/download.plx。打开这个链接后选择最新的版本(或你需要的版本)点击右边的德国国旗就弹出下载框了(8.5M),至此下载完成。

2.配置安装Apache

解压缩后一起来看看都下载了些什么吧,话说这个感觉有点像打开快递包裹呢。好在不会有意外,大概可以看到如图的文件/文件夹,不然你八成是下载了假的阿帕奇。我们来看一下都是什么吧。

  • bin文件夹里面是一堆程序,一会儿需要的httpd.exe和ApacheMonitor.exe就在里面躺着呢。
  • cgi-bin文件夹,看名字把自己的CGI程序或者脚本放在里面就对了
  • conf文件夹显然是configuration,这里面是一堆关于服务器的配置文件。后缀奇奇怪怪但都是文本文件,能用记事本搞定
  • htdocs文件夹,“夹”如其名,把HTML文档放在里面就对了(里面已经有一个index.htm了,那是一会儿测试用的)
  • logs文件夹,如果使用中出现了莫名其妙的问题,这里有一个error.log是错误日志,没这个都不知道该怎么问度娘

安装和配置过程思路很简单,但都是在命令行中完成的,有些还需要管理员权限,因此看上去就没有安装360那么简单了。但是自己全都操作下来后,你也会比安装完360更放心(鬼知道360到底对电脑干了什么)。两步走,一修改配置,二注册服务。

重要的事先强调

1.http服务器默认占用80端口来监听客户端(也就是浏览器)的请求,如果80端口已经被其他程序占用一会儿的安装就会失败(注册的服务无法启动),这是最常见的失败原因。找了半天错误才发现仅仅是因为开了迅雷,避免这种郁闷的方法就是安装前先看看端口占用情况:win+R 输入cmd,使用netstat -a -n命令。如果没有被占用,那就放心了。

2.刚才说到了注册服务,那是什么意思?windows服务是一类进程,它可以在计算机启动时自动启动,而且不显示任何用户界面。所谓注册服务就是注册这样的一个进程,告诉操作系统这是一个“需要在计算机启动时自动启动,而且不显示任何用户界面”的进程。apache注册这样的一个服务来保持对80端口的监听,以便随时响应来自网络的请求。注册服务需要管理员权限。

那么开始第一步,修改配置。用记事本打开conf文件夹中的httpd.conf文件,第一句话就是“This is the main Apache HTTP server configuration file.”这个文件的重要性可想而知,对该文件的任何修改都三思而行。首先,找到Define SRVROOT "/Apache24"(如果找不到可以使用记事本的搜索),修改引号内的内容为真实的Apache24文件夹的地址。比如说我把这个文件夹放到G:盘则改为Define SRVROOT "G:/Apache24"(不修改这里一会儿启动服务时会提醒错误代码2找不到指定文件)。然后,找到

#Listen 12.34.56.78:80 Listen 80,这是再说注册服务后会监听哪一个端口,默认就是80端口。有的人说可以修改这个值解决端口冲突,比如改成81或者8080等等,私认为这样做不是最好的解决办法,最好尝试修改其他占用该端口软件的端口值,毕竟80端口就是http协议的指定端口,修改后你的网站用户除了输入网址外还有指定端口才能访问你的网站(也就是说在使用netstat -n -a 确定没有占用80端口后,可以完全不修改这里,保持现状)。

第二步,注册服务。以管理员身份运行命令提示符(不知道在哪里就问一下小娜吧)。输入"G:\Apache\bin\httpd.exe" -k install -n apache。注意两点,首先Apache文件夹要放在没有中文名的路径中。其次-n apache的意思就是说你注册的这个服务的名字叫做apache,也可以用其他的名字。

双击运行bin文件夹中的ApacheMonitor.exe,在任务栏右下角可以找到一个陌生的小图标,点击它找到你命名的服务,选择start,如果图标出现绿色三角 就说明启动成功了。这个时候打开浏览器输入http://localhost,应该会显示一个网页(就是htdocs文件夹中的index.htm),大功告成。

painterQ 2017年5月12日 tri_uestc@163.com

安装并配置Apache的更多相关文章

  1. 如何安装、配置Apache

    Apache的安装流程网上版本很多,但很多版本有错误,或者缺漏,如果初学者按照那样安装的话会遇到各种各样的问题.我整理了自己安装.配置Apache的过程,亲测有效,分享给大家. 基本过程如下: Dow ...

  2. 在Linux上怎么安装和配置Apache Samza

    samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...

  3. Apache系列:Centos7.2下安装与配置apache

    Centos7.2下安装与配置apache(一) 配置机:腾讯云服务器,centos7.2 一.安装Apache服务(Apache软件安装包叫httpd) yum install httpd -y 二 ...

  4. 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)

    如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...

  5. MAC下用homebrew安装及配置apache、php和mysql

    我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...

  6. Windows平台下载、安装、配置Apache全攻略

    本文介绍了如何在windows平台进行apache服务器的下载.安装和配置过程. 1.下载 首先进入apache for windows的官方下载地址[猛戳这里],依次在下列页面进行下载操作: 我这里 ...

  7. Centos7上安装及配置Apache

    Apache HTTP服务器是世界上最流行的Web服务器. 它是一款免费的开源和跨平台的HTTP服务器,提供强大的功能,可以通过各种模块进行扩展. 以下说明介绍如何在CentOS 7机器上安装和管理A ...

  8. 安装与配置apache WEB服务器(Linux环境)

    Linux环境下安装一个软件的方式多数为两种: 1.通过命令从远程源下载自动默认安装 2.编译安装 第一种较为简单,直接通过 yum 或者 apt-get 直接安装即可,但是对我来说,编译安装可能更加 ...

  9. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

随机推荐

  1. 不完全图解HTTP

    在2D平面上行走的时候,认识只局限于“点”,刚认识一个新的点,就把之前的那个点忘记了,捡了芝麻丢西瓜.只从3D视角俯瞰时,把这些点连接在一起,点成线,线成面时,才能有所顿悟.话不多说,这是我对HTTP ...

  2. 用 Python 编写网络爬虫 笔记

    Chapter I 简介 为什么要写爬虫? 每个网站都应该提供 API,然而这是不可能的 即使提供了 API,往往也会限速,不如自己找接口 注意已知条件(robots.txt 和 sitemap.xm ...

  3. Unity 多屏(分屏)显示,Muti_Display

    Unity 多屏(分屏)显示,Muti_Display  最近项目有个需求,主要用于在展厅的展示游戏. 比如,在一个很大的展厅,很大的显示屏挂在墙上,我们不可能通过操作墙上那块显示器上的按钮来控制游戏 ...

  4. 图论算法-Dijkstra

    原理 Dijkstra是一个神奇的最短路径算法,它的优点在于它可以稳定的时间内求出一张图从某点到另一点的距离.它的工作原理非常简单,思路类似于广搜.在搜索前,将每个点的颜色设为白色,第一次将源点Ins ...

  5. Yeelink初步体验

    环境 Qemu: 2.8.0 开发板:vexpress-ca9   概述     前面的博文已经使我们的虚拟开发板具备了访问外网的目的,离物联网越来越近了.要玩物联网,Yeelink不得不说,它提供了 ...

  6. springboot(十二):springboot如何测试打包部署

    有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...

  7. SVN提交后自动推送消息到钉钉群

    钉钉设置机器人配置 1.进入配置机器人入口 2.添加机器人 3.测试WebHook请求 本人使用Postman进行测试 4.配置SVN 4.1 配置 Pre-commit hook 设置提交内容必须包 ...

  8. Java Swing 图形界面实现验证码(验证码可动态刷新)

    import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import j ...

  9. java中多种写文件方式的效率对比实验

    一.实验背景 最近在考虑一个问题:“如果快速地向文件中写入数据”,java提供了多种文件写入的方式,效率上各有异同,基本上可以分为如下三大类:字节流输出.字符流输出.内存文件映射输出.前两种又可以分为 ...

  10. winform无边框窗口拖动

    无边框的窗口想拖动,只需要在置顶的容器上添加对应的mousedown 和 mousemove 事件就可以实现了.代码如下: //拖动窗口 private Point mPoint = new Poin ...