安装并配置Apache
从今天开始,我将开始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的更多相关文章
- 如何安装、配置Apache
Apache的安装流程网上版本很多,但很多版本有错误,或者缺漏,如果初学者按照那样安装的话会遇到各种各样的问题.我整理了自己安装.配置Apache的过程,亲测有效,分享给大家. 基本过程如下: Dow ...
- 在Linux上怎么安装和配置Apache Samza
samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...
- Apache系列:Centos7.2下安装与配置apache
Centos7.2下安装与配置apache(一) 配置机:腾讯云服务器,centos7.2 一.安装Apache服务(Apache软件安装包叫httpd) yum install httpd -y 二 ...
- 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...
- MAC下用homebrew安装及配置apache、php和mysql
我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...
- Windows平台下载、安装、配置Apache全攻略
本文介绍了如何在windows平台进行apache服务器的下载.安装和配置过程. 1.下载 首先进入apache for windows的官方下载地址[猛戳这里],依次在下列页面进行下载操作: 我这里 ...
- Centos7上安装及配置Apache
Apache HTTP服务器是世界上最流行的Web服务器. 它是一款免费的开源和跨平台的HTTP服务器,提供强大的功能,可以通过各种模块进行扩展. 以下说明介绍如何在CentOS 7机器上安装和管理A ...
- 安装与配置apache WEB服务器(Linux环境)
Linux环境下安装一个软件的方式多数为两种: 1.通过命令从远程源下载自动默认安装 2.编译安装 第一种较为简单,直接通过 yum 或者 apt-get 直接安装即可,但是对我来说,编译安装可能更加 ...
- CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...
随机推荐
- CSS表单属性
一般来说,表单在一个页面中是必不可少的,下面是我对表单的知识总结: 依次要说的是表单元素.表单属性.以及表单提交(js知识) 1,表单元素: <form action="提交的位置 / ...
- 用Entity Framework往数据库插数据时,出现异常,怎么查看异常的详细信息呢?
做项目时,在用Entity Framework往数据库插数据时,程序报异常,但是通过报的异常死活没法查看异常的详细信息.这让人很是烦恼.本着自己动手丰衣足食的原则,通过查看资料终于找到了显示异常详细信 ...
- 为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
B树: B+树 1) B+-tree的磁盘读写代价更低 B+-tree的内部结点并没有指向关键字具体信息的指针.因此其内部结点相对B 树更小.如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所 ...
- Laravel 5.2 教程 - 文件上传
一.简介 Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包. Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空 ...
- JQuery Ajax使用及注意事项
定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 X ...
- poj3061尺取法
A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, a ...
- 在Mvc中进行异步请求是出现(没有为该对象定义无参数的构造函数)
解决办法就是给相应的类添加无参数的构造函数:
- 在Core环境下用WebRequest连接上远程的web Api 实现数据的简单CRUD(续)
这篇博客是上篇博客的续写,上篇博客用的是HttpClient取远程数据,用WebRequest提交,更新,删除数据.上篇本来想全文都用httpClient,可是当时无论如何也实现不了数据的提交,于是换 ...
- python3 time模块与datetime模块
time模块 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平 ...
- Ext JS 实现建议词模糊动态搜索功能
代码: new Ext.form.ComboBox({ store: new Ext.data.JsonStore({ idProperty: 'VehicleNo', url: '../ajax/t ...