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

Posted 礁之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP平台服务简介部署及应用相关的知识,希望对你有一定的参考价值。

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,发现可以访问成功

******编写第二个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即可

五、扩展(安装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 发现访问成功

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

登陆后

以上是关于LAMP平台服务简介部署及应用的主要内容,如果未能解决你的问题,请参考以下文章

LAMP平台部署及应用

Web服务器集群——源码部署LAMP平台

LAMP平台部署及应用

LAMP平台部署及应用

构建LAMP平台及应用系统

LAMP平台部署与应用