LAMP平台服务简介、部署及应用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: LAMP平台服务简介、部署及应用

一、LAMP平台概述


- LAMP架构


LAMP平台是协同工作的一整套系统和相关软件,能够提供动态Wen站点服务以及应用开发环境,是目前最为成熟也是比较传统的一种企业网站应用模式


- 构成组件:


(1)Linux系统: LAMP架构的基础,提供用于支撑Web站点的操作系统

(2)Apache网站服务: LAMP架构的前端,向用户提供网站服务、发送网页、图片等文件内容

(3)MySQL数据库服务: LAMP架构的后端,存储各种账号信息、产品信息、客户资料、业务数据等,其他程序可以通过SQL语句进行查询、更改

(4)PHP/Perl/Python编程语言: 负责解释动态网页文件,提供Web应用程序开发和运行环境


- LAMP服务平台的优势:


(1)成本低廉: 开源,可快速获得免费使用

(2)可定制: 拥有大量的额外组件和扩展功能模块,可以根据需要定制或者自行开发添加新功能

(3)易于开发: 代码简洁,与HTML语言结合度高,容易修改网页代码

(4)方便易用: PHP、Perl属于解释性语言,开发的程序不需要编译,可以直接移植使用

(5)安全和稳定: 开源优势,发现问题能够很快解决


二、安装LAMP平台


- 安装顺序


Linux系统——Apache服务器——Mysql数据库——PHP环境

(PHP一般放在最后,其他的没有严格要求)


(1)安装Linux系统(略)


(2)安装Apache服务器软件(点击下面链接)


Apache服务器软件安装


(3)安装mysql数据库(点击下面的链接)


MySQL数据库的安装


(4)安装PHP软件包

******避免发生程序冲突,先卸载用RPM方式安装的PHP以及相关依赖包
[root@LAMP ~]# rpm -e php php-cli php-ldap php-common php-mysql –nodeps
错误:未安装软件包 php 
错误:未安装软件包 php-cli 
错误:未安装软件包 php-ldap 
错误:未安装软件包 php-common 
错误:未安装软件包 php-mysql 
错误:未安装软件包 –nodeps 
******挂载镜像文件
[root@LAMP ~]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
******安装PHP的依赖包
[root@LAMP ~]# yum -y install zlib-devel xz-devel libxml2-devel
。。。。。
完毕!
******安装扩展工具库(libmcrypt、mhash、mcrypt 等)
(1)安装libmcrypt(上传源码包libmcrypt-2.5.8.tar.gz)
[root@LAMP ~]# tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@LAMP ~]# cd /usr/src/libmcrypt-2.5.8/  
[root@LAMP libmcrypt-2.5.8]# ./configure && make &&make install  (配置编译安装)
[root@LAMP libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/ (优化执行路径)
(2)、安装mhash(上传源码包mhash-0.9.9.9.tar.gz)(记得要cd到家目录)
[root@LAMP ~]# tar zxvf mhash-0.9.9.9.tar_20190806_170830.gz -C /usr/src/
[root@LAMP ~]# cd /usr/src/mhash-0.9.9.9/
[root@LAMP mhash-0.9.9.9]# ./configure  && make && make install (配置编译安装)
[root@LAMP mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/ (优化执行路径)
(3)、安装mcrypt(上传源码包mcrypt-2.6.8.tar.gz)(记得cd到家目录)
[root@LAMP ~]# tar zxvf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@LAMP ~]# cd /usr/src/mcrypt-2.6.8/
[root@LAMP mcrypt-2.6.8]# ./configure  (发现报错了)
解决报错:export LD_LIBRARY_PATH=/usr/local/lib
再次配置:
[root@LAMP mcrypt-2.6.8]# ./configure   (发现成功)
[root@LAMP mcrypt-2.6.8]# make && make install (编译并安装)
******编译安装PHP(上传源码包php-5.5.38.tar.gz)(记得cd到家目录)
[root@LAMP ~]# tar zxvf php-5.5.38.tar.gz -C /usr/src/
[root@LAMP ~]# cd /usr/src/php-5.5.38/
[root@LAMP php-5.5.38]# ./configure --prefix=/usr/local/php5  --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring && make && make install  (配置编译安装)
至此,安装PHP软件包完成

三、设置LAMP组件环境


  • PHP配置文件 php.ini 的配置
  • Apache 服务器配置文件 httpd.conf 的配置


(1)php.ini 的调整


注意:安装php软件包后,服务器不会自动创建 php.ini 配置文件

源码包自带两个样例文件:


/usr/src/php-5.5.38/php.ini-development (开发环境,用于学习,测试)

/usr/src/php-5.5.38/php.ini-production (生产环境,用于实际运营)


******因为是实验环境,所以要复制样例文件到PHP的配置文件目录/usr/local/php5 下,并改名为php.ini 
[root@LAMP ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini (该配置文件直接使用默认配置,不做任何修改)
******添加一个优化模块:ZendGuardLoader (可以提高PHP的执行效率,优化页面的加载速度)
(上传源码包zend-loader-php5.5-linux-x86_64_update1.tar.gz ,记得cd到家目录)
[root@LAMP ~]# tar zxvf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/   (解压模块)
zend-loader-php5.5-linux-x86_64/
zend-loader-php5.5-linux-x86_64/ZendGuardLoader.so
zend-loader-php5.5-linux-x86_64/opcache.so
zend-loader-php5.5-linux-x86_64/README.txt
[root@LAMP ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/    
[root@LAMP zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ (复制模块文件到PHP程序模块文件夹下)
[root@LAMP zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini  (修改配置文件,添加加载以及启用这个配置模块)
1 [PHP]
2 zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so  (添加,模块所在位置)
3 zend_loader.enable=1  (添加,启动该模块配置)
4 ;;;;;;;;;;;;;;;;;;;
5 ; About php.ini   ;
6 ;;;;;;;;;;;;;;;;;;;
7 ; PHP's initialization file, generally called php.ini, is responsible for
8 ; configuring many of the aspects of PHP's behavior.
。。。。。
保存退出

(2)httpd.conf 的调整


让httpd服务器支持php页面解析功能

******修改httpd.conf配置文件(记得cd到家目录)
[root@LAMP ~]# vim /usr/local/httpd/conf/httpd.conf
添加这两个配置项LoadModule php5_module        modules/libphp5.so    (默认就有,不用改)
。。。。。
247 
248     #
249     # Controls who can get stuff from this server.
250     #
251     Require all granted
252 AddType application/x-httpd-php .php (添加对PHP 网页文件的支持)
253 </Directory>
254 
255 #
256 # DirectoryIndex: sets the file that Apache will serve if a d    irectory
257 # is requested.
。。。。。
257 # is requested.
258 #
259 <IfModule dir_module>
260     DirectoryIndex index.html index.php  (添加默认搜索对php 页面的支持)
261 </IfModule>
262 
263 #
264 # The following lines prevent .htaccess and .htpasswd files f    rom being 
。。。。。。
保存退出
******重启httpd服务
[root@LAMP ~]# systemctl restart httpd

四、测试LAMP协同工作


  • 测试php页面能否正常显示
******编写php网页文件
[root@LAMP ~]# vim /usr/local/httpd/htdocs/test1.php
写入
<?php
phpinfo();
?>
保存退出
******重启httpd服务
[root@LAMP ~]# systemctl restart httpd

开一台win7,调配好网址、网卡后测试php网页页面,访问192.168.100.7/test1.php,发现可以访问成功


20201215102126949.png

******编写第二个php网页文件
[root@LAMP ~]# vim  /usr/local/httpd/htdocs/test2.php
添加
<?php 
$link=mysqli_connect('localhost','root','123.com');  (这个就是mysql数据库的用户名和密码,一定要和mysql数据库的用户名称、密码一致,localhost是本机)
if($link) echo "恭喜你,数据库连接成功啦!!";
mysqli_close($link);
?>
保存退出
******重启httpd服务
[root@LAMP ~]# systemctl restart httpd

再次使用win7访问192.168.100.7/test2.php,发现可以访问成功,但是是乱码,改一下浏览器编码为utf-8即可

20201215102733194.png20201215102830106.png


五、扩展(安装phpmyadmin系统)


安装完成后可以图形化管理mysql数据库


******上传原吗包phpMyAdmin-4.7.2-all-languages.tar.gz(要记得cd到家目录)
[root@LAMP ~]# tar zxvf phpMyAdmin-4.7.2-all-languages.tar.gz  
[root@LAMP ~]# cp -rf phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyadmin  (复制到网站根目录下,并重命名为phpMyadmin)
[root@LAMP ~]# cd   /usr/local/httpd/htdocs/phpMyadmin   
[root@LAMP phpMyadmin]# cp config.sample.inc.php config.inc.php   (建立配置文件)
******重启httpd服务
[root@LAMP phpMyadmin]# systemctl restart httpd
******修改mysql主配置文件 (cd到家目录)
[root@LAMP ~]# vim /etc/my.cnf
 。。。。。。
 27 # join_buffer_size = 128M
 28 # sort_buffer_size = 2M
 29 # read_rnd_buffer_size = 2M 
 30 skip-name-resolve    (添加,跳过主机名检测)
 31 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 保存退出
 ******重启mysql数据库
 [root@LAMP ~]# systemctl restart mysqld

使用win7访问192.168.100.7/phpMyadmin 发现访问成功

20201215103354767.png


  • 用户名:root
  • 密码:123.com (我的密码是123.com)
    (这里的用户名和密码就是数据库的用户和密码)
    现在就可以通过图形界面来管理mysql数据库了


登陆后


20201215103651371.png

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
关系型数据库 MySQL PHP
小白带你学习部署LAMP平台
小白带你学习部署LAMP平台
102 0
|
关系型数据库 MySQL PHP
搭建lamp平台
搭建lamp平台
|
SQL 关系型数据库 MySQL
LAMP平台部署及应用
LAMP平台部署及应用
133 0
|
关系型数据库 MySQL PHP
部署LAMP平台(二)
部署LAMP平台(二)
部署LAMP平台(二)
|
存储 关系型数据库 MySQL
|
关系型数据库 MySQL 应用服务中间件
LNMP平台服务简介、部署及应用
LNMP平台服务简介、部署及应用
192 0
LNMP平台服务简介、部署及应用
|
弹性计算 关系型数据库 MySQL
快速搭建LAMP环境
CentOS 7.7的ECS实例(云服务器)。通过本教程的操作,您可以基于ECS实例快速搭建一套LAMP环境。
368 0
快速搭建LAMP环境
|
关系型数据库 MySQL Apache
学习快速搭建LAMP环境
学习快速搭建LAMP环境
153 0
|
关系型数据库 MySQL Apache
搭建LAMP环境
新手一起来学啊!!!
390 0
搭建LAMP环境
|
关系型数据库 MySQL 数据库