LAMP环境搭建

LAMP环境搭建

1.了解LAMP

     LAMP是指Linux+apache+MySQL+PHP的环境部署。其中Linux提供了系统平台;apache是部署的项目和外界的接口,其协议HTTP可以通过客户端浏览器进行访问;MySQL是LAMP中的数据库,但是apache并不能直接调用其中的数据,是通过PHP语言环境中的项目进行引用的;PHP表明了这个环境平台适合于PHP开发项目的部署的,如果需要部署其他语言开发的项目,就需要搭建不同的语言环境。   

2.环境搭建准备

  • #需要关闭SElinux和firewalld,避免因为防火墙问题导致网络问题的出现;
  • #配置yum源,可以是光盘源、网络源或者自己的源码包(都需要满足搭建环境要求的软件包,建议使用源码包);本次主要以自己的源码包进行讲解;
  • #将源码包拷进服务器并关闭系统默认安装的相关rpm包。

3.安装apache

①安装apache基础依赖:

$ yum -y install openssl openssl-devel zlib zlib-devel pcre pcre-devel

openssl:ssl加密,用于https;

zlib:涉及压缩;

pcre:pcre语言正则表达式

#解压拷进服务器的源码包文件,建议写一个脚本,放进解压之后的源码包文件夹(lamp)

vim jieya.sh

#!/bin/bash

for i in $(ls /root/lamp/*.tar.gz)

do

        tar -zxf $i

done

②解决http安装时的依赖关系

$ cp -a apr-1.4.6 httpd-2.4.47/srclib/apr

$ cp -a apr-util-1.4.1 httpd-2.4.47/srclib/apr-util

直接将依赖的文件拷进httpd-2.4.47/srclib下就可以了

③开始安装apache(注:安装http2协议时,需要openssl在1.0.2以上,使用openssl version进行版本查看)

进入lamp(源码包位置)

$yum -y install libnghttp2-1.33.0-1.1.el7.x86_64.rpm

$yum -yi nstall libnghttp2-devel-1.33.0-1.1.el7.x86_64.rpm

$ cd httpd-2.4.47

$./configure --prefix=/usr/local/apache2  --enable-rewrite --enable-so --enable-headers --enable-expires  --enable-modules=most --enable-deflate --enable-ssl --enable-http2

$ make && make install

#编译、安装,每步执行完用echo $?检测

#prefix:指定安装路径,

#enable-rewrite:开启地址重写,

#enable-so:开启dso(动态共享对象),

#enable-headers:允许修改http的请求头,

#enable-expires:允许客户端缓存,

#enable-modules=most:尽可能安装更多模块,

#enable-deflate:开启对压缩的支持,

#enable-ssl:开启https的支持,

#enable-http2:开启http2协议的支持

#检测配置文件、启停服务

$ /usr/local/apache2/bin/apachectl -t

$ /usr/local/apache2/bin/apachectl  start

$ /usr/local/apache2/bin/apachectl  stop

#查看服务启动情况

$ ss -antp | grep :80  #查看apache是否启动成功

$ ps -aux | grep httpd #查看是否产生进程

安装完成后,可以使用浏览器进行IP访问。

4.安装MySQL

①安装基础环境

#cmake命令在mysql的5.5版本之后,取代./configure命令进行编译、安装前的环境检查;

#bison是一个自由软件,用于自动生成语法分析器程序,可用于所有常见的操作系统;

#ncurses 提供字符终端处理库,是 使应用程序(如命令终端)直接控制终端屏幕显示的函数库;

$ yum -y install cmake bison ncurses-devel ncurses

#添加mysql用户(不能登陆系统用户)

$ useradd -r -M -s /sbin/nologin mysql

②安装MySQL(进入源码包/root/lamp下)

$ cd mysql-5.5.48

$cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

$ make && make install

#选项详解:

#-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  安装位置

#-DMYSQL_UNIX_ADDR=/tmp/mysql.sock指定socket(套接字)文件位置

#-DEXTRA_CHARSETS=all                  扩展字符支持

#-DDEFAULT_CHARSET=utf8                   默认字符集

#-DDEFAULT_COLLATION=utf8_general_ci      默认字符校对

#-DWITH_MYISAM_STORAGE_ENGINE=1        安装myisam存储引擎

#-DWITH_INNOBASE_STORAGE_ENGINE=1      安装innodb存储引擎

#-DWITH_MEMORY_STORAGE_ENGINE=1        安装memory存储引擎

#-DWITH_READLINE=1                     支持readline库

#-DENABLED_LOCAL_INFILE=1              启用加载本地数据

#-DMYSQL_USER=mysql                    指定mysql运行用户

#-DMYSQL_TCP_PORT=3306                 指定mysql端口

#生成配置文件

$ cp -a support-files/my-medium.cnf /etc/my.cnf

#进入到指定的安装目录

$ cd /usr/local/mysql

#修改MySQL数据的用户归属

$ chown -R mysql data

#初始化数据库

$ ./scripts/mysql_install_db --user=mysql

#后台启动

$ /usr/local/mysql/bin/mysqld_safe --user=mysql &

#查看启动结果、测试服务

$ ss -antp | grep :3306

----服务端就完成了

----客户端连接mysql服务(服务端和客户端在一台服务器上)

$ /usr/local/mysql/bin/mysql

mysql> show databases;

#设定MySQL密码(初始化密码,只能设置一次)

$ /usr/local/mysql/bin/mysqladmin -uroot password 123

#登录MySQL

$ /usr/local/mysql/bin/mysql -uroot -p,回车输入密码

mysql> show databases;

5.安装PHP

①安装基础依赖(进入/root/lamp)

#安装配置文件解析库(libxml2),安装sqlite操作数据文件

$yum -y install freetype-devel libxml2-devel libxml2 python-devel libicu-devel libpng-devel libcurl-devel libjpeg-devel expat expat-devel libzip sqlite-devel openssl openssl-devel

#轻量级目录访问协议

$yum -y install openldap openldap-devel

$cp -a /usr/lib64/libldap* /usr/lib/

#oniguruma 是一个处理正则表达式的库,在安装 php7.4及其以上版本中的正则表达式处理功能依赖这个包

$yum -y install oniguruma-6.7.0-1.el7.x86_64.rpm

$yum -y install oniguruma-devel-6.7.0-1.el7.x86_64.rpm

#安装libzip依赖,系统自带版本是0.10.1,php7.4需要升级libzip版本(>=1.3.1)

$yum remove libzip

$cd libzip-1.3.2

$./configure

$make && make install

$export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

②安装PHP

$ cd php-7.4.33/

#编译

$./configure  --prefix=/usr/local/php74 --with-config-file-path=/usr/local/php74/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-freetype --with-jpeg --with-zlib --with-zip --with-expat  --with-openssl  --with-mhash   --enable-soap --enable-mbstring=all --enable-sockets  --enable-gd --without-pear --with-ldap=shared --enable-intl --with-curl

#安装

$ make && make install

#选项详解:

#--with-config-file-path=/usr/local/php74/etc/   指定配置文件目录

#--with-apxs2=/usr/local/apache2/bin/apxs    指定apache动态模块位置

#--with-mysqli=/usr/local/mysql/bin/mysql_config指定mysqli位置,php连接mysql的工具

#--with-pdo-mysql=/usr/local/mysql           启用mysql的pdo(php数据对象)模块支持

#--with-freetype                                加载字体库

#--with-jpeg                                加载jpeg

#--with-zlib --with-zip                     支持各种压缩

#--with-expat                                加载libxml2

#--with-mhash                                加载加密库

#--with-ldap=shared                    加载动态的目录访问库

#--enable-soap                   支持soap(简单对象访问协议)

#--enable-mbstring=all                    支持多字节,字符串

#--enable-sockets                                支持套接字

#--enable-gd                  启用gd(php处理图形的扩展库)#--without-pear         不安装pear(安装pear需要连接互联网)

#--enable-intl  php扩展,可以方便地处理多语言和跨国界的应用

#--with-curl    php扩展,可以实现服务器之间的数据或文件传输#生成php配置文件

$ mkdir /usr/local/php74/etc

$ cp -a php.ini-production /usr/local/php74/etc/php.ini

#测试可以运行php代码

$ vim test.php

<?php

die("hello world\n")

?>

$/usr/local/php74/bin/php test.php

6.配置关联

#修改apache配置文件,使其识别*.php文件,并通过php模块调用php进行页面解析

$vim /usr/local/apache2/conf/httpd.conf

#查看自动添加了php模块:libphp7.so

#添加下面类型

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps

#重启Apache服务

$/usr/local/apache2/bin/apachectl stop 

$/usr/local/apache2/bin/apachectl start

------------------------

#编写php界面、访问,即测试apache和php的连通性

$vim /usr/local/apache2/htdocs/test-php.php

<?php

phpinfo();

?>

$ 浏览器输入网址访问:http://apacheServerIP/test-php.php

-----------------------

#编写php网页中连接mysql数据库,即测试mysql和php的连通性$vim /usr/local/apache2/htdocs/test-php-mysql.php

<?php

$servername = "localhost";

$username = "root";

$password = "123";

// 创建连接

$conn = mysqli_connect($servername, $username, $password);

// 检测连接

if ($conn) {

  echo "连接成功";

} else {

//die() 函数输出一条消息,并退出当前脚本,是 exit() 函数的别名。

die("Connection failed: " . mysqli_connect_error());

  }

// 创建数据库

  $sql = "CREATE DATABASE  wordpress";

  $jieguo = mysqli_query($conn, $sql);

  if ($jieguo) {

    echo "数据库创建成功";

  } else {

    die("Error creating database: " . mysqli_error($conn));

  }

mysqli_close($conn);

?>

$浏览器输入网址访问:http://apacheServerIP/test-php-mysql.php

7.部署网站

#计划安装php代码的项目,其项目默认网页文件是index.php

#设置权限:1,管理apache服务网页根目录的权限;2,管理Apache服务进程的权限;

$useradd -r -M -s /sbin/nologin apache

$chown -R apache:apache /usr/local/apache2/htdocs

$vim /usr/local/apache2/conf/httpd.conf

#设置管理Apache服务进程的权限,用ps命令可查看

User apache

Group apache

<IfModule dir_module>#默认界面添加index.php

DirectoryIndex index.html index.php 

</IfModule>添加

#重启apache服务

$/usr/local/apache2/bin/apachectl stop

$/usr/local/apache2/bin/apachectl start

---------------------

#部署wordpress项目:WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。

$cd lamp软件包存放目录(可以进入到自己的PHP项目中进行解压)

$tar -zxf wordpress-4.7.4-zh_CN.tar.gz

$cp -a wordpress /usr/local/apache2/htdocs/

$chown -R apache:apache /usr/local/apache2/htdocs/wordpress

#访问wordpress网站,

http://serverIP/wordpress

#第一步连接数据库(database名、连接数据库用户名、密码、数据库所在服务器即端口、数据表前缀)

$/usr/local/mysql/bin/mysql -uroot -p123

$show databases;

8.总结

       LAMP的搭建步骤是一定的,不要遗漏,安装步骤也可以进相应服务的官网查询官方的安装步骤;项目部署之前需要在apache服务中添加默认网页打开文件类型(index.php),项目的部署,主要是通过将项目的文件拷进/usr/local/apache2/htdocs/ 下,对该文件目录递归设置所有者和所有组(apache)然后即可登陆相应的网站等;PHP项目是通过内部的命令调用MySQL的,在相应网站上面的注册信息及发布的内容也都会记录到MySQL相应的表格文件中,以供存储及调取。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值