1 打开httpd.conf文件
2 添加端口监听 (找到Lisen 80 在后面添加 Listen 端口号 如Listen 1112) port =>你的端口 project_name=>你的项目名称 project_url=>你的项目域名 project_path=>你的项目文件路径
3 在文件最后面添加配置
<VirtualHost *:port>
ServierAdmin project_url
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
</Dorectory>
以上为监听多个端口
配置虚拟主机
需要将上面配置的端口号改为: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
重启后是实效的 永久的话 要去一个文件中改!这里就不多说了!
祝大家生活愉快!