apache 多端口配置和虚拟主机配置

1 打开httpd.conf文件

2 添加端口监听 (找到Lisen 80 在后面添加 Listen 端口号 如Listen 1112) port =>你的端口  project_name=>你的项目名称  project_url=>你的项目域名  project_path=>你的项目文件路径

3 在文件最后面添加配置

<VirtualHost *:80>
DocumentRoot project_path
ServerName project_url
ErrorLog project_path/logs
CustomLog logs/dummy-host.exampe.com-access_log common
</VirtualHost>
<Directory 'project_path'>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

 apache 2.4的配置方法

<VirtualHost *:80>  
 ServerName domain.com  
 DocumentRoot "/home/www"  
 DirectoryIndex index.html index.php  
  
 <Directory "/home/www">  
  Options -Indexes +FollowSymlinks  
  AllowOverride All  
  Order deny,allow  
  Allow from all  
 </Directory>  
  
</VirtualHost>

以上为监听多个端口

配置虚拟主机

需要将上面配置的端口号改为:80

但今天配置好了后apache启动失败

报错截图

解决方案

  1 httpd.conf 中开启mod_rewrite.so模块

  2 将本网站对应的Directory  中 RewriteEngine设为 All

以上两种都没有解决我的问题

  仔细看了下报错结果 我的配置DocumentRoot 前面对了很多东西,就尝试把报错的配置前面的空格豆删了,需要的空格就只留一个空格。

重启成功,但还是出现了个问题

 出现的问题是两个域名的访问没有分开

解决这个问题 将NameVirtualHost 前面注视去掉

这个错误的原因

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

      大概意思就是说后面新增加的这个VirtualHost 由于端口被占用,不能生效,沿用第一个虚拟主机的配置。

20161214 

今天又在服务区上配置了虚拟主机,有遇到了一些问题,但这次解决问题的办法 不是狂百度了

先按照上面配置好两个虚拟目录。然后退出启动apache

但失败了:

然后通过systemctl status httpd.service 查看apache 状态和错误原因

一般里面都有错误原因和错误行数

但最后出现了这个玩意儿: 这特么什么几个意思啊?

什么code 什么kill啊 中括号中的进程还不断变好。稍微百度了下 说什么进程没有找到。

我就试着重启了下服务器。(其实没有什么卵用)

然后突然灵感一现,猜测是防火墙。但是我之前就把防火墙关了啊。哦哦哦哦哦哦~!还有一个玩意儿可能导致什么权限的那就是selinux!!!

然后我就把它也关了!然后重启就好了!啊哈哈哈~~

顺便说一下 关闭这个东西是:setenforce 0 

重启后是实效的 永久的话 要去一个文件中改!这里就不多说了!

祝大家生活愉快!

  

原文地址:https://www.cnblogs.com/jackylee92/p/5518426.html