分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

2018-3-1 10周2次课 Apache和PHP结合、Apache默认虚拟主机

发布时间:2023-09-06 01:44责任编辑:白小东关键词:PHP虚拟主机
11.14/11.15 Apache和PHP结合



1,修改ServerName

在启动apache时,会有类似错误提示

[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

如果不想出现这种错误提示,那么进到 /usr/local/apache2.4/conf/httpd.conf 中找到ServerName,并去掉#注释,保存退出。

重启apache,出现下图错误

进到 /usr/local/apache2.4/conf/httpd.conf 中,将php7注释掉,只让apache只加载php5

保存退出后,重启apache,一切正常

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl restarthttpd not running, trying to start[root@localhost ~]# ps aux | grep httpdroot      45504  0.2  0.8 253576  8892 ?        Ss   21:48   0:00 /usr/local/apache2.4/bin/httpd -k restartdaemon    45505  0.0  0.6 540404  6936 ?        Sl   21:48   0:00 /usr/local/apache2.4/bin/httpd -k restartdaemon    45506  0.0  0.8 540404  8972 ?        Sl   21:48   0:00 /usr/local/apache2.4/bin/httpd -k restartdaemon    45507  0.0  0.8 540404  8976 ?        Sl   21:48   0:00 /usr/local/apache2.4/bin/httpd -k restartroot      45590  0.0  0.0 112676   984 pts/2    S+   21:49   0:00 grep --color=auto httpd


2,修改Require all denied

[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

访问192.168.65.128,从无法访问变为 It works!

在windows中,打开telnet,用telnet 192.168.65.128 80,来查看联通情况

联通之后会跳到次界面

如果不通,则显示正在连接

改完之后,无法访问192.168.65.128

因此,需要把配置文件 Require all denied 改为 Require all granted


·检查配置文件语法:

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK


·重新加载配置:

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

(优点是不会重启服务器,最多加载不成功,不会把进城杀掉)


3,增加一行 AddType application/x-httpd-php .php ,否则php无法解析

4,把 DirectoryIndex index.html 改为 DirectoryIndex index.html index.php


验证apache支不支持php解析

测试的php脚本:

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

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t

Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

访问http://192.168.65.128/1.php,


如果访问192.168.65.128/1.php时,出现

则需要检查Apache配置文件

首先,查看有没有加载php5模块

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -M

看看有没有 /usr/local/apache2.4/modules/libphp5.so 文件

如果有libphp5.so文件,则要查看apache配置文件中有没有加载libphp5.so

然后,检查配置文件有没有 AddType application/x-httpd-php .php 行


再检查 DirectoryIndex index.html index.php 这一行,但这一行不影响

index.php ,默认能跳转到index.php下面去


快捷键:ctrl + r  输入关键字,可以搜索到命令历史中有关关键字的命令


把php5禁掉,只用php7

再配置文件中把libphp5.so注释掉,用libphp7.so

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t

Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

访问http://192.168.65.128/1.php时,版本出现了变化

/usr/local/php7/bin/php -i | less 的结果时上图的文本形式显示。





11.16/11.17 Apache默认虚拟主机


·httpd一个服务下运行了多个网站,多个域名

DNS未生效情况下,可以定义windows中的hosts文件

格式为:ip 域名 域名 。。。


/usr/local/apache2.4/conf/httpd.conf只能定义一个ServerName

[root@localhost ~]# vim /usr/local/apache2.4/conf/httpd.conf

搜索httpd-vhost,去掉#

编辑虚拟主机配置文件(可以定义多个ServerName):

[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf


ServerAdmin         管理员邮箱,可删掉

DocumentRoot     网站根目录

ServerName        域名

ServerAlias        别名(可取多个)

ErrorLog            错误日志

CustomLog        访问日志


创建目录

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

定义一个index.php

可不带结尾

111.com中也定义一个php

[root@localhost ~]# vim /data/wwwroot/111.com/index.php
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

如果找不到域名配置,就会去找默认虚拟主机配置文件,例如www.111.com在配置文件中就没有这个域名或别名,因此直接找默认配置,也就是第一段,所以是abc.com


如有错误,欢迎指正,互相学习。


2018-3-1 10周2次课 Apache和PHP结合、Apache默认虚拟主机

原文地址:http://blog.51cto.com/11530642/2074500

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved