linux学习第三十八篇: Apache和PHP结合,Apache默认虚拟主机
时间:2022-04-26
本文章向大家介绍linux学习第三十八篇: Apache和PHP结合,Apache默认虚拟主机,主要内容包括Apache和PHP结合、Apache默认虚拟主机、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
- ctrl+r 可以通过输入相关命令查找你使用过的命令
Apache和PHP结合
- httpd主配置文件: /usr/local/apache2.4/conf/httpd.conf
- vim /usr/local/apache2.4/conf/httpd.conf //修改以下4个地方 ServerName –>去掉一个注释,看下图 Require all denied –>Require all granted AddType application/x-httpd-php .php DirectoryIndex index.html index.php PS:这里的问题是需要我们把配置文件里的ServerName的一个注释去掉:
把这一行的注释去掉,就不会出现上图的情况:
PS:把denied改为granted(202行)
PS:增加这一行:AddType application/x-httpd-php .php
PS:在 DirectoryIndex index.html 后面增加 index.php
- 测试配置文件语法是否有错误: /usr/local/apache2.4/bin/apachectl -t
- graceful是重新加载配置文件,不会重启你的服务: /usr/local/apache2.4/bin/apachectl graceful
- 启动服务: /usr/local/apache2.4/bin/apachectl start
- 记得设定iptables的规则,临时打开80端口: iptables -I INPUT -p tcp –dport 80 -j ACCEPT
- 编辑一个php文件: vim /usr/local/apache2.4/htdocs/test.php //增加如下内容
<?php
phpinfo();
?>
用浏览器打开网址:IP/test.php 会在浏览器中显示php的信息。
- 4步检查php不能解析的原因:
- /usr/local/apache2.4/bin/apachectl -M 查看Apache有没有加载php模块 如果没有加载就查看有没有这个文件,如果没有这个文件就加载不了:ls /usr/local/apache2.4/modules/libphp5.so
- 如果有这个文件但是没有显示,就检查配置文件:vim /usr/local/apache2.4/conf/httpd.conf 里有没有加载libphp5.so的配置
- 检查配置文件里有没有加这一行:AddType application/x-httpd-php .php,记得在.php前要加空格
- 加index.php
Apache默认虚拟主机
- Apache的配置文件: /usr/local/apache2.4/conf/httpd.conf中找到下图的Virtual hosts(虚拟主机),把注释去掉。也就是说前面的DocumentRoot,htdocs,Directory,ServerName全部失效了。一个配置文件里只能定义一个ServerName。
- 虚拟主机配置文件: vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 一旦这个虚拟主机的配置文件生效了,那么之前httpd.conf定义的www.example.com就会失效。下图是虚拟主机配置文件的,每个VirtualHost *:80 代表一个主机,一个主机就是一个网站。虚拟主机配置文件可以定义多个VirtualHost: PS:在虚拟主机里有一个默认虚拟主机(第一段VirtualHost ),就是无论任何域名解析到这个IP上都会访问这个虚拟主机。当搜索所有配置段,当发现你访问的域名没有在配置里面出现,那它就会走默认虚拟主机的配置。
改为:
改好配置文件后记得在/data目录下创建wwwroot目录和abc.com,111.com目录: mkdir /data/wwwroot/ mkdir /data/wwwroot/abc.com mkdir /data/wwwroot/111.com
- 改好配置文件要测试语法: /usr/local/apache2/bin/apachectl –t
- 重新加载配置文件: /usr/local/apache2/bin/apachectl graceful
- 编辑index.php: vim /data/wwwroot/abc.com/index.php vim /data/wwwroot/111.com/index.php 可以写入一下内容:
<?php
echo “abc.com”;
?>
- 要想访问abc.com在我们的机器上,可以编辑配置文件: vim /etc/hosts 或者使用 curl -x: curl -x172.16.123.151:80 abc.com(PS:如果我们访问的是没有配置的域名如 abcd.com,那么访问的会是abc.com,因为abc.com是默认的虚拟主机)
- 【实践操作】:六步教你如何用开源框架Tensorflow对象检测API构建一个玩具检测器
- 这或许是对小白最友好的python入门了吧——11,if语句初体验
- 你的网站做好神马搜索优化了吗?神马搜索站长工具提交
- 应用程序的通信成本
- 这或许是对小白最友好的python入门了吧——18,定义函数
- 【深度学习】图片风格转换应用程序:使用CoreML创建Prisma
- 压力测试中存在的问题
- 这或许是对小白最友好的python入门了吧——18,用while循环处理列表
- 如何在js中将统计代码图标隐藏
- 警惕IT黑洞
- 这或许是对小白最友好的python入门了吧——17,while循环
- 泛型介绍(接上一篇,具体的事例随后呈上)
- PHP高级编程之守护进程
- 看到他我一下子就悟了-- 泛型(2)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 实时应用程序中checkpoint语义以及获取最新offset
- Python2.6低版本Python如何实现爬虫功能
- python开发web服务 bottle框架
- 这样设置 IDEA,让你爽到飞起!
- GO 切片实力踩坑
- BeautifulSoup解析html介绍
- 微信会被封?!包子 Leetcode 1512 solution Number of Good Pairs
- VUE是什么?
- 爬虫如何抓取网页的动态加载数据-ajax加载
- Python 为什么用 # 号作注释符?
- 基于矩阵分解原理的推荐系统
- Python实现信息自动配对爬虫排版程序
- EOF是不是字符
- Alibaba开源Java诊断工具Arthas简单介绍
- 气象编程 | Google Earth Engine for R——提供250+ 实例