博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
阅读量:5935 次
发布时间:2019-06-19

本文共 3197 字,大约阅读时间需要 10 分钟。

hot3.png

11.14/11.15 Apache和PHP结合

配置httpd支持php 启动的时候,有警告

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl restartAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost ~]# vim /usr/local/apache2.4/conf/httpd.conf

编辑配置,打开ServerName 的配置,打开后,将不再提示

遇到无法访问PHP ,首先检查 IP 是不是通的

然后用telnet 查看 80端口是否打开
因为这个组件并不是默认安装有的,需要手动去安装
安装后,查看,发现是无法联通,因为虚拟机并没有打开80端口
可以使用

iptables -nvL

查看是否有80端口

想让Windows机器访问,需要手动添加 80端口
使用

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

临时打开 80端口,允许任何人访问

这个时候,再在浏览器上打开 虚拟机 IP 就会提示 “It works !”说明已经能访问了
修改过配置文件,需要执行命令检查是否有语法出错

/usr/local/apache2.4/bin/apachectl -t

重新加载服务,并不会重启服务

/usr/local/apache2.4/bin/apachectl graceful

更改配置文件

将denied更改为 granted

更改这个配置的理由是,防止虚拟访问的时候提示403
201行

AllowOverride none Require all granted

388行

# probably should define those extensions to indicate media types:    #    AddType application/x-compress .Z    AddType application/x-gzip .gz .tgz    AddType application/x-httpd-php .php    //支持解析PHP

250行

DirectoryIndex index.html index.php //支持PHP索引页

验证一下 Apache 支持不支持 php 解析 访问页面的时候,其实是访问下面这个路径下的文件,所以,如果做测试页面,就可以在这个目录下创建一个php文件

vim /usr/local/apache2.4/htdocs/1.php

增加一个页面,是不需要重启php的

如果httpd 不支持解析php 那么访问页面,看到的只会是源代码

如果发现php 解析不了,就检查一下Apache配置文件

第一步 检查一下 是否加载了 php的模块,如果发现没有加载,就查看一下 是否/usr/local/apache2.4/modules/libphp5.so 这个文件
第二步 查看一下配置文件里面是否加了

LoadModule php5_module        modules/libphp5.so

第三步 检查一下 配置文件是否有支持 php解析的相关

ctrl + r 能快捷的搜索命令历史关键字并使用

11.16/11.17 Apache默认虚拟主机

关于默认虚拟主机

一台服务器可以访问多个网站,每个网站都是一个虚拟主机
概念:域名(主机名)、DNS、解析域名、hosts
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
因为这里定义的网站的根目录,所以,才能访问到index.html

DocumentRoot "/usr/local/apache2.4/htdocs"

域名就是 这个域名就是Apache的默认主机

ServerName www.example.com:80

也就是说任何一个域名只要是指向这个IP,他都会访问到这个站点

使用httpd.conf配置文件,就是定义 SeverName 和 DocumentRoot 两个配置
但是这样不好管理,任何一个域名都会默认访问到同一个站点

搜索关键字 extra

打开这个配置文件

# Virtual hostsInclude conf/extra/httpd-vhosts.conf

打开二级配置文件,在这个二级配置文件里面是可以定义多个虚拟主机配置

[root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
ServerAdmin webmaster@dummy-host.example.com //定义管理员邮箱 DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com" //网站的根目录 ServerName dummy-host.example.com //服务器名字 ServerAlias www.dummy-host.example.com //定义别名 ErrorLog "logs/dummy-host.example.com-error_log" //错误日志 CustomLog "logs/dummy-host.example.com-access_log" common //访问日志

启动了虚拟主机配置以后,默认的httpd.conf 里面的SeverName www.example.com 就会失效 修改了相关的虚拟主机配置后,需要去创建相关的虚拟主机目录和文件

[root@localhost ~]# mkdir /data/wwwrot/abc.com[root@localhost ~]# mkdir /data/wwwrot/[root@localhost ~]# mkdir /data/wwwrot/abc.com[root@localhost ~]# mkdir /data/wwwroot/[root@localhost ~]# mkdir /data/wwwroot/111.com[root@localhost ~]# vim /data/wwwrot/abc.com/index.php[root@localhost ~]# vim /data/wwwroot/111.com/index.php

没有帮点hosts 所以ping 的话是会默认ping到外网 测试命令

curl -x192.168.133.130:80 abc.com
[root@localhost ~]# curl -x192.168.133.130:80 abc.comabc.com[root@localhost ~]#

转载于:https://my.oschina.net/nova12315/blog/1662081

你可能感兴趣的文章
「docker实战篇」python的docker爬虫技术-导学(一)
查看>>
linux日志基础介绍
查看>>
如何关闭SElinux
查看>>
处理器之MMU(三)
查看>>
172.16.82.0/25的含义,IP段,掩码
查看>>
测试之路
查看>>
终于对了
查看>>
RabbitMQ集群
查看>>
Apache防盗链和隐藏版本信息
查看>>
ARP协议与路由
查看>>
使用pypiserver搭建私有源
查看>>
SCI检索介绍
查看>>
Android开发之生成自己的签名文件及App签名打包
查看>>
如何提高阿里云上应用的可用性(二)
查看>>
云宏WinCloud前端工程师告诉你什么是UI扁平化
查看>>
如何压缩PDF文件,有什么简单的方法
查看>>
SpringMVC常用注解标签详解
查看>>
day18 Set集合
查看>>
Oracle event之db file read
查看>>
ORA 00600 [ktrexc_1]
查看>>