从今天开始,我将开始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. JS实现排序

    排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行排序,外部排序是因排序的数据很大,一次不能够容纳全部的排序记录,在排序中需要访问外存.常见的内部排序算法有插入排序,选择排序,冒泡排序 ...

  2. windows10 建立ODBC数据源

    为了使用dbExportDoc导出数据库表结构工具,需要建立windows 的ODBC源. 1.安装(如果已经安装oracle客户端则不必执行) instantclient-basic-windows ...

  3. vue组件(将页面公用的头部组件化)

    呃……重新捡起前面用vue-cli快速生成的项目. 之前是做过一个多页面的改造,以及引入vux的ui组件,这次在这个项目的基础上,再来聊聊vue中的component. 别问我为啥总是写关于vue的博 ...

  4. 多源最短路Floyd 算法————matlab实现

    弗洛伊德(Floyd)算法是一种用于寻找给定的加权图中顶点间最短路径的算法.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名. 基本思想 通过Floyd计 ...

  5. 百度地图API,定位您的当前位置

    1.介绍 利用百度地图的API来定位您的所属位置,这个位置返回的是经纬度,而不是具体的汉字位置.利用经纬度,再显示在百度地图上的位置. 2.代码 <html> <head> & ...

  6. 拖拽系列二、利用JS面向对象OOP思想实现拖拽封装

    接着上一篇拖拽系列一.JavaScript实现简单的拖拽效果这一篇博客将接着对上一节实现代码利用JS面向对象(OOP)思维对上一节代码进行封装; 使其模块化.避免全局函数污染.方便后期维护和调用:写到 ...

  7. weiphp的学习

    ##2015-07-27 **token 一定要加 不然在lists页面无法显示** ##2015-07-20 1. 自定义回复里面添加 微现场 跳转url OAuth2.0网页授权演示      & ...

  8. vue动态加载图片,取消格式验证

    vue 一. 动态加载图片 (以vue模板为例) app.vue 代码如下: <template> <div id="app"> <img :src= ...

  9. .Net Core 连输入中文都变坑了...

    前不久Core诞生时候,那个时候我也在项目上没时间去尝那青涩的味道.今天刚刚装上2017就等不及的试了一下. 先创建了一个控制台的应用程序,然后在Main()方法中写了几句话,就等不及的Ctrl+F5 ...

  10. numpy之索引和切片

    索引和切片 一维数组 一维数组很简单,基本和列表一致. 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改). 这也意味着,如果不想更改原始数组,我们需要进行显式的复制 ...