LAMP架构介绍与搭建----工坊学习记录

一、LAMP架构介绍

 

1、LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言 – > Linux + Apache(httpd) + MySQL + PHP 三个角色可以在一台机器,也可以分开(httpd和PHP要在一起)

在这里插入图片描述
 

2、httpd、PHP、MySQL 三者工作模式
静态内容服务:客户端发起资源请求,服务器将请求的资源原封不动的发给客户端。

动态资源:服务器将客户端发起的资源先执行一下,进行一定的处理,返还给客户端。(登录时去MsSQL找账号密码的密码进行比对) 

在这里插入图片描述
 

二、LAMP搭建

ps:在安装过程中不确定是否出现错误都可以使用echo $?命令进行检查

 

1.准备一台可以ping通网络的虚拟机。笔者所采取的配置:Centos7 64位、4GB内存、2*1处理器、VMnet8模式;镜像为:CentOS-7-x86_64-DVD-1511.iso

 

2.安装MySQL
[root@lamp ]# uname -i       //查看linux位数
x86_64
[root@lamp ~]# cd /usr/local/src/     //建议所有软件包可以放到此目录下
[root@lamp src]# https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz      // 下载mysql压缩包
[root@lamp src]# tar zxvf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz   //解压
[root@lamp mysql]# useradd mysql             //创建mysql用户
[root@lamp mysql]# mkdir -p /data/mysql     //创建目录
[root@lamp mysql]#chown -R mysql:mysql /data/mysql      // 更改权限,不更改后续操作就会出问题
[root@lamp mysql]#[ -d /usr/local/mysql ] && mv /usr/local/mysql  /usr/local/mysql_old   
[root@lamp src]# mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql    //挪动位置
[root@lamp src]# cd /usr/local/mysql/        //进入修改目录后的位置
[root@lamp mysql]# ls                           //查看是否有文件
bin   docs     lib      man         README   share      support-files
data  include  LICENSE  mysql-test  scripts  sql-bench
[root@lamp mysql]# yum install -y perl-Data-Dumper.x86_64   //下载缺失的perl模块
[root@lamp mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql     //初始化,指定用户,指定数据库目录
[root@lamp mysql]# echo $?     //若难分辨命令产生的结果是否正确,可以使用此命令检验
0
[root@lamp mysql]# ls support-files/        
binary-configure  my-default.cnf       mysql-log-rotate  
magic             mysqld_multi.server  mysql.server
[root@lamp mysql]# cp support-files/my-default.cnf /etc/my.cnf       //拷贝配置文件
cp: overwrite ‘/etc/my.cnf’? y
[root@lamp mysql]# vi /etc/my.cnf             //修改配置文件、添加datadir、socket、symbolic-links

在这里插入图片描述

[root@lamp mysql]# cp support-files/mysql.server /etc/init.d/mysqld   //移动启动脚本
[root@lamp mysql]# vi /etc/init.d/mysqld                         //修改启动脚本。找到下面这两行定义basedir和datadir
basedir=/usr/local/mysql
datadir=/data/mysql
[root@lamp mysql]# chkconfig --add mysqld     //设置开机自启动
[root@lamp mysql]# /etc/init.d/mysqld start    //启动mysqld

 

3. 安装Apache
[root@lamp ~]# cd /usr/local/src/
[root@lamp src]# wget  https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.46.tar.gz  //下载httpd源码包
[root@lamp src]# wget http://archive.apache.org/dist/apr/apr-1.6.5.tar.gz          //下载apr源码包
[root@lamp src]# wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz    //下载apr-util源码包
//解压这三个包
[root@lamp ~]# yum install -y expat-devel pcre-devel libxml2-devel openssl-devel gcc //安装依赖包
[root@lamp ~]# yum install -y libcurl-devel gd-devel bzip2-devel  //安装依赖包
//编译安装apr
[root@lamp src]# cd apr-1.6.2
[root@lamp apr-1.6.2]# ./configure --prefix=/usr/local/apr    
[root@lamp apr-1.6.2]# make && make install
[root@lamp apr-1.6.2]# echo $?
0
//编译安装apr-util
[root@lamp src]# cd apr-util-1.6.1
[root@lamp apr-util-1.6.1]# ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr/
[root@lamp apr-util-1.6.1]# make && make install
[root@lamp apr-util-1.6.1]# echo $?
0
//编译安装httpd
[root@lamp src]# cd httpd-2.4.43
[root@lamp httpd-2.4.43]# ./configure \       //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
> --prefix=/usr/local/apache2.4 \
> --with-apr=/usr/local/apr \
> --with-apr-util=/usr/local/apr-util \
> --enable-so \
> --enable-mods-shared=most
[root@lamp httpd-2.4.43]# make && make install
[root@lamp httpd-2.4.43]# /usr/local/apache2.4/bin/httpd -M //查看加载的模块
[root@lamp httpd-2.4.43]# /usr/local/apache2.4/bin/apachectl start   //启动Apache脚本:启动脚本后,虽然出现提示,但不表示启动失败,若不想要出现提示,只需要编辑配置文件即可
//查看   httpd默认监听端口为80,mysqld默认监听端口为3306,25端口是发邮件的,22端口是远程登录的

在这里插入图片描述

启动后在浏览器中输入ip地址即可查看网页显示:It works! (若网页无法访问,可以关闭虚拟机防火墙即可)

 

4. 安装PHP5
[root@lamp src]#  wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
[root@lamp src]# tar zxvf php-5.6.30.tar.gz 
[root@lamp php-5.6.30]# yum install -y epel-release
[root@lamp php-5.6.30]# yum install -y libmcrypt-devel
[root@lamp php-5.6.30]#  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
  • --prefix=/usr/local/php 表示指定它的安装目录

  • --with-apxs2=/usr/local/apache2.4/bin/apxs //apxs2,它是apache的一个工具,这个工具能让我们不用去人工的干涉它,它可以自动的帮你去把扩展的模块放到Apache中的modules目录里,并且在它的配置文件里加上一行load module

  • --with-config-file-path=/usr/local/php/etc //指定配置文件所在路径

  • --with-mysql=/usr/local/mysql –with-pdo-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config //指定mysql的路径。
    这是三种不同的mysql驱动,原因是你想要把你的PHP和mysql相互通信,首先需要编译出支持它的模块来,因为在PHP代码里面,定义了连接mysql的命令,一段代码,若是没有相应的驱动,那根本是无法识别的

  • --with-mysql 和 –with-mysqli 是有区别的,它们两者功能是相同的,目的都是为了让PHP去支持mysql,老版本中使用 –with-mysql,新版本中使用 –with-mysqli ,在PHP7中就不再使用–with-mysql 了

  • --with-libxml-dir –with-gd –with-jpeg-dir –with-png-dir –with-freetype-dir –with-iconv-dir –with-zlib-dir –with-bz2 –with-openssl –with-mcrypt –enable-soap –enable-gd-native-ttf –enable-mbstring –enable-sockets –enable-exif //指定PHP需要的模块,若是没有特殊的要求,直接复制这些参数即可,这些参数是通用的
     

    [root@lamp php-5.6.30]# make && make install
    [root@lamp php-5.6.30]# echo $?
    0
    [root@lamp php-5.6.30]# /usr/local/php/bin/php -m //查看php加载的模块(静态)
    [root@lamp php-5.6.30]# cp php.ini-production /usr/local/php/etc/php.ini //拷贝配置文件

 

5. 配置httpd支持php
编辑httpd的配置文件
httpd主配置文件/usr/local/apache2.4/conf/httpd.conf
vim /usr/local/apache2.4/conf/httpd.conf //修改以下4个地方
ServerName
Require all denied
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php

[root@lamp php-5.6.30]# vi /usr/local/apache2.4/conf/httpd.conf  /进入配置文件
将ServerName www.example.com:80前的#号删除
将denied 改成 granted
搜索 /AddType,增加AddType application/x-httpd-php .php     //.php前是有一个空格
搜索 /Index,加上index.php
[root@lamp php-5.6.30]# /usr/local/apache2.4/bin/apachectl -t    //检查配置是否有错误
[root@lamp php-5.6.30]# /usr/local/apache2.4/bin/apachectl start    //启动服务
[root@lamp php-5.6.30]# /usr/local/apache2.4/bin/apachectl graceful    //重新加载配置文件
//检查Apache是否支持解析php5
[root@lamp ~]# vi /usr/local/apache2.4/htdocs/1.php
<?php
phpinfo();
?>
使用浏览器访问http://192.168.20.128/1.php 即可看到php正常解析

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值