linux高级管理——LAMP平台部署及应用

news2024/11/17 19:38:26

一、认识LAMP:

在LAMP平台的四个构成组件中,每个组件都承担着一部分关键应用。经过十几年的发展,各组件间的兼容性得到了不断的完善.协作能力和稳定性也不断增强,可以构建出非常优秀的Web应用系统。各组件的主要作用如下。

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

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

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

PHP/PerI/Python网页编程语言:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供Web应用程序的开发和运行环境。其中,PHP是一种被广泛应用的开放源代码。

二、LAMP平台的应用优势:

2.1 成本低廉:构成组件都是开放源代码的软件.可以自由获得和免费使用,在技术上和许可证方面没有太严格的限制.大大降低了企业的实施成本。

2.2 可定制:拥有大量的额外组件和可扩展功能的模块.能够满足大部分企业应用的定制需求,甚至可以自行开发、添加新的功能。

2.3 易于开发:基于LAMP平台的动态网站中,页面代码简洁,与HTML标记语言的结合度非常好.即使是非专业的程序员也能够轻松读懂乃至修改网页代码。

2.4 方便易用:PHP、Perl等属于解释性语言,开发的各种 Web程序不需要编译,方便进行移植使用。整套的网站项目程序.通常只要复制到网站目录中,就可以直接访问。

2.5 安全和稳定:得益于开源的优势.大量的程序员在关注并持续改进LAMP平台的各个组件.发现的问题能够很快得到解决。

 三、安装PHP软件包:

3.1 准备工作:

挂载:

[root@xiao ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载

删除可能存在的包:

[root@xiao ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps

安装依赖包:

[root@xiao ~]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm 
[root@xiao ~]# rpm -ivh /mnt/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm 
[root@xiao ~]# rpm -ivh /mnt/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm 

安装扩展工具库:

1.安装libmcrypt

[root@xiao ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/libmcrypt-2.5.8/
[root@xiao libmcrypt-2.5.8]# ./configure 
[root@xiao libmcrypt-2.5.8]# make 
[root@xiao libmcrypt-2.5.8]# make install
[root@xiao libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

2.安装mhash

[root@xiao ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/mhash-0.9.9.9/
[root@xiao mhash-0.9.9.9]# ./configure 
[root@xiao mhash-0.9.9.9]# make 
[root@xiao mhash-0.9.9.9]# make install
[root@xiao mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/

3.安装mcrypt

[root@xiao ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/mcrypt-2.6.8/
[root@xiao mcrypt-2.6.8]# ./configure 

##解决报错问题##
[root@xiao mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib

[root@xiao mcrypt-2.6.8]# make 
[root@xiao mcrypt-2.6.8]# make install

3.2 编译安装PHP:

解包:

[root@xiao ~]# tar zxf php-5.5.38.tar.gz -C /usr/src
[root@xiao ~]# cd /usr/src/php-5.5.38/

配置:

在定制PIHP的配置选项时,最关键的是要指定httpd、mysqld的安装路径.以便添加相关支持设置.使LAMP各组件协同工作。除此之外,还可以指定安装路径,启用多字节支持、加密扩展支持等。

./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

 编译及安装:

[root@xiao php-5.5.38]# make 
[root@xiao php-5.5.38]# make install

四、设置LAMP组件环境 :

php.ini 的建立及基本设置
安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,但在源码目录下提供了两个
样例配置文件,分别对应于开发环境,生产环境。
 

 通过修改php . ini 文件中的配置内容.可以控制PHP网页的执行特性,如是否允许用户上传文件.设置上传文件的大小限制、设置默认使用的字符集.加载额外的扩展模块等。如果没有特别要求.可以直接沿用默认配置,不做任何修改。

[root@xiao php-5.5.38]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@xiao php-5.5.38]# vi /usr/local/php5/php.ini 

default_charset = "utf-8"
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
short_open_tag = On
extension=php_mysqli.dll

 添加ZendGuardLoader 优化模块
为了进一步提高PHP程序的执行效率.优化页面加载速度,可以为PHP添加Zend 公司开发的ZendGuardLoader 优化模块。若需要加密PHP代码以限制未经授权的分发,还可以购买该公司的ZendGuard软件。
ZendGuardLoader 优化模块适用于PHP 5.3到 PHP5.6系列版本.该模块可以从Zend公司的官方站点http ; / / www .zend .com 下载。若使用PHP5.2系列版本.应改用较早的ZendOptimizer。为PHP安装及添加ZendGuardLoader模块支持的过程如下所述。

[root@xiao ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@xiao zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php

 修改php . ini配置文件.添加加载及启用ZendGuardLoader , so 模块的配置语句。

[root@xiao ~]# vi /usr/local/php5/php.ini 

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

httpd.conf配置调整:
要使httpd 服务器支持PIHP页面解析功能,需通过LoadlVodule配置项加载PHP程序的模块文件.并通过AddType配置项添加对“.php”类型网页文件的支持。除此之外,还应修改DirectoryIndex配置行.添加index.php配置项,以识别常见的PIP首页文件。由于前面章节做虚拟Web站点,开启了Include conf /extra/httpd---vhosts , conf配置项.所以本章中需要将其注释掉。

[root@xiao ~]# vi /usr/local/httpd/conf/httpd.conf

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
AddType application/x-httpd-php .php

#Include conf/extra/httpd-vhosts.conf     ##注释这条信息##

[root@xiao ~]# /usr/local/httpd/bin/apachectl restart  ##重启服务以更新配置##

五、测试LAMP协同工作: 

 编写一个“.ph”格式的测试网页文件,使用PHP内建的“phpinfo( )”函数显示服务器的 PHP环境信息,PHP代码应包括在“<pphp …?>”标记之间。将测试网页文件放置到网站根目录下.如/usr / local/httpd/htdocs/test1 . php.

[root@xiao ~]# vi /usr/local/httpd/htdocs/testl.php

<?php
phpinfo();
?>

 结果查看:

测试PHP网页能否访问MySQL数据库
编写一个测试网页文件test2.php,添加简单的数据库操作命令,用于验证与MySQL服务器的连接、查询等操作。其中,"mysqli_comnect()”函数用于连接MySQL数据库,需要指定目标主机地址.以及授权访问的用户名、密码。

[root@xiao htdocs]# vi /usr/local/httpd/htdocs/test2.php

<?php
$link=mysqli_connect('localhost','root','');
if ($link) echo "鸡你太美!!数据库连接成功!";
mysqli_close($link);
?>

 

六、部署phpmyadmin系统 

 6.1 解包开复制到网站目求
对于大部分PHP应用系统,只需要解包后复制到网站目录下即可完成部署,之后再根据需要调整配置,或者访问安装页面以完成进一步的安装。例如,若要将phpMyAdmin套件部署到网站根目录下,以便通过站点http: / / www , bdqn , com/ phpMyAdmin进行访问,可以参考以下内容。

[root@xiao ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz 
[root@xiao ~]# mv phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyAdmin

 2.建立配置文件config.inc.php
将phpMyAdnin 套件复制到网站目录以后,还需要创建配置文件方可正常使用。默认提供的样例配置文件为config . sample , inc . php,需参照该文件内容建立configi . inc .php配置文件。查找配置文件中的blowfish_secret行,默认已经设置了--个短语密钥〈此密钥用于网页cookie认证,不需要用户记忆),可以根据需要自行修改。

[root@xiao ~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@xiao phpMyAdmin]# cp config.sample.inc.php config.inc.ph

 结果展示:

 

 

 

 

 

 

 

 

 




 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1314117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

持续集成交付CICD:Jenkins使用基于SaltStack的CD流水线部署前后端应用

目录 一、实验 1.Jenkins使用基于SaltStack的CD流水线部署后端应用 2.Jenkins使用基于SaltStack的CD流水线部署前端应用 一、实验 1.Jenkins使用基于SaltStack的CD流水线部署后端应用 &#xff08;1&#xff09;GitLab添加Token (2)Jenkins添加凭据 &#xff08;3&#xf…

数据分析的基本步骤

了解过数据分析的概念之后&#xff0c;我们再来说下数据分析的常规步骤。 明确目标 首先我们要确定一个目标&#xff0c;即我们要从数据中得到什么。比如我们要看某个指标A随时间的变化趋势&#xff0c;以期进行简单的预测。 数据收集 当确定了目标之后&#xff0c;就有了取…

RT-DETR 图片目标计数 | 特定目标进行计数

全类别计数特定类别计数如何使用 RT-DETR 进行对象计数 有很多同学留言说想学 RT-DETR 目标计数。那么今天这篇博客,我将教大家如何使用 RT-DETR 进行对象计数。RT-DETR 是一种非常强大的对象检测模型,它可以识别图像中的各种对象。我们将学习如何利用这个模型对特定对象进行…

四十六、Redis哨兵

目录 一、哨兵的作用及原理 1、哨兵的结构和作用如下&#xff1a; 2、服务状态监控 3、选举新的master 4、小结 二、RedisTemplate的哨兵模式 一、哨兵的作用及原理 Redis提供了哨兵&#xff08;Sentinel&#xff09;机制来实现主从集群的自动故障恢复。 1、哨兵的结构和作…

11.jvm第三方工具使用实践

目录 概述GCEasy官网jvm内存占用情况关键性能指标堆内存与元空间优化 MAT安装MAT相关概念说明内存泄漏与内存溢出shallow heap及retained heapoutgoing references与incoming referencesDominator Tree GCViewerArthas下载安装与启动jdk8jdk 11jdk11自定义boot jarjdk17 常用命…

FIFO的Verilog设计(三)——最小深度计算

文章目录 前言一、FIFO的最小深度写速度快于读速度写速度等于或慢于读速度 二、 举例说明1. FIFO写时钟为100MHz&#xff0c;读时钟为80Mhz情况一&#xff1a;一共需要传输2000个数据&#xff0c;求FIFO的最小深度情况二&#xff1a;100个时钟写入80个数据&#xff0c;1个时钟读…

怎样下载微博视频而不至于发生“403 Forbidden“现象?

近段时间不知道从什么时候开始&#xff0c;微博视频都不让从网页下载了。以前是看到有想要下载的微博视频&#xff0c;就点进去微博详情页用谷歌浏览器F12进入调试的方式&#xff0c;选“Network”->“Media”->重新F5刷新页面等待调试框里出现链接->在链接上鼠标右键…

Nginx(四层+七层代理)+Tomcat实现负载均衡、动静分离

一、Tomcat多实例部署 具体步骤请看我之前的博客 写文章-CSDN创作中心https://mp.csdn.net/mp_blog/creation/editor/134956765?spm1001.2014.3001.9457 1.1 访问测试多实例的部署 1.2 分别在三个tomcat服务上部署jsp的动态页面 mkdir /usr/local/tomcat/webapps/test vim …

vue中实现PDF文件流预览

代码示例 <template><div class"print"><div v-if"!viewShow" class"opt-box"><div style"height: 700px; overflow: auto;"><el-table :data"tableData" border><el-table-column prop…

如何拍摄超级大像素图片,超级大像素有哪些应用

引言&#xff1a; 在数字摄影领域&#xff0c;超级大像素照片是指通过高像素的相机或拼接多张照片合成的照片。这样的照片具有更高的分辨率&#xff0c;细节更加清晰&#xff0c;绘画质感更强。那么如何拍摄超级大像素照片&#xff0c;超级大像素可以用在哪些领域呢。 一&…

C++使用回调函数的两种方式

一.函数指针 #include <iostream>typedef void (*callback)(int ,int); class MyTest { public:void setCallback(callback cb){m_callback = cb;}void add(int a, int b){m_callback(a, b);}private:callback m_callback; };void onCallback(int a, int b) {std::cout …

设计模式-策略(Strategy)模式

又被称为政策&#xff08;方针&#xff09;模式策略模式(Strategy Design Pattern)&#xff1a;封装可以互换的行为&#xff0c;并使用委托来决定要使用哪一个策略模式是一种行为设计模式&#xff0c;它能让你定义一系列算法&#xff0c;并将每种算法分别放入独立的类中&#x…

【导航栏内容的设置 Objective-C语言】

一、那接下来呢,我们就来做一做,关于导航控制器, 1.设置它顶部的导航栏儿内容的东西, 1)我们刚刚讲过的这个,通过代码去跳转、返回、 2)通过storyboard去跳转、返回、 但是,这两种情况,大家是不是已经注意到,导航栏里面,没有任何内容, 然后呢,返回,这是红色,…

centos下:mysql一些指令+mysql首次修改密码+mysql忘记密码修改

操作 查看mysql运行状态 systemctl status mysqld 停止mysql systemctl stop mysqld 启动mysql systemctl start mysqld 重启mysql systemctl restart mysqld 开启mysql开机自启动 systemctl enable mysqld 关闭mysql开机自启动 systemctl disable mysqld 查看具体的报错日…

动态内存管理,malloc和calloc以及realloc函数用法

目录 一.malloc函数的介绍 malloc的用法 举个例子 注意点 浅谈数据结构里的动态分配空间 二.calloc函数的介绍 三.realloc函数的介绍 四.柔性数组的介绍 为什么有些时候动态内存函数头文件是malloc.h,有些时候却是stdlib.h 一.malloc函数的介绍 malloc其实就是动态开辟…

innerHTML、innerText、textContent有什么区别

innerHTML、innerText、textContent有什么区别 在 HTML 中&#xff0c;innerHTML、innerText、 和textContent是 DOM&#xff08;文档对象模型&#xff09;的属性。它们允许我们读取和更新 HTML 元素的内容。 但它们在包含的内容以及处理 HTML 标签的方式有不同的行为。 读完…

安恒明御安全网关 aaa_local_web_preview文件上传漏洞复现

0x01 产品简介 明御安全网关秉持安全可视、简单有效的理念,以资产为视角,构建全流程防御的下一代安全防护体系,并融合传统防火墙、入侵检测、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。 0x02 漏洞概述 明御安全网关在…

jmeter,断言:响应断言、Json断言

一、响应断言 接口A请求正常返回值如下&#xff1a; {"status": 10013, "message": "user sign timeout"} 在该接口下创建【响应断言】元件&#xff0c;配置如下&#xff1a; 若断言成功&#xff0c;则查看结果树的接口显示绿色&#xff0c;若…

Spring Boot启动慢如何分析

如果发现项目启动慢&#xff0c;你知道怎么分析慢的原因吗&#xff1f; 分析方法 自定义监听器 SpringApplicationRunListener是Spring Boot中的一个接口&#xff0c;它的作用是在SpringApplication运行的各个阶段提供回调接口&#xff0c;以便我们可以在这些阶段执行自定义…

PPT插件-好用的插件-放映笔、绘图板-大珩助手

放映笔 幻灯片放映时&#xff0c;工具在幻灯片的左下方&#xff0c;本工具在幻灯片的右侧&#xff0c;可以移动&#xff0c;可以方便在右侧讲课时候使用 绘图板 可在绘图板上写签名、绘制图画、写字等等&#xff0c;点画笔切换橡皮擦&#xff0c;点插入绘图&#xff0c;将背景…