LAMP-(FCGI)-实现虚拟主机

本文介绍如何使用rpm包及自定义编译方式部署LAMP环境,并通过实例演示了如何配置两个虚拟主机,包括目录创建、PHP服务设置、数据库权限分配、httpd配置修改等步骤。

一、LAMP实现过程

1.rpm包安装实现

LAMP部署(php-fpm模式)

2.自定义编译实现

LAMP——最新版组合(CGI)

二、虚拟主机实现

1.httpd的主站点目录创建(服务器A)

cd /app/httpd24/htdocs
mkdir 1.com
mkdir 2.com

2.php服务中php程序所在目录创建(服务器B)

cd /app/php/var/run
mkdir 1.com
vim 2.com/index.php

mkdir 2.com
vim 2.com/index.php

3.在mysql服务器创建对应数据库和用户(服务器C)

grant all on php1.*   to php1@'%' identified by 'centos';
grant all on php2.*   to php2@'%' identified by 'centos';

4.取消httpd服务配置文件对vhost.conf的注释

/etc/httpd24/httpd.conf
取消下面行的注释
    Include /etc/httpd24/extra/httpd-vhosts.conf

5.修改vhost.conf文件

<VirtualHost *:80>

<Directory /app/httpd24/htdocs/1.com>
    Require all granted
</Directory>

    DocumentRoot "/app/httpd24/htdocs/1.com"
    ServerName www.1.com
    ErrorLog "/app/httpd24/logs/1.com/error_log"   
    CustomLog "/app/httpd24/logs/1.com/access_log" common

    DirectoryIndex index.php
    ProxyRequests Off
    ProxyPassMatch  ^/(.*\.php)$  fcgi://172.17.17.173:9000/app/php/var/run/1.com/$1
</VirtualHost>


<VirtualHost *:80>

<Directory /app/httpd24/htdocs/2.com>
    Require all granted
</Directory>

  DocumentRoot "/app/httpd24/htdocs/2.com"
    ServerName www.2.com
    ErrorLog "/app/httpd24/logs/2.com/error_log"
    CustomLog "/app/httpd24/logs/2.com/access_log" common

    DirectoryIndex index.php
    ProxyRequests Off
    ProxyPassMatch  ^/(.*\.php)$  fcgi://172.17.17.173:9000/app/php/var/run/2.com/$1
</VirtualHost>

三、测试

1.修改测试机hosts文件

vim /etc/hosts
添加下行
172.17.16.173  www.1.com www.2.com                              
<think>好的,用户想了解LAMP架构的学习方法和教程,需要我整理一个学习路径。首先,我得回忆一下LAMP的组成部分:Linux、Apache、MySQL、PHP。对吧?用户可能刚开始接触,所以得从基础开始。 先看看系统级指令的要求,用户不可见的部分需要检查格式。比如数学表达式要用$...$,但可能这里用不上,不过得注意。然后生成相关问题,引用要正确添加。用户可见层要结构清晰,分步骤解答,确保信息可靠。 接下来,我需要参考提供的引用内容。引用1提到了LAMP的组成,引用3有编译安装Apache、MySQL、PHP的步骤,引用4关于Apache的模块配置,引用2和5可能相关但不太直接。需要结合这些内容来构建学习路径。 首先,基础部分要包括每个组件的介绍和安装。比如先学Linux基础,然后Apache的安装配置,接着是MySQL,最后PHP。然后整合起来,搭建环境。再深入配置优化,比如ApachePHP的模块配置,引用4中的mod_proxy_fcgi可能用于PHP-FPM,需要提到。 然后是实践项目,比如搭建论坛或CMS,引用2中的cp命令可能是在部署论坛时的操作,可以举例说明。还要涉及调试和优化,比如性能调优,日志管理。最后是安全加固,比如防火墙设置,权限管理,引用3提到了关闭防火墙和SELinux,但生产环境可能需要更安全的配置。 进阶部分可以扩展到其他变体,比如LEMP,或者容器化部署。持续学习资源方面,推荐官方文档和在线课程,确保用户有进一步学习的途径。 生成的问题需要围绕学习路径的各个部分,比如组件作用、Apache编译安装、PHP连接数据库、常见问题、安全措施和容器化部署。这样能帮助用户深入每个主题。 最后检查引用是否正确添加,每个步骤末尾是否有对应的引用标记,比如安装Apache的部分引用3,配置模块引用4,部署论坛引用2。确保没有格式错误,LaTeX语法如果有的话正确使用,但这里可能用不上数学公式。回答结构要分步骤,清晰明了,符合用户需求。</think>### LAMP架构学习路径及方法 LAMP(Linux + Apache + MySQL/MariaDB + PHP/Python/Perl)是经典的Web开发架构,学习路径可分为以下阶段: --- #### 一、基础组件学习 1. **Linux操作系统** - 掌握基础命令(文件操作、权限管理、进程管理) - 学习包管理工具(yum/apt) - 熟悉服务管理(systemd) - *示例:关闭防火墙* ```bash systemctl disable --now firewalld setenforce 0 ``` 引用[^3] 2. **Apache HTTP Server** - 编译安装与配置: ```bash # 安装依赖 yum -y install gcc gcc-c++ make pcre-devel expat-devel perl # 编译安装 ./configure --prefix=/usr/local/httpd make && make install ``` 引用 - 核心配置文件:`httpd.conf`,需掌握虚拟主机、模块加载等配置 *示例加载FastCGI模块* ```apache LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so ``` 引用[^4] 3. **MySQL/MariaDB** - 数据库安装、用户权限管理 - SQL语法与索引优化 - 备份与恢复操作 4. **PHP/Python** - PHP语法与MySQL连接(`mysqli`/PDO) - 掌握PHP-FPM配置与Apache集成 - *Python可通过mod_wsgi与Apache整合* --- #### 二、环境搭建实战 1. **手动编译安装LAMP** - 按顺序安装:Apache → MySQL → PHP(需注意依赖关系) 引用[^3] - 验证PHP解析:创建`info.php`并访问测试 2. **使用包管理器快速部署** - 基于CentOS:`yum install httpd mariadb-server php php-mysqlnd` - 基于Ubuntu:`apt install apache2 mysql-server php libapache2-mod-php` --- #### 三、项目实践 1. **部署Web应用** - 示例:部署论坛程序 ```bash cp -r upload/ /usr/local/httpd/htdocs/bbs chown -R apache:apache /usr/local/httpd/htdocs/bbs ``` 引用[^2] 2. **开发简单CMS** - 实现用户登录、数据增删改查功能 - 整合前端模板与后端逻辑 --- #### 四、进阶技能 1. **性能调优** - Apache:启用压缩模块、调整MaxClients - MySQL:查询缓存、InnoDB缓冲池配置 - PHP:OPcache加速 2. **安全加固** - Apache:禁用目录遍历、隐藏版本号 - MySQL:限制远程访问、加密连接 - 文件权限:严格控制Web目录所有权 *示例:`chown apache:apache /path/to/webroot`* --- #### 五、扩展学习 1. **变体架构** - LEMP(Nginx替代Apache- MEAN(MongoDB + Express + Angular + Node.js) 2. **容器化部署** - 使用Docker部署LAMP组件 - 编写docker-compose.yml整合服务 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值