从今天开始,我将开始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. bzoj2876 [Noi2012]骑行川藏

    Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...

  2. BogoMIPS与calibrate_delay

    在分析Arm+linux启动信息的时候.发现有一个信息竟然耗费了2s的时间,这简直是不能忍受的.这个耗时大鳄是什么东西哪,请看分析信息: [    0.000000] console [ttyMT0] ...

  3. 磁盘IO:缓存IO与直接IO

    文件系统IO分为DirectIO和BufferIO,其中BufferIO也叫Normal IO. 1. 缓存IO 缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O.在Linu ...

  4. [进程通信] Linux进程间通信(IPC)

    简介 linux下进程间通信的几种主要手段: 1.      管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道 ...

  5. 详解Session分布式共享(.NET CORE版)

    一.前言&回顾 在上篇文章Session分布式共享 = Session + Redis + Nginx中,好多同学留言问了我好多问题,其中印象深刻的有:nginx挂了怎么办?采用Redis的S ...

  6. 蓝桥杯-李白打酒-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  7. centos系统修改网络配置注意事项

    这也是无意之中发现的,我在做一个远程修改工控机网络配置的程序, 网络配置参数/etc/sysconfig/network-scripts/ifcfg-enp1s0下面,当然名字可能不一样ifcfg-e ...

  8. javascript的null 和undifined

    null表示一个对象,或者变量的值为空,undifined 表示声明了一个对象(变量),没有给他初始化或者压根儿就没有声明这个对象(变量). 1.null 是JavaScript关键字 undifin ...

  9. Play再识 - 不放弃的执着

    从写Play初识时,前面各种称赞play如何如何解放java web开发,最后因为网络被墙而无法正常编译,从而想到放弃.从来都有成为web开发高手的想法,今天又再一次进行尝试,惊喜的是有新的进展. 首 ...

  10. JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎

    上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建.运行与配置>,从上篇博客的内容我们不难看出SpringBoot的便捷.本篇博客我们继续在上篇博客的基础上来看一下Spri ...