Apache的详细安装教程和遇到的问题解决方案
- Apache 是一款 web 服务器。
- Apache安装软件下载:
- 访问 http://httpd.apache.org/ ,可以看到如下页面。可选择相应版本进行下载,这里我选择的是Apache2.4.
- 点击Download之后,进入如下页面。找到Files for Microsoft windows .
- 点击Files for Microsoft windows之后,进入如下页面。找到ApacheHaus
- 点击之后终于看到下载的程序了,自己选择自己想要的版本下载吧。这里x86表示32位系统,x64表示64位的,这里由于我电脑就是64位系统,我选择x64就行下载。
- Apache程序安装
- cmd输入命令行找到你Apache所在的位置,之后输入
httpd -k install
命令执行就可以安装了
- 这个时候运行突然报"无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题",解决方案是:下载vc++2015 并安装,链接是:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145, 这个直接下载安装就可以了,如有报错,则是之前电脑里有其他版本,删掉下载这个就行了
- 重新运行的时候又会出现一个问题,就是没有Apache的安装权限。但你看到这个报错的时候,找到cmd,用管理员身份运行就可以了。
- 问题一个接一个,你重新输入命令行httpd -k install,出现如下报错,这是由于程序默认路径和程序实际安装路径不一致导致的。这个解决方案是,找到Apache安装程序目录下的conf文件,找到httpd.conf用记事本打开,搜索"Define SRVROOT",找到需要改动的位置,Define SRVROOT引号里面改成自己程序路径就可以了。
- 终于看到曙光了,这样基本所有可能遇到的问题都解决了。接下来我们会看到安装成功了。输入命令行net start Apache2.4启动服务,测试安装情况,出现如下情况则是安装正确。同时可以输入 http://localhost/ 进行验证,出现如下页面
- 如果启动失败,有可能是端口号被占用。
解决方案:
然后重新启动,最好关机重启。
- 相关命令:
sc delete apache2.2(版本号)
//删除apache服务器
netstat -aon | findstr :80(端口号)
//监测端口号是否被占用
httpd -k install
//安装apache服务器
net start Apache2.4
// 启动服务器 - apache服务器开启的方式:
方式1: 服务->在右侧找到你安装的Apache服务器
方式2: 打开安装目录下的“bin”文件夹,双击“ApacheMonitor.exe”.
双击后在底部的任务视图里可以看到如下图标,右键单击,点击“Open Apache Monitor”
点击左侧的“apache24”,然后点击“Start”就可以启动了
说明:没启动之前的图标中心是一个小点,启动后的图标的中心是一个三角形的形状
- Apache 配置内网(局域网)访问本地项目
- 首先在cmd中输入ipconfig查看本机的ipv4地址
- 找到 Apache24\conf\extra\httpd-vhosts.conf文件修改和添加
<VirtualHost _default_:80>
DocumentRoot "D:\www" //你建的文件夹的路径
ServerName www.example.com:80
</VirtualHost>
<VirtualHost _default_:8080>
DocumentRoot "D:\www\trunk"
#ServerName www.example.com:80
</VirtualHost>
- 找到 D:\Apache24\conf\httpd.conf文件夹
需要配置的地方参考:https://blog.csdn.net/a88073327/article/details/80921808 - 配置完成,访问localhost:即可,在手机上访问时输入你本地ip地址+对应的本地项目的端口号,将项目打包后的dist文件放入到www这个文件夹内。
- apache2.4配置虚拟域名访问
- 开启apache有关有关虚拟域名的配置
打开Apache2的配置文件:httpd.conf,ctrl+f搜索httpd-vhosts.conf找到#Include conf/extra/httpd-vhosts.conf,去掉前面的#号,也就是注释的意思,去掉这个#的意思就是加载这个配置文件 - 加载Apache的重写模块
在httpd.conf中搜索rewrite,找到#LoadModule rewrite_module modules/mod_rewrite.so,同样去掉#符号 - 然后在httpd-vhosts.conf里面配置上使用该IP地址的虚拟域名
- 在C:\Windows\System32\drivers\etc中找到hosts文件,对,就是hosts为名字的文件。hosts文件的功能是将域名定向到对应的的IP上
这里会修改不了,保存时显示保存失败,参考: https://jingyan.baidu.com/article/624e7459b194f134e8ba5a8e.html - 直接访问域名:
- 配置多个域名
在httpd-vhosts.conf中修改
<VirtualHost _default_:80>
DocumentRoot "D:\www"
ServerName test.com
</VirtualHost>
<VirtualHost 127.0.0.2:80>
DocumentRoot "D:\www\trunk"
ServerName test2.com
</VirtualHost>
在C:\Windows\System32\drivers\etc中的hosts
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 test.com
# ::1 localhost
127.0.0.2 test2.com