LAMP架构(apache与php结合,apache默认虚拟主机)

简介:

一、apache与php结合


主配置文件/usr/local/apache2.4/conf/httpd.conf

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful  (重新加载服务,并不重启服务)


[root@localhost ~]# /usr/local/apache2.4/bin/apachectl start    (启动httpd服务)

AH00558: 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,192行,ServerName前的#号去掉


接下来发现直接访问ip显示错误

错误代码: HTTP ERROR -2146697211


解决办法:1.首先看ip是否ping通。

      2.查看80端口是否打开

      iptables -I INPUT -p tcp --dport 80 -j ACCEPT      打开80端口

     iptables -D INPUT -p tcp --dport 80 -j ACCEPT      关闭80端口


有时候会显示状态码为403,状态码正常为200

解决办法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,202行, Require all denied  修改为  Require all granted


因为要支持php,要在配置文件里增加一行,搜索AddType

398                                AddType  application/x-httpd-php .php        


增加索引页。

搜索 Indexes

251                              DirectoryIndex index.html    index.php


检测php有么有解析成功,在/usr/local/apache2.4/htdocs下创建一个1.php

并写入

<?

phpinfo();                这是一个函数,会显示php的详细信息

?>


用浏览器访问ip,若出现界面,则表示php解析成功。

 /usr/local/php7/bin/php -i | less     和这个命令显示的命令一样,但是是以表格的形式

若没有成功:

  1. 检查有没有加载php模块。

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

2.有没有php模块

ls /usr/local/apache2.4/modules/libphp5.so

3.配置文件里有没有

有没有加载 libphp5.so 这一行的配置

检查有没有加 AddType php 这一行


二、apache默认虚拟主机

(默认虚拟主机:只要servername里么有定义,但是解析到了本机的Ip,则会自动跳转到默认虚拟主机上来)

一个服务器可以访问多个网站。每个网站都是一个虚拟主机。

windows和Linux操作系统中,都有一个hosto文件      可以在这个文件里制定一个域名,然后这个域名指向一个ip

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


203     ServerName 111.com:80                (定义了主机域名和端口号)

225     DocumentRoot "/usr/local/apache2.4/htdocs"  (定义了主机目录位置)

476    # Virtual hosts  (虚拟主机)

477    #Include conf/extra/httpd-vhosts.conf      (去掉井号,主配置文件的server就失效了)


去掉#可以打开一个虚拟主机配置文件,可以定义多个servername

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

ServerAdmin               定义管理员邮箱(可以删除)

DocumentRoot              网站的根目录

ServerName               访问网站的域名

ServerAlias              网站别名

ErrorLog                错误日志

CustomLog               访问日志

写完虚拟配置文件然后要创建相应的目录



<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/abc.com"

    ServerName abc.com

    ServerAlias www.abc.com www.123.com

    php_admin_value open_basedir "/data/wwwroot/abc.com:/tmp/"

    ErrorLog "logs/abc.com"

    CustomLog "logs/abc.com-access_log" common

</VirtualHost>


编写完成后,重新加载配置文件

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


[root@litongyao ~]# /usr/local/apache2.4/bin/apachectl start           (启动apache服务)

httpd (pid 3490) already running


测试,我们用curl命令,-x可以指定ip.:

[root@litongyao ~]# curl -x192.168.52.100:80 abc.com

abc.com


两个虚拟主机的servername中都没有定义lty这个域名,我们访问看他会跳转到哪个上。

[root@litongyao ~]# curl -x192.168.52.100:80 lty.com

abc.com











本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2052448,如需转载请自行联系原作者
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
1月前
|
Ubuntu Apache PHP
解决Ubuntu下Apache不解析PHP问题
解决Ubuntu下Apache不解析PHP问题
|
12天前
|
消息中间件 PHP 数据库
【PHP开发专栏】PHP在微服务架构中的应用
【4月更文挑战第29天】微服务架构将大型应用拆分成独立小服务,PHP在其中可作为API网关、微服务提供者,参与服务发现、消息队列处理和事件驱动。最佳实践包括选择合适PHP框架、使用容器化技术、定义服务契约、采用分布式缓存、实现服务发现、监控和日志收集、优化数据库设计以及注重安全性。遵循这些实践,PHP开发者能构建高效、可扩展的微服务应用。
|
1月前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
21 0
|
2月前
|
运维 Linux Apache
LAMP架构调优(三)——模块的安装与调用
LAMP架构调优(三)——模块的安装与调用
10 0
|
2月前
|
运维 Linux Apache
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
200 2
|
2月前
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
15 1
|
2月前
|
运维 安全 Linux
LAMP架构调优(八)——Apache Worker模式调优
LAMP架构调优(八)——Apache Worker模式调优
12 0
|
2月前
|
缓存 运维 Linux
LAMP架构调优(七)——Apache Prefork模式调优
LAMP架构调优(七)——Apache Prefork模式调优
27 2
|
2天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
3天前
|
API 持续交付 开发者
构建高效微服务架构:后端开发的新视角
【5月更文挑战第8天】 随着现代软件开发的演变,微服务架构已经成为了企业追求敏捷、可扩展和灵活部署的重要解决方案。本文将深入探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术栈选择以及持续集成与部署的最佳实践。我们还将讨论微服务带来的挑战,如数据一致性、服务发现和网络延迟,并提出相应的解决策略。通过本文,后端开发者将获得构建和维护微服务系统所需的深度知识,并了解如何在不断变化的技术环境中保持系统的健壮性和可维护性。
36 8

推荐镜像

更多