apache服务器
-
apache服务器安装成功后,操作系统以服务的方式管理。我们可以通过该服务来启动和关闭apache。
-
直接双击击httpd.exe启动。
-
通过命令行来启动:httpd.exe在安装目录的bin目录:(重要!!!)
-
如果你希望在任何目录下都可以运行我们的httpd指令,则需要设置环境变量(设置完环境变量,当我们输入httpd -k shutdown时,先在当前目录下寻找,未找到时去其他目录继续寻找):
-
apache这个web服务器默认在80端口监听,当80端口被占用时,我们需要修改端口号(安装目录的conf目录下的httpd.conf,修改端口号):
-
一个端口只能被一个程序占用,但一个程序可以监听多个端口。
-
如何查看哪些端口在监听:(一台机器有1到65535号端口)
- netstat -an 来查看机器有哪些端口在监听,如果发现有异常端口监听,则可以关闭端口。
- netstat -anb来发现是哪个程序在监听该端口,从而关闭。
- 一台机器的某个端口被一个程序占用,则该端口不能再被其他的应用程序占用。
apache的目录结构
- apache的目录结构:
- htdocs目录是默认路径,可直接访问,当我们在此目录下新建文件夹,访问时需加上文件夹名:
- modules目录下存放各个模块,当启动apache服务器时,会读取httpd.conf文件,继而按照需要加载各个模块:
apache工作机制
-
apache的逻辑组件与操作系统关系:apache是基于模块化设计的,代码可读性高于php,核心代码不多,大多数功能被分散到各个模块,各个模块在apache启动时按照需要加载。
-
apache的工作机制:
- MPM:mutil processing module 多重处理模块(管理模块)
- APR:可移植运行库(屏蔽操作系统)
-
apache服务器的源代码是开源的,大家可阅读学习。
apache虚拟目录
- 假设我的htdocs目录在D盘,如何将E盘的一个文件夹下的网页html,php当做网站管理???
- 需要在httpd.conf文件中,找到<IfModule dir_module>…</IfModule>,在下方添加以下代码:
#配置虚拟目录
<IfModule dir_module>
#DirectoryIndex是默认界面
DirectoryIndex index.html index.htm index.php
#站点别名
Alias /apache2 "E:/apache2"
<Directory E:/apache2>
#访问权限设置
Order allow,deny
Allow from all
</Directory>
</IfModule>
- 设置默认界面:当我们输入http://localhost:88/apache2/时,会去查找DirectoryIndex index.html index.htm index.php下的界面,当做默认界面。
- 访问权限设置:
- 需要注意,修改后可能报如下错误,是因为apache2.2与apache2.4不同而导致,具体修改请查看链接:https://blog.csdn.net/dongdong9223/article/details/70904627
apache配置网站
-
一般我们在访问网站时,通过url可直接访问,例如http://www.baidu.com,我们如何设置才能使通过localhost或者ip地址访问转变为url访问???
-
配置过程:
- 启动httpd-vhosts.conf(在httpd.conf文件中,找到Virtual hosts虚拟主机)
- 在httpd-vhosts.conf中配置
- 修改host文件(路径+修改)
- 在httpd.conf文件中加入url(url组成格式:https://www.cnblogs.com/woodyblog/p/6005414.html):
- 默认端口是80,如果之前大家没有改端口号,上面的步骤请不要改动端口号。
- 测试
- 启动httpd-vhosts.conf(在httpd.conf文件中,找到Virtual hosts虚拟主机)
-
补充知识:访问网页的流程https://blog.csdn.net/weixin_40087851/article/details/81905236
-
当我们想要其他人通过域名访问时(站点发布到网上),需要买域名,在万网上有账号,去管理页面,当然,万网上有一定的空间去存储。