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

一、认识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.hqwc.cn/news/276981.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

L1-044:稳赢

题目描述 大家应该都会玩“锤子剪刀布”的游戏&#xff1a;两人同时给出手势&#xff0c;胜负规则如图所示&#xff1a; 现要求你编写一个稳赢不输的程序&#xff0c;根据对方的出招&#xff0c;给出对应的赢招。但是&#xff01;为了不让对方输得太惨&#xff0c;你需要每隔K次…

基于ssm的“游侠”旅游信息管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本“游侠”旅游信息管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的…

深度学习 Day14——P3天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 文章目录 前言1 我的环境2 代码实现与执行结果2.1 前期准备2.1.1 引入库2.1.2 设置GPU&#xff08;如果设备上支持GPU就使用GPU,否则使用C…

JMeter逻辑控制器

JMeter逻辑控制器 一、IF控制器1、作用2、步骤 二、循环控制器1、作用2、步骤3、线程组和循环控制器的区别&#xff1f; 三、ForEach控制器1、作用2、步骤 一、IF控制器 1、作用 **控制下面的测试元素是否执行**2、步骤 添加线程组用户定义的变量添加if控制器&#xff0c;判断…

Makefile基础使用与原理

一、基本概念 通常我们编写好代码后&#xff0c;都需要编译&#xff0c;只是这些操作是由IDE来完成&#xff0c;我们只需要点击一个编译按钮。当项目工程越来越庞大&#xff0c;存在几十个甚至更多的文件的时候&#xff0c;你使用的不是IDE工具&#xff0c;而是命令行&#xf…

同时获取el-select的label和value

ui如下&#xff1a; 需求如下&#xff1a; 在点击确认的时候&#xff0c;将id和name都传给一个接口&#xff0c;但是ui只用展示name&#xff0c;name用v-model绑定给input框&#xff0c;但是id不知道怎么传给后端。 解决方法如下&#xff1a; vue中elementUi的el-select同时…

HarmonyOS从简单页面开始

常用基础组件 1 组件介绍 组件&#xff08;Component&#xff09;是界面搭建与显示的最小单位&#xff0c;HarmonyOS ArkUI声明式开发范式为开发者提供了丰富多样的UI组件&#xff0c;我们可以使用这些组件轻松的编写出更加丰富、漂亮的界面。 组件根据功能可以分为以下五大…

C++导出C标准的dll动态库

1 新建项目 1.1 使用VS新建一个空项目 1.2 在属性页中将配置类型改为&#xff1a;动态库(dll) 2 添加头文件 添加文件Api.h&#xff0c;示例代码如下 #pragma once#define DLLEXPORT __declspec(dllexport)extern "C" {DLLEXPORT int getAdd(int a, int b); //求…

Python封装ADB获取Android设备wifi地址的方法

一、代码实现 import subprocessimport re import subprocessfrom common.logger import loggerdef get_device_wifi_address(udid):ip_command fadb -s {udid} shell ip routeresult subprocess.check_output(ip_command, shellTrue, textTrue)# 提取 IP 地址ip_address r…

『番外篇二』Swift “黑魔法”之动态获取类实例隐藏属性的值

概览 在 Swift 代码的调试中,我们时常惊叹调试器的无所不能:对于大部分“黑盒”类实例的内容,调试器也都能探查的一清二楚。 想要自己在运行时也能轻松找到 Thread 实例“私有”属性的值吗(比如 seqNum)? 在本篇博文中您将学到如下内容: 概览1. 借我,借我,一双慧眼吧…

qemu 虚拟机

文章目录 一、参考资料二、QEMU调试参数三、QEMU 命令 一、参考资料 # 查询 qemu 包 apt list | grep qemu# 查询已安装的 qemu 包 apt list --installed | grep qemu # 查询 qemu 版本 qemu-img -V # 安装 sudo apt-get install qemu-system-arm qemu-system-mips qemu-syste…

ubuntu下搜索文件的几种方法

一、whereis命令&#xff1a; whereis命令只能用于程序名的搜索&#xff0c;而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数&#xff0c;则返回所有信息。 whereis的命令格式&#xff1a; whereis [-bmsu] [BMS 目录名 -f ] 文…