博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LAMP架构PHP模块支持与虚拟主机配置
阅读量:6611 次
发布时间:2019-06-24

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

hot3.png

11月14日任务
11.14/11.15 Apache和PHP结合
11.16/11.17 Apache默认虚拟主机
 

Apache和PHP结合

  1. 编辑apache的主配置文件
[root@localhost ~]# vim /usr/local/apache2.4/conf/httpd.conf编辑一下内容:1. ServerName 默认被注释掉了# ServerName www.example.com:802. 有时会显示403 forbidden
AllowOverride none Require all deniedRequire all denied 改为 Require all granted3. php相关配置(解析PHP)AddType application/x-httpd-php .php
DirectoryIndex index.html index.php

修改后需要执行

1. 检验配置文件正确性/usr/local/apache2.4/bin/apachectl -t2. 并重新加载配置文件(文件错误将不会杀死进程)/usr/local/apache2.4/bin/apachectl graceful
  1. 验证是否成功启动
先启动httpd[root@localhost ~]# /usr/local/apache2.4/bin/apachectl start临时开放80端口[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT打开浏览器,输入服务器ip,显示“It works!”即成功;否则有问题!在阿里云虚拟主机内安装lamp架构时,需要关闭防火墙(systemctl stop firewalld),否则浏览器无法访问!

网页打不开的解决思路:服务器ip是否可通 -> 80端口是否通(服务器是否开放该端口iptables)

验证apache是否解析php

1. 在/usr/local/apache2.4/htdocs/目录下新建一个index.php输入下面的代码
2. 在浏览器中输入ip/index.php,看是否显示php的说明界面

当php无法解析,显示的将是源代码

无法解析php时需要检查的内容:

  • apache是否加载php模块
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -M | grep php php5_module (shared)
  • 检查modules目录下是否存在php模块文件(php是否编译进apache)
[root@localhost ~]# ls /usr/local/apache2.4/modules/libphp5.so /usr/local/apache2.4/modules/libphp5.so
  • 检查配置文件是否加载模块 LoadModule
[root@localhost ~]# cat /usr/local/apache2.4/conf/httpd.conf | grep libphpLoadModule php5_module        modules/libphp5.so
  • 检查配置文件是否加解析php代码,有没有写错
[root@localhost ~]# cat /usr/local/apache2.4/conf/httpd.conf | grep x-httpd-php    AddType application/x-httpd-php .php
  • 检查配置文件是否加index.php代码,在直接输入ip后可以显示默认的index.php网页信息
[root@localhost ~]# cat /usr/local/apache2.4/conf/httpd.conf | grep -C1 index.php
DirectoryIndex index.html index.php

对配置文件的操作后最好使用apachectl -t进行检验

apache启动小问题

执行apachectl start启动apache时出现下列错误的原因是安装了2个版本的php,主配置文件内模块都启动了,需要注释掉其中一个,这样才能正常启动!

/usr/local/apache/bin/apachectl: 行 79:  2391 段错误               $HTTPD -k $ARGV

apache默认虚拟主机

一个服务器可以运行多个网站,每个网站都是一个虚拟主机

任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机

在dns还未生效时,通过修改hosts文件,设置ip与域名的映射解析,来配置域名。

开启虚拟主机服务

vim /usr/local/apache2.4/conf/httpd.conf 搜索httpd-vhost# Virtual hosts# Include conf/extra/httpd-vhosts.conf去掉该行开始的#,保存退出

虚拟主机配置文件,配置虚拟主机

一旦让虚拟主机配置文件生效,之前配置的默认主机将失效,需要apache模块支持:mod_log_config

[root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf...
# DocumentRoot定义网站的根目录 DocumentRoot "/data/wwwroot/abc.com" ServerName abc.com # ServerAlias定义出ServerName之前其他的域名 ServerAlias www.abc.com www.123.com ErrorLog "logs/abc.com-error_log" CustomLog "logs/abc.com-access_log" common
DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.example.com ErrorLog "logs/111.com-error_log" CustomLog "logs/111.com-access_log" common
...
  • 创建对应的目录
[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
[root@localhost ~]# vim /data/wwwroot/111.com/index.php
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

默认虚拟主机测试

访问任意的域名都将访问到默认主机所对应的内容。

# 访问指定ip、端口、域名的内容,返回结果# 下面代码将获取默认主机内容[root@localhost ~]# curl -x 192.168.65.133:80 abc.comabc.com# 指定特定的域名,该域名匹配了上面的第二个虚拟主机,所以显示内容为第二个虚拟主机所配置的内容# 通过ServerName访问[root@localhost ~]# curl -x 192.168.65.133:80 111.com111.com# 通过ServerAlias访问[root@localhost ~]# curl -x 192.168.65.133:80 www.example.com111.com

转载于:https://my.oschina.net/u/3964535/blog/2876316

你可能感兴趣的文章
MyEclipse 导入外部项目无法识别为web项目
查看>>
Bad owner or permissions on .ssh/config
查看>>
react native 百度地图
查看>>
转载:Redis 和 Memcache 的区别
查看>>
android MVP框架学习(一)
查看>>
ABBYY把JPEG文件转换成可编辑文本的教程
查看>>
Linux password 与 shadow
查看>>
(4)代码及测试【利用objective-c的runtime特性,结合FMDB实现轻量级的ORM】
查看>>
LeetCode Reverse Integer
查看>>
Android 缓存框架 ASimpleCache
查看>>
vm centos 6.3 thinkphp _STORAGE_WRITE_ERROR_
查看>>
好开心
查看>>
Spring mvc 注解@ResponseBody 返回内容编码问题
查看>>
一次线上OOM故障排查经过
查看>>
JAVA中的HashMap,LinkList,ArrayList添加,删除元素的速度验证
查看>>
配置CITRIX XML 服务与IIS 共享端口
查看>>
一篇关于PTP和www日志删除的方法
查看>>
Factory Method(二)
查看>>
一只超级愤怒的租房者对黑中介(鹏基伟业的控诉)
查看>>
git 服务器安装
查看>>