LAMP

79 阅读4分钟

LAMP配置与应用

动态资源与语言

WEB 资源类型:

  • 静态资源:原始形式与响应内容一致,在客户端浏览器执行
  • 动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端

PS:静态和动态的区别,不在于网页是否能动态变化,而在于服务端的页面文件和客户端得到页面文件是否一致

LAMP平台概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境

LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言

LAMP各组件主要作用

  • (平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。

  • (前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。

  • (后台)MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。

  • (中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

编译安装Apache http服务

1.环境准备

关闭防火墙 并将apache所需软件包放在/opt目录下 image.png

image.png

  1. 安装环境依赖包

     yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre
    
     yum install  -y\
     gcc \                #c语言编译器
     gcc-c++ \            #c编译器
     make \               #源代码编译器
     pcre\                #pcre函数库
     pcre-devel \         #pcre接口开发包
     expat-devel \        #用于支持网站解析HTML、XML文件
     perl                 #perl 语言编译器
    

3.解压软件包

image.png

4.编译安装

image.png

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

make

make install



./configure \                        
--prefix=/usr/local/httpd \       #指定httpd的安装目录
--enable-so \                     #启用动态加载模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite \             #启用网页地址的重写功能,用于网站优化、防盗链及目录迁移维护   
--enable-charset-lite \     #启用字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi      #启用CGI(通用网关接口)脚本程序支持,便于网站外部扩展应用访问的能力

6 建立软链接

image.png

7 添加httpd系统服务

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

编译安装mysql

1 安装依赖包

yum install -y ncurses-devel autoconf cmake

yum -y install \  
ncurses \              #字符终端下图形互动功能的动态库
ncurses-devel \        #ncurses开发包
bison \                #语法分析器
cmake                  #mysql需要用到的cmake编译安装包


useradd -s /sbin/nologin  mysql  #创建mysql用户

2 编译安装

将软件包放入/opt目录下

image.png

image.png

make -j2 && make install #编译安装

image.png

image.png

image.png

image.png

image.png

编译安装php

1 安装依赖 将php所需软件包放入/opt目录下

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

解压软件包

image.png

配置软件模块

./configure \
--prefix=/usr/local/php7 \				指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \			指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \		指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7				设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \										添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \				支持zlib功能,提供数据压缩
--with-curl \				开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \				激活gd 库的支持
--with-jpeg-dir \				激活jpeg 的支持
--with-png-dir \				激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \			启用多字节字符串功能,以便支持中文等代码
--enable-xml \				开启扩展性标记语言模块
--enable-session \			会话
--enable-ftp \			文本传输协议
--enable-pdo \			函数库
--enable-tokenizer \			令牌解释器
--enable-zip				ZIP压缩格式

编译安装

   make -j2 && make install

image.png

image.png

image.png

image.png

image.png

image.png

image.png

测试

image.png

image.png

安装论坛

image.png