Skip to content
KARINKARIN
博客主页
项目总览
知识要点
捣鼓折腾
Git笔记
Excel修炼秘籍
github icon
  • 博客主页
    • 项目总览
          • linux高级文件系统管理
            • linux系统启动管理
              • linux系统服务管理
                • linux系统进程管理
                  • linux系统工作管理
                    • linux系统日志管理
                      • LAMP和LNMP环境搭建
                        • LAMP 环境搭建
                          • 安装前的准备
                            • 安装过程
                            • LNMP 环境搭建
                              • 安装前的准备
                                • 安装过程
                              • linux数据备份与恢复
                                • SELinux管理

                              LAMP和LNMP环境搭建

                              author iconkarincalendar icon2021年6月1日category icon
                              • 笔记
                              tag icon
                              • linux
                              timer icon大约 49 分钟

                              此页内容
                              • LAMP 环境搭建
                                • 安装前的准备
                                • 安装过程
                              • LNMP 环境搭建
                                • 安装前的准备
                                • 安装过程

                              LAMP 环境搭建指的是在 Linux 操作系统中分别安装 Apache 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。

                              LAMP 环境是当前极为流行的搭建动态网站的开源软件系统,拥有良好的稳定性及兼容性。而且随着开源软件的蓬勃发展,越来越多的企业和个人选择在 LAMP 开发平台上搭建自己的网站。

                              LNMP 环境搭建指的是在 Linux 操作系统中分别安装 Nginx 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。

                              在 LNMP 环境中,使用 Nginx 网页服务器取代了 Apache 网页服务器。Nginx 是一款高性能的 HTTP 网页服务器和反向代理服务器,它的执行效率极高,配置相比 Apache 也较为简单,所以在短时间内被国内外很多大型公司所采用,大有取代 Apache 的势头(目前还是以 Apache 为主流的)。

                              占比

                              www.netcraft.comopen in new window 网站的统计数据表明,采用 LAMP 环境搭建的网站数量占全球网站总数的 52.19%(2013 年 7 月数据),而其余的网站平台(如 Microsoft IIS 开发平台、Linux Nginx 开发平台、Google 开发平台等)占用了剩余的份额。

                              # LAMP 环境搭建

                              我们知道,如果我们安装的是应用服务软件,这个软件是给外网用户访问和使用的,那么应该使用源码包安装,因为源码包安装的软件经过了本机编译,性能更好。所以我们的 LAMP 环境搭建,在生产服务器上一般采用源码包进行安装,而不会使用 RPM 包进行安装,接下来我们要讲的也是采用源码包方式搭建 LAMP 环境。

                              LAMP 环境搭建是较为复杂的 Linux 实验,在进行真正的环境安装之前,需要做一些细致的准备工作,以避免在安装过程中出现不必要的错误。我们需要进行的准备工作有以下几步。

                              # 安装前的准备

                              # 获取源码包

                              我们已经知道 RPM 包是在 CentOS 的安装光盘中保存的,但是源码包需要去互联网下载。我们此次完成 LAMP 环境搭建需要 19 个软件包,这是目前较为完善和常用的 LAMP 环境搭建方式。这些软件包的下载地址如表7-1 所示。这些下载地址只是参考,如果有失效的,则请自行搜索。

                              表7-1 LAMP 环境搭建所需的软件包

                              软件包说 明下载地址
                              httpd-2.4.7.tar.gzApache 包http://www.apache.org/
                              mysql-5.5.23.tar.gzMySQL 数据库http://dev.mysql.com/downloads/
                              php-5.4.25.tar.gzPHP 语言http://www.php.net/downloads.php
                              phpMyAdmin-4.1.4-all-languages.iar.gzWeb方式的 MySQL 管理工具http://www.phpmyadmin.com/
                              libxml2_2.9.1.tar.gz用来解析 XML文档的函数库http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html
                              libmerypt-2.5.8.tar.gz加密算法扩展库http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?use_mirror=peterhost
                              mhash-0.9.9.9.tar.gz加密算法扩展库http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/
                              mcrypt-2-6.8-tar.gz加密算法扩展库http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/
                              zlib-1.2.3.tar.gz数据压缩函数库http://www.zlib.net/
                              gd-2.0.35.tar.gzPHP 处理用形的扩展库https://bitbucket.org/libgd/gd-libgd/downloads
                              freetype-2.3.5-tar-gz字体引擎库http://download.savannah.gnu.org/releases/freetype/
                              libpng-1.2.31.tar.gz用于解码 .png 格式的图片ftp://ftp.simplesystems.org/pub/libpng/png/src/
                              jpegsrc.v6b.tar.gz用于解码.jpg和.jpeg格式的图片http://www.ijg.org/files/jpegsrc.v6b.tar.gz
                              apr-1.4.6.tar.gzApache支持镆块http://archive.apache.org/dist/apr/
                              apr-util-1.4.1.tar.gzApache支持模块http://archive.apache.org/dist/apr/
                              pcre-8.34.tar.gzApache支持模块,使 Apache支持 pcre 正则表达式规则http://sourceforge.net/projects/pcre/files/pcre/8.34/pcre-8.34.tar.gz/stats/map
                              ncurses-5.9.tar.gz使应用程序直接控制终端屏幕显示的函数库http://ftp.gnu.org/pub/gnu/ncurses/
                              memcache-3.0.8.tgzmemcache 函数库(客户端)http://pecl.php.net/package/memcache
                              memcached-1.4.17.tar.gzmemcached 服务器端http://memcached.org/

                              大家可能已经发现,我们下载的软件包不全是最新的版本,这主要是为了和 php-5.4.25.tar.gz 这个软件包进行匹配。当然,php-5.4.25.tar.gz 也已经不是最新版本的 PHP 了,不过在计算机领域永远不是最新版本的软件就是最好的,新软件虽然有了更多的功能,但是这个软件并没有经过实际工作的检验,它不一定稳定,也有可能会有 Bug;反而版本较低的、但是经过足够的实践检验的软件会更受开发者的欢迎。

                              Linux 就是这样的,CentOS 6.x 自 2011 年发布以来,经过多年的补充和完善,目前才逐渐得到个人使用者和企业使用者的认可。PHP 同样如此,目前 php-5.4.25.tar.gz 依然是使用最多的 PHP 版本,所以我们依然使用 php-5.4.25.tar.gz 来介绍 LAMP 环境的搭建。

                              # 把软件包传送到 Linux 服务器上

                              我们可以直接把软件包下载到 Linux 服务器上,也可以先下载到本地 Windows 中,再上传到 Linux 服务器中。如果是先下载到本地 Windows 中,再上传到 Linux 服务器中,那么需要利用网络文件服务器来进行数据的传输。但是我们现在还没有学习 Linux 中的文件服务器(如 FTP、Samba 或 NFS),所以我们在这里介绍一款名为 WinSCP 的软件。

                              WinSCP 是在 Windows 中安装,使用 SFTP 协议向 Linux 服务器传递文件的工具。它的特点是使用简单、图形化操作,而且数据传递过程是加密的,较为安全,是 Windows 和 Linux 之间进行数据传递的常用软件。WinSCP 第一次启动的界面如图7-1 所示。

                              scp

                              图7-1 WinSCP 启动界面

                              在启动界面的“主机名”文本框中输入 Linux 服务器的 IP 地址,如 192.168.0.210,在“用户名”文本框中输入 Linux 的用户名,在“密码”文本框中输入正确的密码,单击“登录”按钮,就会见到如图7-2 所示的界面。

                              scp1

                              图7-2 WinSCP传输界面

                              在这个工具中,左半部分是 Windows 系统中的文件,右半部分是 Linux 服务器上的文件。如果需要从 Windows 向 Linux 传递什么文件,则只需找到这个文件或目录,从左半部分拖拽到右半部分即可;反过来就是从 Linux 传递文件到 Windows 中,非常简单。

                              那么,我们应该把软件放置在 Linux 服务器的什么位置呢?Linux 中的 /usr/local/src/ 目录是系统默认的放置下载软件源代码的位置,所以我们就把搭建 LAMP 环境所需的所有软件包都传递到这个位置,传递完成后查看一下,如下:

                              [root@localhost ~]# ls /usr/local/src/
                              apr-1.4.6.tar.gz jpegsrc.v6b.tar.gz memcache-3.0.8.tgz
                              pcre-8.34.tar.gz apr-util-1.4.1.tar.gz libmcrypt-2.5.8.tar.gz
                              memcached-1.4.17.tar.gz php-5.4.25.tar.gz freetype-2.3.5.tar.gz
                              libpng-1.2.31.tar.gz mhash-0.9.9.9.tar.gz phpMyAdmin-4.1.4-all-languages.tar.gz
                              gd-2.0.35.tar.gz libxml2-2.9.1.tar.gz mysql-5.5.23.tar.gz
                              zlib-1.2.3.tar.gz httpd-2.4.7.tar.gz mcrypt-2.6.8.tar.gz ncurses-5.9.tar.gz
                              [root@localhost ~]# ls /usr/local/src/ | wc -l
                              19
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9

                              我们发现,19 个软件包全部传递到 Linux 服务器中。

                              # 安装编译工具

                              源码包都是用 C 或 C++ 语言编写的,而且需要在本机编译之后才能正确安装。在 Linux 中,C 语言的编译器是 gcc,C++ 语言的编译器是 gcc-c++。

                              在安装源码包之前,需要确认这两个编译器是否存在。命令如下:

                              [root@localhost ~]# rpm -qa | grep gcc
                              libgcc-4.4.6-4.el6.i686
                              gcc-4.4.6-4.el6.i686
                              
                              1
                              2
                              3

                              可以看到,我们已经安装了 gcc 编译器,但是还没有安装 gcc-c++ 编译器。使用 yum 安装 gcc-c++ 编译器,命令如下:

                              [root@localhost ~]# yum -y install gcc-c++
                              
                              1

                              如果 Linux 服务器可以正常连接互联网,那么这条 yum 命令是可以直接使用的,不用进行任何配置与修改。只是 yum 会去连接 CentOS 的官方服务器,这台服务器在国外,速度可能较慢。如果 Linux 服务器不能正常连接互联网,则也可以使用本地光盘作为 yum 源。

                              安装完成后再查询一下,如下:

                              [root@localhost ~]# rpm -qa | grep gcc
                              gcc-4.4.7-3.el6.i686
                              libgcc-4.4.7-3.el6.i686
                              gcc-c++-4.4.7-3.el6.i686
                              
                              1
                              2
                              3
                              4

                              gcc 和 gcc-c++ 编译器都已经安装了。大家可能发现这次查询的 gcc 是 4.4.7 版本,而上次查询的 gcc 是 4.4.6 版本,那是因为我们使用网络 yum 源去 CentOS 的官方服务器上安装 gcc-c++,但是在安装 gcc-c++ 的时候,是需要 gcc 已经安装完成的。在 CentOS 的官方服务器上,gcc 和 gcc-c++ 的版本更高,所以在安装 gcc-c++ 的时候,自动更新了 gcc 的版本。不管怎么说,编译工具已经安装完成,我们可以进行下一步的准备工作了。

                              # 关闭 RPM 包安装的 apache 和 mysql

                              我们在生产服务器上是不会既安装 RPM 包的 apache,又安装源码包的 apache 的。但是为了教学需要,有时需要安装这两种包的 apache。我们现在需要停用 RPM包安装的 apache 和 mysql,命令如下:

                              [root@localhost ~]# service httpd stop
                              [root@localhost ~]# service mysqld stop
                              #停止apache和mysql服务
                              [root@localhost ~]# chkconfig httpd off
                              [root@localhost ~]# chkconfig mysqld off
                              #关闭apache和mysql的自启动
                              
                              1
                              2
                              3
                              4
                              5
                              6

                              # 关闭防火墙和 SELinux

                              在生产服务器上,防火墙是不能直接关闭的,而是需要设置防火墙允许 80 端口(apache)、3306 端口(mysql)和 11211(memcache)端口访问的。但是目前我们还没有学习防火墙,所以只能暂时关闭它了。关闭命令如下:

                              [root@localhost ~]# setup
                              
                              1

                              在图7-3 所示的界面中选择“防火墙配置”,进入防火墙配置界面。

                              setup

                              图7-3 setup界面

                              在图7-4 所示的界面中,把“启用”前面的“*”去掉,选择“确定”保存,默认防火墙规则就会被关闭。

                              fhq

                              图7-4 关闭防火墙

                              再查询一下防火墙规则:

                              [root@localhost ~]# iptables -L
                              Chain INPUT (policy ACCEPT)
                              target prot opt source destination
                              Chain FORWARD (policy ACCEPT)
                              target prot opt source destination
                              Chain OUTPUT (policy ACCEPT)
                              target prot opt source destination
                              #默认filter表中的三条链中的规则都是空。防火墙已经被关闭了
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8

                              除关闭防火墙之外,我们还需要关闭 SELinux 安全子系统。因为这个子系统会对我们的安装过程产生影响,所以先关闭它。关闭命令如下:

                              [root@localhost ~]# vi /etc/selinux/config
                              #把 SELINUX=enforcing改为 SELINUX=disabled
                              [root@localhost ~]# shutdown -r now
                              #重启Linux系统
                              
                              1
                              2
                              3
                              4

                              关闭 SELinux 之后,必须重启 Linux 系统,修改才会生效。

                              # 关闭不必要的服务

                              接下来需要关闭我们不需要的服务,这既是服务器的必须优化步骤,也会使我们在 LAMP 环境搭建过程中的报错可能性大大降低,所以建议大家进行这一步服务优化。具体方法就是使用 ntsysv 命令把不需要的服务前面的“*”去掉,然后重启 Linux 服务器。具体哪些服务是必须启动的,哪些服务是不必要的,大家可以参考《Linux常见服务类别及功能》open in new window。

                              # 批量解压源码包

                              我们需要安装 17 个源码包,如果一个一个地解压缩实在太麻烦了,那么我们写一个小的 Shell 脚本,批量进行解压缩。命令如下:

                              [root@localhost ~]# vi tar.sh
                              #建立解压缩脚本
                              #! /bin/bash
                              #标称是 Shell脚本
                              cd /usr/local/src/
                              #进入保存源妈包的目录
                              ls *.tar.gz > /usr/local/src/ls.log
                              #把所有以.tar.gz结尾的文件名覆盖写入ls.log文件
                              ls *.tgz >> /usr/local/src/ls.log
                              #把所有以.tgz结尾的文件名追加写入ls.log文件
                              file=$(cat /usr/local/src/ls.log)
                              #读取 ls.log 文件中的内容,赋子变量file
                              for i in $file
                              #for循环,每次德环把变量file中的一个文件名
                              	do
                              	tar -zxf $i
                              	#解压缩毎个压缩文件
                              	done
                              rm -rf /usr/local/src/ls.log
                              #删除临时文件ls.log
                              #以上是脚本的内容
                              [rootBlocalhost ~]# chmod 755 tar.sh
                              #赋予tar.sh文件执行权限
                              [root@localhost ~]# ./tar.sh
                              #执行这个脚本
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              25

                              这样,所有的压缩包就已经完成了解压缩过程。

                              # 检查硬盘的剩余空间

                              LAMP 环境搭建大概需要 3GB 的空闲空间,所以确认一下硬盘的剩余空间,命令如下:

                              [root@localhost src]# df -h
                              文件系统	容量	已用	可用	已用%%	挂载点
                              /dev/sda3	20G		2.5G	16G		14%		/
                              tmpfs		306M	0		306M	0%		/dev/shm
                              /dev/sda1	194M	26M		158M	15%		/boot
                              
                              1
                              2
                              3
                              4
                              5

                              /分区还有 16GB 的可用空间,足够使用了。

                              # 安装过程

                              # 1.安装 libxml2 源码包

                              libxml2 是一个用来解析 XML 文档的函数库。它用 C 语言写成,并且能被多种语言所调用,如 C、C++、XSH、C#、Python、Kylix、Delphi、Ruby、PHP 等。它最初是为 GNOME 开发的项目,但是现在可以用在各种各样的项目中。

                              libxml2 的代码可移植性非常好,因为它基于标准的 ANSI C 库,并采用了 MIT 许可证。安装步骤如下。

                              1. 安装python-devel

                              这个软件包是 libxml2 的依赖包,如果不安装,libxml2 安装就会报错。这个软件包只是一个底层依赖包,所以安装 RPM 包即可。命令如下:

                              [root@localhost ~]# yum -y install python-devel 
                              
                              1
                              1. 进入解压缩之后的源码目录

                              这一步不能省略,因为 ./configure、make 和 make install 操作的都是当前所在目录,所以一定要进入解压缩之后的源码目录。命令如下:

                              [root@localhost ~]# cd /usr/local/src/libxml2-2.9.1
                              
                              1
                              1. 编译前的准备和配置

                              这一步主要检查安装需要的系统环境、配置软件需要的功能选项,并生成配置安装文件 Makefile,以后的编译与编译安装过程需要依赖 Makefile 文件。命令如下:

                              [root@localhost libxml2-2.9.1]# ./configure --prefix=/usr/local/libxml2/
                              # “--prefix=/usr/local/libxml2/”用于指定安装位置
                              
                              1
                              2

                              有些人可能会有疑问:这个软件的安装位置和安装目录名称是可以随意指定的吗?我们一般会将源码包安装到 /usr/local/ 目录中,这个目录是 Linux 的默认源码包安装目录,并不推荐大家随意更改。至于安装目录名称,如果只是单独安装这个软件,则目录名称可以随意指定,不一定非要叫“libxml2”。但是我们在搭建 LAMP 环境时,这个软件会被后面的软件所调用,如果修改了安装目录名称,那么后面一系列的安装命令都要进行修改,非常容易报错,所以不建议大家随意修改。

                              1. 编译

                              也就是依靠 gcc 把源码包翻译为二进制的机器语言包。命令如下:

                              [root@localhost libxml2-2.9.1]# make
                              
                              1

                              以上的编译前配置和编译都不会在 /usr/local/ 目录中写入任何数据,只会在源码目录中生成 Makefile 等临时文件。所以,如果报错了,则只需执行 make clean 命令清除缓存和临时文件,再进行安装即可。

                              1. 编译安装

                              这一步才会真正向 /usr/local/ 目录中写入数据。命令如下:

                              [root@localhost libxml2-2.9.1]# make install
                              
                              1

                              这条命令执行之后,就会建立 /usr/local/libxml2/ 目录,并在目录下生成相应的文件。

                              # 2.安装 libmcrypt 源码包

                              libmcrypt 是加密算法扩展库。支持 DES、3DES、RIJNDAEL、Twofish、IDEA、GOST、CAST-256、ARCFOUR、SERPENT、SAFER+ 等算法。安装步骤如下。

                              1. 进入解压缩目录
                              [root@localhost libxml2-2.9.1]# cd /usr/local/src/libmcrypt-2.5.8
                              
                              1
                              1. 编译前配置,并指定安装位置
                              [root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
                              
                              1
                              1. 编译
                              [root@localhost libmcrypt-2.5.8]# make
                              
                              1
                              1. 编译安装
                              [root@localhost libmcrypt-2.5.8]# make install
                              
                              1
                              1. 安装 libltdl 库

                              在安装完 libmcrypt 之后,有些 Linux 还需要安装 libltdl 库,这个库是 libmcrypt 的子软件,就在 libmcrypt 的源码包之中,所以要进入 /usr/local/libmcrypt 目录才能看到。命令如下:

                              [root@localhost root]# cd /usr/local/src/libmcrypt-2.5.8/libltdl
                              #进入软件源码目录
                              [root@localhost libltdl]# ./configure --enable-ltdl-install
                              #配置libltdl库的安装
                              [root@localhost libltdl]# make
                              #编译
                              [root@localhost libltdl]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8

                              安装完成之后,记得确认安装目录是否生成。

                              # 3.安装 mhash 源码包

                              mhash 是基于离散数学原理的不可逆向的 PHP 加密方式扩展库。mhash 可以用于创建校验数值,消息摘要,消息认证码,以及无须原文的关键信息保存(如密码)等。

                              安装步骤如下:

                              [root@localhost ~]# cd /usr/local/src/mhash-0.9.9.9
                              #进入解压缩目录
                              [root@localhost mhash-0.9.9.9]# ./configure
                              #没有指定安装位置。因为在mcrypt包安装时,会在默认位置查找mhash包,如果指定了安装位置,那么mcrypt包在安装时会报错
                              [root@localhost mhash-0.9.9.9]# make
                              #编译
                              [root@localhost mhash-0.9.9.9]# make install >> /root/mhash_install.log
                              #编译安装。把安装过程保存在mhash_install.log文件中,便于删除
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8

                              # 4.安装 mcrypt 源码包

                              mcrypt 是 PHP 里面重要的加密支持扩展库。mcrypt 库支持 20 多种加密算法和 8 种加密模式。mcrypt 要比 libmcrypt 更加先进,在很多项目中必须使用 mcrypt 加密方式。请大家注意,在安装 mcrypt 之前,必须先正确安装 libmcrypt 和 mhash。

                              安装步骤如下:

                              [root@localhost mhash-0.9.9.9]# cd /usr/local/src/mcrypt-2.6.8
                              #进入源码目录
                              [root@localhost mcrypt-2.6.8]# LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
                              #LD_LIBRARY_PATH用于指定libmcrypt和mhash库的位置
                              #./configure为编译前准备命令,--with-libmcrypt-prefix用于指定libmcrypt软件位置
                              [root@localhost mcrypt-2.6.8]# make
                              #编译
                              [root@localhost mcrypt-2.6.8]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9

                              请大家注意,在这里 mcrypt 并没有安装完成。因为 mcrypt 是 PHP 的模块,所以需要等到 PHP 安装完成之后,再继续安装。

                              PHP 模块安装成功后,才能按照以下步骤继续安装 mcrypt。

                              提示

                              这里要先暂停一下,等 14.安装 PHP 源码包 安装完成后再继续安装。

                              # 1)编译安装
                              
                              [root@localhost memcache-3.0.8]# cd /lamp/php-5.4.25/ext/mcrypt/
                              #进入PDO模块的解压缩目录
                              [root@localhost mcrypt]# /usr/local/php/bin/phpize
                              #使用phpize加载PDO模块
                              [root@localhost mcrypt]# ./configure \ #编译前配置
                              --with-php-config=/usr/local/php/bin/php-config \#指定php-config文件的位置
                              --with-mcrypt=/usr/local/libmcrypt/ #调用libmcrypt
                              [root@localhost mcrypt]# make
                              #编译
                              [root@localhost mcrypt]# make install
                              #编译安装
                              
                              # 2) 修改PHP配置文件
                              
                              要让 PHP 可以识别和使用 memcache 和 mcrypt 模块,还需要修改一下 PHP 的配置文件,命令如下:
                              
                              [root@localhost mcrypt]# vi /usr/local/php/etc/php.ini
                              #修改PHP配置文件
                              extension_dir = "./"
                              #在这个文件中找到这句话,把它改为以下这句话
                              extension_dir="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/"
                              #新加入以下两句话
                              extension="memcache.so";
                              extension="mcrypt.so";
                              
                              安装完成之后,重启 apache,就可以在 phpinfo 页面中看到这两个模块了。
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              25
                              26
                              27
                              28

                              # 5.安装 zlib 源码包

                              zlib 是提供数据压缩用的函数库。使用 DEFLATE 算法,最初是为 libpng 函数库所写的,后来普遍被许多软件所使用。此函数库为自由软件,使用 zlib 授权。

                              安装步骤如下:

                              [root@localhost ~]# cd /usr/local/src/zlib-1.2.3
                              #进入zlib解压缩目录
                              [root@localhost zlib-1.2.3]# ./configure
                              #编译前配置,没有指定安装位置,zlib会安装到系统的默认位置。
                              #这是为了让libpng可以在默认位置中找到zlib。如果指定了zlib的安装位置,那么libpng在安装时可能会报错
                              [root@localhost zlib-1.2.3]# make
                              #编译
                              [root@localhost zlib-1.2.3]# make install >> /root/zlib_install.log
                              #编译安装。把编译安装过程保存到zlib_install.log文件中,以方便删除
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9

                              # 6.安装 libpng 源码包

                              libpng 软件中包含 libpng 函数库。这些库是用来解码 .png 格式的图片的。安装步骤如下:

                              [root@localhost zlib-1.2.3]# cd /usr/local/src/libpng-1.2.31
                              #进入libpng解压缩目录
                              [root@localhost libpng-1.2.31]# ./configure --prefix=/usr/local/libpng
                              #编译前配置,指定安装位置
                              [root@localhost libpng-1.2.31]# make
                              #编译
                              [root@localhost libpng-1.2.31]# makeinstall
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8

                              # 7.安装 jpeg6 源码包

                              jpeg6 软件是用来解码 .jpg 和 .jpeg 格式的图片的。安装步骤如下。

                              1. 手工建立必需的目录
                              [root@localhost root]# mkdir /usr/local/jpeg6
                              #建立jpeg6软件安装目录
                              [root@localhost root]# mkdir /usr/local/jpeg6/bin
                              #建立存放命令的目录
                              [root@localhost root]# mkdir /usr/local/jpeg6/lib
                              #创建jpeg6函数库文件所在目录
                              [root@localhost root]# mkdir /usr/local/jpeg6/include
                              #建立存放头文件的目录
                              [root@localhost root]# mkdir -p /usr/local/jpeg6/man/man1
                              #建立存放帮助手册的目录
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10

                              请大家注意,这些目录必须手工建立,否则安装过程会报错

                              1. 编译与安装
                              [root@localhost libpng-1.2.31]# cd /usr/local/src/jpeg-6b/
                              #进入jpeg6解压缩目录
                              [root@localhost jpeg-6b]# ./configure \
                              --prefix=/usr/local/jpeg6/ \		#指定安装位置
                              --enable-shared \					#建立共享库使用的GNU的libtool
                              enable---static						#建立静态库使用的GNU的libtool
                              #编译前配置。
                              #“\”代表一条命令没有写完,换行继续输入
                              [root@localhost jpeg-6b]# make
                              #编译
                              [root@localhost jpeg-6b]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12

                              # 8.安装 FreeType 源码包

                              FreeType 库是一个完全免费(开源)的、高质量的、可移植的字体引擎。它提供统一的接口来访问多种字体格式文件,包括 TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF 等,支持单色位图、反走样位图的渲染。

                              FreeType 库是高度模块化的程序库,虽然它是使用 ANSI C 开发的,但是采用面向对象的思想,因此,FreeType 的用户可以灵活地对它进行裁剪。

                              FreeType 安装步骤如下:

                              [root@localhost jpeg-6b]# cd /usr/local/src/freetype-2.3.5
                              #进入freetype解压缩目录
                              [root@localhost freetype-2.3.5]# ./configure --prefix=/usr/local/freetype
                              #编译前配置,指定安装位置
                              [root@localhost freetype-2.3.5]# make
                              #编译
                              [root@localhost freetype-2.3.5]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8

                              # 9.安装 gd 库源码包

                              gd 库是 PHP 处理图形的扩展库。它提供了一系列用来处理图片的 API(应用程序编程接口),使用 gd 库可以处理图片或者生成图片。在网站上,gd 库通常用来生成缩略图,或者对图片加水印,或者生成汉字验证码,或者对网站数据生成报表等。

                              gd 库安装步骤如下。

                              1. 建立 gd 库安装目录,进入 gd 库解压缩目录
                              [root@localhost autoconf-2.61]# cd /usr/local/src/gd-2.0.35
                              
                              1
                              1. 修改 gd_png.c 文件
                              [root@localhost gd-2.0.35]# vi gd_png.c
                              #把文件中 include "png.h" 改为 include "/usr/local/libpng/include/png.h"
                              
                              1
                              2

                              如果不修改 gd_png.c 文件,则默认会在当前目录下搜索 png.h 文件。我们已知 libpng 安装在 /usr/local/libpng/ 目录中,所以当然不能找到,就会报错。把 png.h 的正确路径 /usr/local/libpng/include/png.h 写入,报错就能解决。

                              1. 编译安装
                              [root@localhost gd-2.0.35]# ./configure \
                              --prefix=/usr/local/gd2/ \ 				#指定安装位置
                              --with-jpeg=/usr/local/jpeg6/ \ 		#指定jpeg6的位置
                              --with-freetype=/usr/local/freetype/ \	#指定freetype的位置
                              --with-png=/usr/local/libpng/			#指定libpng的位置
                              #编译前配置
                              #因为gd库需要调用前面安装的zlib、jpeg、freetype和libpng,所以需要指定它们的安装位置,才能正确调用这些软件。
                              #不过因为前面安装zlib时没有指定安装位置,所以不用指定--with-zlib=/usr/local/zlib/选项,gd会自动到默认安装位置中寻找zlib
                              #“\”代表一条命令没有写完,换行继续输入
                              [root@localhost gd-2.0.35]# make
                              #编译
                              [root@localhost gd-2.0.35]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13

                              # 10.安装 apache 源码包

                              Apache 其实是一个软件基金会组织的名字,早期他们开发的 Web Server 软件非常流行,当时的名称就叫做 Apache,不过后来改名字叫做 httpd 了,所以,现在大家常说的 Apache ,通常指的就是 httpd。

                              另外,Apache 就是 LAMP 环境中的“A”。前面做了这么多准备工作,就是为了正确安装 Apache+MySQL+PHP,现在可以安装 Apache 了。安装步骤如下。

                              1. 复制 apr 和 apr-util 库

                              这里是 Apache 2.4 自己的 Bug,我们必须手工复制 apr、apr-util 和 pcre 这三个库,才可以正确安装 Apache 2.4。

                              cp -r /usr/local/src/apr-1.4.6 /usr/local/src/httpd-2.4.7/srclib/apr
                              cp -r /usr/local/src/apr-util-1.4.1 /usr/local/src/httpd-2.4.7/srclib/apr-util
                              #这两个包先要解压缩,然后改名复制到指定位置
                              
                              1
                              2
                              3
                              1. 安装 pcre 源码包

                              pcre 是一个用 C 语言编写的正则表达式函数库,Apache 和 PHP 默认使用的就是 pcre 正则表达式规则。

                              [root@localhost gd-2.0.35]# cd /usr/local/src/pcre-8.34
                              #进入解压缩目录
                              [root@localhost pcre-8.34]# ./configure
                              #编译前配置
                              [root@localhost pcre-8.34]# make
                              #编译
                              [root@localhost pcre-8.34]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              1. 进入 Apache 解压缩目录
                              [root@localhost pcre-8.34]# cd /usr/local/src/httpd-2.4.7
                              
                              1
                              1. 编译前配置
                              [root@localhost httpd-2.4.7]# ./configure \	#编译前配置
                              --prefix=/usr/local/apache2/ \				#指定Apache安装目录
                              --sysconfdir=/usr/local/apache2/etc/ \		#指定Apache配置文件保存目录
                              --with-included-apr \						#使用捆绑APR/APR-Util 的副本
                              --enable-so \								#以动态共享对象(DSO)方式编译
                              --enable-deflate=shared \					#启用编小传输编玛支持的模块
                              --enable-expires=shared \					#根据用户的特别设定来生成失效和隐藏控制的HTTP头信息
                              --enable-rewrite-shared						#启动重写功能的模块
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8

                              这里的 Apache 是使用动态方式编译的,那么是否有静态方式编译呢?当然有,静态方式编译就是直接将 Apache 的模块放入 Apache 中,如果 Apache 需要调用这个模块,则直接调用即可。这种方法安装的 Apache 性能更好、速度更快,但是如果需要加载新的模块,则是需要重新编译和安装 Apache 的。

                              如果采用动态的方式编译,则并没有直接把模块放入 Apache,而是把模块的所在位置放入了 Apache。如果 Apache 需要调用模块,则需要到指定位置自己查找,性能比静态方式稍差。但是如果需要加载新的模块,则不用重新安装 Apache,可以动态地加载新模块。更常用的编译方式是动态方式编译,所以在安装过程中我们采用动态方式编译。

                              1. 编译和编译安装
                              [root@localhost httpd-2.4.7]# make
                              [root@localhost httpd-2.4.7]# make install
                              
                              1
                              2
                              1. 启动 Apache,并进行测试
                              [root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl start
                              #启动Apache
                              [root@localhost httpd-2.4.7]# netstat -tlun | grep 80
                              tcp 0 0::80 ::* LISTEN
                              #80端口已经启动,说明Apache已经启动了
                              
                              1
                              2
                              3
                              4
                              5

                              接下来我们需要使用浏览器测试一下 Apache 服务器是否可以访问,只需在 URL(统一资源定位,就是地址栏)中输入“http://IP”即可,如图7-5 所示。

                              apache

                              图7-5 Apache测试页

                              如果看到了“It works!”,则说明 Apache 服务器正常工作了。

                              1. 设置 Apache 开机自启动

                              我们需要保证 Apache 每次开机都能正常启动,所以还要设置自启动,命令如下:

                              [root@localhost httpd-2.4.7]# vi /etc/rc.local
                              /usr/local/apache2/bin/apachectl start
                              #在rc.local文件中加入Apache启动命令
                              
                              1
                              2
                              3

                              # 11.安装 ncurses 源码包

                              ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标、建立窗口、改变前景/背景颜色及处理鼠标操作的函数,使用户在字符终端编写应用程序时绕过了那些恼人的底层机制。简而言之,它是一个可以使应用程序直接控制终端屏幕显示的函数库。

                              这个软件既可以采用 RPM 包方式安装,也可以采用源码包方式安装。但是不用两种包都安装,只要安装一种即可。

                              1. 方法一:安装 RPM 的 ncurses 包

                              这里既可以使用手工 RPM 包命令安装,也可以使用 yum 命令安装,我们使用 RPM 包命令安装。安装命令如下:

                              [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ncurses-5.7-3.20090208.el6.i686.rpm
                              [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm
                              [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ncurses-libs-5.7-3.20090208.el6.i686.rpm
                              [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ncurses-base-5.7-3.20090208.el6.i686.rpm
                              [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ncurses-term-5.7-3.20090208.el6.i686.rpm
                              [root@localhost ~]# rpm-ivh/mnt/cdrom/Packages/ncurses-static-5.7-3.20090208.el6.i686.rpm
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              1. 方法二:安装 ncurses 的源码包

                              安装步骤如下:

                              [root@localhost ~]# cd /usr/locai/src/ncurses-5.9
                              #进入ncurses解压缩目录
                              [root@localhost ncurses-5.9] # ./configure \	#编译前配置
                              --with-shared \									#生成共享库
                              --without-debug \								#不生成 debug 库
                              --without-ada \									#不编译为ada绑定,因为进入chroot环境不能便用ada
                              --enable-overwrite								#参数为定义把头文件安装到/tools/include目录下,而不是/tools/include/ncurses 目录下
                              [root@localhost ncurses-5.9]# make
                              #编译
                              [root@localhost ncurses-5.9)# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11

                              # 12.安装 cmake 和 bison 源码包

                              MySQL 在 5.5 版本以后,不再使用 ./configure 工具进行编译安装,而使用 cmake 工具替代了 ./configure 工具。

                              bison 是一个自由软件,用于自动生成语法分析器程序,可用于所有常见的操作系统。

                              [root@localhost ~]# yum -y install cmake
                              [root@localhost ~]# yum -y install bison
                              
                              1
                              2

                              # 13.安装 MySQL 源码包

                              接下来,我们学习安装 MySQL 数据库,其安装步骤稍微复杂,我们逐步来进行解析。

                              1. 添加 mysql 用户和 mysql 用户组

                              命令如下:

                              [root@localhost ~]# groupadd mysql
                              #添加mysql用户组
                              [root@localhost ~]# useradd -g mysql mysql
                              #添加mysql用户,同时指定mysql用户的初始组是mysql组
                              
                              1
                              2
                              3
                              4

                              这里添加的 mysql 用户和用户组是稍后用来给 MySQL 安装目录分配权限用的,所以并不需要设定密码,因为这个用户是不能直接登录 Linux 系统的。

                              1. 进入 MySQL 解压缩目录
                              [root@localhost ~]# cd /usr/local/src/mysql-5.5.23
                              
                              1
                              1. 编译前配置
                              [root@localhost mysql-5.5.23]# cmake \		#命令
                              -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \	#指定安装位置
                              -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \			#指定[socket](http://c.biancheng.net/socket/)(套接字)文件位置
                              -DEXTRA_CHARSETS=all \						#支持所有的扩展字符集
                              -DDEFAULT_CHARSET=utf8 \					#指定默认字符集
                              -DDEFAULT_COLLATION=utf8_general_ci \		#指定默认字符校对
                              -DWITH_MYISAM_STORAGE_ENGINE=1 \			#安装myisam存储引擎
                              -DWITH_INNOBASE_STORAGE_ENGINE=1 \			#安装innodb存储引擎
                              -DWITH_MEMORY_STORAGE_ENGINE=1 \			#安装memory存储引擎
                              -DWITH_READLINE=1 \							#支持readline库
                              -DENABLED_LOCAL_INFILE=1 \					#启用加载本地数据
                              -DMYSQL_USER=mysql \						#指定MySQL运行用户
                              -DMYSQL_TCP_PORT=3306						#指定MySQL端口
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              1. 编译
                              [root@localhost mysql-5.5.23]# make
                              
                              1

                              使用 cmake 进行编译。如果编译过程中出现了报错,则不再使用 make clean 命令清除缓存及临时文件,而是直接删除 rm-rf CMakeCache.txt 文件。

                              1. 编译安装
                              [root@localhost mysql-5.5.23]# make install
                              
                              1
                              1. 生成 MySQL 的配置文件,并修改配置文件

                              这个配置文件不用手工建立,在 MySQL 安装目录中给我们准备了模板文件,只需把模板文件复制到指定位置并改名即可。命令如下:

                              [root@localhost mysql-5.5.23]# cp/usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
                              
                              1
                              1. 修改 MySQL 安装目录的权限
                              [root@localhost mysql-5.5.23]# cd /usr/local/mysql/
                              #进入MySQL安装目录
                              [root@localhost mysql]# chown -R mysql .
                              #把当前目录下所有文件的所有者改为root用户
                              [root@localhost mysql]# chgrp -R mysql .
                              #把当前目录下所有文件的所属组改为mysql组
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              1. 初始化数据库

                              源码包安装的 MySQL 中所有的数据库默认都保存在 /usr/local/mysql/data/ 目录中,MySQL 的初始数据库 mysql 库和 test 库也会保存在这个目录中。

                              但是,如果我们仔细查看 /usr/local/mysql/data/ 目录,就会发现这个目录中只有两个空目录,并没有任何数据。也就是说,MySQL 中的所有数据库是不存在的,那么这个 MySQL 是不能使用的,因为 MySQL 的所有用户是要保存在 user 表中的,而 user 表保存在 mysql 库中,而 mysql 库是保存在 /usr/local/mysql/data/ 目录中的。

                              那么,我们现在需要在 data 目录中建立 MySQL 的初始数据库。命令如下:

                              [root@localhost mysql]# /usr/local/mysql/bin/mysql_install_db --user=mysql
                              #初始化数据库
                              
                              1
                              2

                              这条命令的 --user 选项表示使用 mysql 用户来初始化数据库,这个用户要和我们在步骤一中建立的用户一致。命令执行完成之后,/usr/local/mysal/data/ 目录中应该会出现很多相应的数据,证明数据库初始化成功。

                              1. 继续修改 MySQL 安装目录的权限
                              [root@localhost mysql]# chown -R root .
                              #把当前目录下所有文件的所有者改为root用户
                              #注意:修改的目录依然是/usr/local/mysql/目录下的文件
                              [root@localhost mysql]# chown -R mysql data
                              #把data目录的所有者改为mysql用户
                              
                              1
                              2
                              3
                              4
                              5
                              1. 启动 MySQL 服务器,并保证 mysql 服务开机自启动

                              MySQL 服务器的安装已经完成,我们可以尝试启动 MySQL 服务器,命令如下:

                              [root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
                              #使用mysql用户启动MySQL服务器,并在后台持续运行
                              [root@localhost mysql]# netstat -tlun | grep 3306
                              tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
                              #3306端口已经开启了
                              
                              1
                              2
                              3
                              4
                              5

                              当然,我们还要保证 mysql 服务开机自启动,命令如下:

                              [root@localhost mysql]# vi /etc/rc.local
                              #修改自启动配置文件,加入如下的mysql服务标准启动命令
                              /usr/local/mysql/bin/mysqld_safe --user=mysql &
                              
                              1
                              2
                              3
                              1. 设定 MySQL 中 root 用户的密码,并登录

                              MySQL 的管理员也是 root,不过这只是数据库的管理员,不要和 Linux 的 root 用户混淆了。我们需要给 MySQL 的本地用户设定一个密码。设定密码的方式有很多种,我们使用 Linux 的命令 mysqladmin 设定 MySQL 的 root 用户的密码。命令如下:

                              [root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -u root password 123
                              #给MySQL的root用户设定密码为123
                              [root@localhost mysql]# /usr/local/mysql/bin/mysql -u root -p
                              #使用root用户登录mysql
                              Enter password:				#输入正确的密码
                              Welcome to the MySQL monitor. Commands end with ; or \g.
                              Your MySQL connection id is 2
                              Server version:5.1.59-community-log Source distribution
                              Copyright (c) 2000, 2011, Oracle and/or its affiliates.All rights reserved.
                              Oracle is a registered trademark of Oracle Corporation and/or its
                              affiliates.Other names may be trademarks of their respective owners.
                              Type 'help;' or '\h' for help.Type '\c' to clear the current input statement.
                              
                              mysql>
                              #看到了MySQL的交互界面
                              mysql> \s					#查询服务器状态信息
                              ...省略部分输出...
                              Server	characterset: utf8
                              Db		characterset: utf8
                              Client	characterset: utf8
                              Conn.	characterset: utf8
                              #编码格式已经修改为UTF-8
                              ...省略部分输出...
                              mysql> exit
                              #退出MySQL
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              25

                              # 14.安装 PHP 源码包

                              关于 PHP 的版本,目前大多数企业都会使用 5.4 及更高版本,甚至越来越多的企业使用 PHP 7 版本,要知道,这两个版本还是有很大差异的,PHP 7 有很大的性能提升。

                              虽然“新事物取代旧事物”是必然趋势,但就目前来说,PHP 7 版本还是太新了,很多企业的网站不一定兼容。因此,这里安装的 PHP 版本为 5.4。接下来,就一起来学习如何在 Linux 系统中安装 PHP 源码包,具体步骤如下。

                              1. 安装 libtool 和 libtool-ltdl
                              [root@localhost mysql]# yum -y install "libtool*"
                              [root@localhost mysql]# yum -y install "libtool-ltdl*"
                              
                              1
                              2
                              1. 手工修改 gd 库文件

                              PHP 5.4 也有一些 Bug,在检测 gd 库时会报错,需要我们手工修改。命令如下:

                              [root@localhost mysql]# vi /usr/local/gd2/include/gd_io.h
                              #修改gd_io.h头文件
                              typedef struct gdIOCtx
                              {
                              	...
                              	void (*data);
                              	#在此程序段中加入此句
                              }
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              1. 编译安装 PHP 源码包

                              命令如下:

                              [root@localhost mysql]# cd /usr/local/src/ php-5.4.25
                              [root@localhost php-5.4.25]# ./configure \			#编译前配置
                              --prefix=/usr/local/php/ \							#指定安装位置
                              --with-config-file-path=/usr/local/php/etc/ \		#指定PHP配置文件位置
                              --with-apxs2=/usr/local/apache2/bin/apxs \			#调用apache2
                              --with-mysql=/usr/local/mysql/ \					#调用mysql
                              --with-libxml-dir=/usr/local/libxml2/ \				#调用libxml2库
                              --with-jpeg-dir=/usr/local/jpeg6/ \					#调用jpeg库
                              --with-png-dir=/usr/local/libpng/ \					#调用libpng库
                              --with-freetype-dir=/usr/local/freetype/ \			#调用freetype库
                              --with-gd=/usr/local/gd2/ \							#调用gd库
                              --with-mcrypt=/usr/local/libmcrypt/ \				#调用libmcrypt库
                              --with-mysqli=/usr/local/mysql/bin/mysql_config \	#增加MysqlLi功能
                              --enable-soap \										#支持SOAP和Web Services
                              --enable-mbstring=all \								#支持多字节字符串
                              --enable-sockets									#支持socket(套接字)通信
                              --with-pdo-mysql=/usr/local/mysql					#启用mysql的pdo模块支持
                              [root@localhost php-5.4.25]# make
                              #编译
                              [root@localhost php-5.4.25]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              1. 建立PHP配置文件

                              和 MySQL 一样,这个配置文件不用手工建立,也是有模板文件的,我们只需复制即可。命令如下:

                              [root@localhost php-5.4.25]# cp /usr/local/src/ php-5.4.25/php.ini-production
                              /usr/local/php/etc/php.ini
                              
                              1
                              2
                              1. 让 apache 可以识别“.php”扩展名

                              在安装 PHP 时,在 ./configure 命令中使用 --with-apxs2=/usr/local/apache2/bin/apxs 选项,已经把 PHP 作为模块被 apache 识别了。不过,apache 并不知道哪些扩展名的文件要调用 PHP 模块来解析(如果是 apache 不认识的扩展名,那么客户端在访问时,apache 不会尝试解析,而是提示客户端下载),所以我们需要修改 apache 的配置文件,让 apache 可以认识 PHP 脚本的扩展名。

                              比如,我们想让 apache 在遇到“.php”和“.phps”扩展名时,调用 PHP 模块来解析这些文件的内容,那么我们只需要执行如下命令:

                              [root@localhost php-5.4.25]# vi /usr/local/apache2/etc/httpd.conf
                              #修改apache配置文件,加入如下内容
                              AddType application/x-httpd-php.php.phps
                              #这句话的意思是:如果遇到.php和.phps扩展名,则调用PHP模块来解析这个文件的内容
                              
                              1
                              2
                              3
                              4

                              这句话加载在 apache 配置文件中的任何位置都是可以的,不过系统中有类似的语句 AddType application/x-gzip.gz.tgz,那么我们一般将其加载到这句话后面。命令如下:

                              [root@localhost php-5.4.25]# vi /usr/local/apache2/etc/httpd.conf
                              ...省略部分输出...
                              # If the AddEncoding directives above are commented-out, then you probably should define those extensions to indicate media types:
                              #
                              	AddType application/x-compress .Z
                              	AddType application/x-gzip .gz .tgz
                              	AddType application/x-httpd-php .php .phps
                                  #加载到此位置
                              ...省略部分输出...
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9

                              至于 PHP 文件的扩展名,可以自由定义。

                              1. 重启Apache服务器

                              我们修改了 apache 的配置文件,如果想让这个修改生效,那么必须重启 Apache 服务器。重启命令如下:

                              [root@localhost php-5.4.25]# /usr/local/apache2/bin/apachectl stop
                              [root@localhost php-5.4.25]# /usr/local/apache2/bin/apachectl start
                              
                              1
                              2

                              这里最好不要使用 restart 参数,因为对于源码包的 apache 启动命令,restart 参数有时会不起作用。

                              1. 测试 PHP 环境是否正常

                              对源码包安装的 apache 来讲,网页的默认保存位置是 /usr/local/apache2/htdocs/ 目录。为了测试 PHP 环境是否正常,我们需要在这个目录中建立一个 PHP 文件,看看这个文件是否可以正常显示。命令如下:

                              [root@localhost php-5.4.25]# vi /usr/local/apache2/htdocs/index.php
                              <?php
                              	phpinfo();
                              ?>
                              
                              1
                              2
                              3
                              4

                              这里我们使用了 phpinfo() 函数,这个函数的主要作用是显示 PHP 的相关信息,这些信息包括 PHP 的编译信息、PHP 的版本、服务器信息和环境、PHP 的环境、操作系统信息、路径、主要的配置选项、HTTP 头信息和 PHP 的许可等。我们一般使用这个函数来测试 PHP 是否安装成功,接下来在浏览器中输入“http://服务器IP/index.php”来执行该文件,如图7-6 所示。

                              php

                              图7-6 phpinfo测试页

                              如果能看到图6,那么恭喜你,PHP 安装成功。

                              提示

                              PHP 安装完成了,但是别忘了上面 4.安装 mcrypt 源码包 部分还没有结束,回去继续安装后半部分。

                              # 15.安装 memcache 模块

                              memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存中维护一张统一的、巨大的 Hash 表,它能够用来存储各种格式的数据,包括图像、视频、文件及数据库检索的结果等。简单地说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

                              大家需要注意,memcache 有两个软件:

                              • memcache-3.0.8 是 memcache 模块,也就是客户端;

                              • memcached-1.4.17 是 memcache 服务器端。

                              1. memcache客户端安装
                              [root@localhost src]# yum -y install zlib-devel
                              #安装底层依赖包zlib-devel
                              [root@localhost src]# cd /usr/local/src/memcache-3.0.8
                              #进入memcache-3.0.8解压缩目录
                              [root@localhost memcache-3.0.8]# /usr/local/php/bin/phpize
                              #用phpize加载memcache模块。这条命令一定要进入memcache目录才能正确执行
                              [root@localhost memcache-3.0.8]# ./configure --with-php-config=/usr/local/php/bin/php-config
                              #编译前配置。指定php-config文件的位置
                              [root@localhost memcache-3.0.8]# make
                              #编译
                              [root@localhost memcache-3.0.8]# make install
                              #编译安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              1. memcache服务器端安装

                              接下来该安装 memcached-1.4.17 这个服务器端程序了,命令如下:

                              [root@localhost memcached-1.4.17]# yum -y install libevent-devel
                              #安装memcache,需要先安装libevent-devel包,yum安装它
                              #注意libevent-devel包在CentOS 6.x的第二张光盘中
                              [root@localhost memcached-1.4.17]# ./configure --prefix=/usr/local/memcache
                              #编译前配置
                              [root@localhost memcached-1.4.17]# make
                              #编译
                              [root@localhost memcached-1.4.17]# make install
                              #编译安装
                              [root@localhost memcached-1.4.17]# useradd memcache
                              #添加memcache用户,这个用户只是用来启动服务的,不用设置密码
                              [root@localhost memcached-1.4.17]# /usr/local/memcache/bin/memcached-u memcache &
                              #在后台启动memcache服务器
                              [root@localhost memcached-1.4.17]# netstat -tlun | grep 11211
                              tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN
                              tcp 0 0::11211 ::* LISTEN
                              udp 0 0 0.0.0.0:11211 0.0.0.0:*
                              udp 0 0::11211 ::*
                              #memcache的端口是11211,已经启动了
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19

                              还要保证 memcache 开机自启动,命令如下:

                              [root@localhost memcached-1.4.17]# vi /etc/rc.local
                              #修改自启动文件
                              touch /var/lock/subsys/local
                              /usr/local/apache2/bin/apachectl start
                              /usr/local/mysql/bin/mysqld_safe --user=mysql &
                              /usr/local/memcache/bin/memcached -u memcache &
                              #加入memcache启动命令
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7

                              最终,LAMP 环境需要自启动的服务是 apache、mysql 和 memcache。

                              # 16.安装 phpMyAdmin

                              安装 phpMyAdmin,它是用 PHP 脚本写的 MySQL 数据库的管理软件,是使用 Web 图形模式直接管理 MySQL 数据库的工具。phpMyAdmin 可以用来创建、修改、删除数据库和数据表;可以用来创建、修改、删除数据记录;可以用来导入和导出整个数据库;还可以完成许多其他的 MySQL 系统管理任务。

                              对于不熟悉使用命令来进行数据库管理的管理者来说,phpMyAdmin 更加简单和方便。其实大家可以把 phpMyAdmin 当作使用 PHP 脚本写的一个项目,我们安装 phpMyAdmin 的方法可以套用到绝大多数 PHP 开源项目的安装上(其他 PHP 的开源项目在安装到 LAMP 环境中时,可能需要手工建立后台数据库结构和数据库表结构)。安装步骤如下。

                              1. 复制 phpMyAdmin 脚本文件
                              [root@localhost ~]# cp -r /usr/local/src/phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmin
                              #改名复制phpMyAdmin到apache的默认网页目录中
                              [root@localhost ~]# cd /usr/local/apache2/htdocs/phpmyadmin/
                              #进入phpmyadmin目录
                              [root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php
                              #复制配置模板文件为真正的配置文件
                              
                              1
                              2
                              3
                              4
                              5
                              6

                              phpMyAdmin 和前面章节中介绍安装的源码包都不太一样,不再是使用 C 语言编写的源码包程序,而是一个使用 PHP 脚本编写的、通过浏览器解释执行的网站项目。所以在安装时,只需把 phpMyAdmin 复制到 apache 的默认网页目录中,并通过浏览器来解释执行这个脚本即可。

                              1. 修改 phpMyAdmin 的验证方式

                              phpMyAdmin 默认识别 3 种验证方式:

                              • HTTP 身份验证:调用apache的加密目录模块,在用户登录时,弹出登录窗口,需要输入正确的用户名和密码才能正常登录;

                              • cookie 身份验证:是HTTP身份验证模式的补充,不能使用 HTTP 身份验证模式的场合都可以使用它,它要求用户必须允许来自 phpMyAdmin 的 cookie 进入自己的计算机,即用户需要在浏览器中开启客户端的 cookie 功能;

                              • config 身份验证:客户端在登录时不再需要输入用户名和密码,就可以直接登录,因为用户名和密码是用明文方式写入 config.inc.php 配置文件的,所以这种验证方式并不安全,不推荐使用;

                              1)HTTP身份验证配置

                              要想使用 HTTP 身份验证,只需要修改 PHP 的配置文件 config.inc.php,把验证方式改为“http”即可。命令如下:

                              [root@localhost phpmyadmin]# vi config.inc.php
                              把   $cfg['Servers'][$i]['auth_type'] = 'cookie';
                              改为 $cfg['Servers'][$i]['auth_type'] = 'http';
                              
                              1
                              2
                              3

                              保存退出后,就可以在浏览器中输入“http://192.168.0.210/phpmyadmin/index.php”进行访问了,如图7-7 所示。

                              http

                              图7-7 phpMyAdmin 的 HTTP 身份验证

                              在登录对话框中输入 MySQL 的管理员“root”和我们刚刚安装 MySQL 时设定的密码“123”就能登录 phpMyAdmin了。

                              2)cookie身份验证

                              如果想让 phpMyAdmin 使用 cookie 身份验证模式,除必须修改 config.inc.php 文件里的 auth_type 语句外,还必须向 blowfish_secret 参数提供一个字符串。这个字符串可以是任意的,目的是在把登录时使用的用户名和密码存储在客户端的 cookie 中之前,系统将使用这个字符串对它们进行加密。

                              在 config.inc.php 中修改的内容如下:

                              [root@localhost phpmyadmin]# vi config.inc.php
                              $cfg['blowfish_secret'] = 'c.baincheng.net'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!*/
                              #这里可以写任意字符串
                              #在PHP中,/* */代表注释一段话
                              $cfg['Servers'][$i]['auth_type'] = 'cookie';
                              #把验证方式改为cookie
                              
                              1
                              2
                              3
                              4
                              5
                              6

                              保存退出后,就可以使用浏览器访问了,访问方式和 HTTP 身份验证是一样的,如图7-8 所示。同样,在登录对话框中输入 MySQL 的用户名和密码即可登录。

                              img

                              图7-8 phpMyAdmin的cookie身份验证

                              至此,LAMP 环境搭建完成。这个实验正确完成的关键点在于细心,不要漏敲命令,不要敲错命令。而且源码包的编译时间也较长,比如 mysql 的编译安装时间大概需要 30 分钟,所以还要有足够的耐心。这个实验也是我们目前碰到的较为复杂的实验,所以在完成实验之后,会有巨大的满足感和成就感。当然。在出现报错时也不要沮丧,认真检查自己的安装过程,仔细排除错误,实验是一定可以成功的(多利用 history 命令)。

                              # LNMP 环境搭建

                              目前 Nginx 服务器较为流行,很多公司都采用了效率更高、配置更加简单、支持的并发连接数量更多的 Nginx 服务器作为网页服务器。虽然目前 Apache 服务器还是主流网页服务器,但是 Nginx 服务器的优势已经逐渐显现出来。那么,和 Apache 服务器相比,Nginx 服务器到底有哪些优势呢?

                              1. 支持更多的并发连接数量

                              官方测试的 Nginx 可以支持多达 5 万个并发连接数量,在实际的生产环境中可以轻松地支持 2 万~-4 万个并发连接数量,这远远多于 Apache 支持的并发连接数量。而且 Nginx 虽然支持的并发连接数量更多,但是占用的系统资源要比 Apache 小得多。

                              1. 内存资源消耗更少

                              经过实际测试,Nginx 服务器在支持 3 万个左右并发连接的情况下,服务器的总体内存消耗不超过 2GB,而且还可以通过减少 php-cgi 进程数量,进一步缩减 Nginx 占用的内存数量(当然会影响一部分性能)。

                              1. Nginx 可以方便地实现反向代理

                              Nginx 服务器自带反向代理功能,可以非常方便和简单地实现反向代理配置,这样可以节省购买昂贵的硬件负载均衡交互机的费用,非常经济(当然性能不如硬件负载均衡交换机)。

                              1. Nginx 配置简单

                              Nginx 的配置较为简单,配置文件要远小于 Apache 配置文件,而且语法简单,易于学习和掌握。

                              1. 其他优势

                              Nginx 服务器还支持 Rewrite 功能,更加节省带宽,稳定性更高。

                              # 安装前的准备

                              如果我们手工安装 LNMP 环境,那么同样需要安装大概 14 个源码包(根据版本和功能不同而不同)。不过,现在网上非常流行的 LNMP 环境的搭建过程是采用 LNMP 一键安装包直接安装。这个一键安装包实际上就是一个事先写好的安装脚本,按照这个安装脚本,只要指定一些基本的选项,就可以完全自动安装,所以安装过程会大大简化。

                              下面,我们就使用一键安装包来搭建 LNMP 环境。不过在安装之前还是要做一些准备工作的。

                              # 是否可以和LAMP环境共存

                              在 Linux 中其实是可以搭建 LNMPA 环境的,也就是在 Linux 中安装 Nginx、MySQL、PHP 和 Apache 这样的网站服务器架构,这是结合了 LAMP 环境和 LNMP 环境各自的优点而产生的新的网站服务器架构。

                              不过,我们今天只是搭建 LNMP 架构,建议不要在 LAMP 环境中覆盖安装 LNMP 环境,而应该使用一个完全干净的环境重新搭建 LNMP 环境,避免出现不必要的麻烦。我的服务器因为使用的是虚拟机,所以我直接恢复了初始安装的快照,一切从头来过。

                              # 下载 LNMP 一键安装包

                              既然是一键安装包,所以我们就不用去下载单个的源码包了,只要下载 LNMP 一键安装包即可。

                              http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz

                              # 其他准备工作

                              我们还需要做以下一些准备工作:

                              • 保证 yum 源可以使用。
                              • 上传 LNMP 一键安装包到 Linux 服务器。
                              • 安装 gcc 编译工具。如果没有安装 gcc 编译工具,那么 LNMP 一键安装包会尝试自动 yum 安装,但是要保证 yum 源是可用的。
                              • 停用 RPM 包安装的 apache 和 MySQL。
                              • 禁用防火墙和 SELinux。
                              • 关闭 Linux 中不必要的服务。

                              这些准备工作基本和 LAMP 环境一致,在此不再一一列举。

                              # 安装过程

                              利用下载好的 LNMP 一键安装包在 Linux 系统上安装 LNMP 环境。

                              # 1.解压缩一键安装包

                              我们把 LNMP 一键安装包保存在 /usr/local/src/ 目录下,第一步仍然是解压缩一键安装包。命令如下:

                              [root@localhost ~]# cd /usr/local/src/
                              [root@localhost src]# tar -zxvf lnmp1.0-full.tar.gz
                              
                              1
                              2

                              # 2.执行安装脚本安装 LNMP 一键安装包

                              既然是脚本安装包,那就不需要我们一个一个手工安装了,只要执行安装脚本 centos.sh 即可自动安装(Debian 中执行脚本为 debian.sh,Ubuntu 中执行脚本为 ubuntu.sh)。命令如下:

                              [root@localhost src]# cd lnmp1.0-full
                              [root@localhost lnmp1.0-full]# ./centos.sh
                              
                              1
                              2

                              回车之后安装就会继续,会看到如下界面:

                              ==========================================================
                              LUMP V1.0 for CentOS/RadHat Linux VPS Written by Licess
                              ==========================================================
                              A tool to auto-compile & install Nginx+MySQL+PHP on Linux
                              For more information please visit http://www.lnmp.org/
                              ==========================================================
                              Please input the root password of mysql:
                              (Default password: root) : 123 							<---设定MySQL 的密码,这里设为 123
                              ==========================================================
                              Do you want to install the InnoDB Storage Engine?
                              (Default no,if you want please input: y , if not please press the enter button):y
                              														<---是否需要安装MySQL InnoDB,如果需要安装则输入y
                              
                              Install PHP 5.3.17,Please input y
                              Install PHP 5.2.17,Please input n or press Enter
                              (Please input y or n) :y								<---选择安装PHP的版本,输入y安装的是5.3.17
                              Install MySQL 5.5.27,Please input y
                              Install MySQL 5.1.60,Please input n or press Enter
                              (Please input y or n) :y								<---选择安装MySQL的版本,输入y安装的是5.5.27
                              
                              Press any key to start. . .or Press Ctrl+c to cancel	<---按任意鍵开始安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21

                              如果在安装过程中输入错误,则可以按 Ctrl+Backspace 组合键来进行删除。这个安装过程完全是依赖 centos.sh 脚本自动执行的,所以比 LAMP 的手工安装过程简单得多,我们只要指定一些基本的选项,就可以完成安装了。

                              具体的安装时间要视 Linux 服务器的性能而定,可能会等待几十分钟。如果大家有兴趣,则可以查看一下 centos.sh 这个安装脚本,看看它是如何实现自动安装的。如果看到以下界面,则证明安装成功。

                              =========================================================
                              Manager for LNMP VI.0 , Written by Licess
                              =========================================================
                              LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux
                              This script is a tool to Manage status of lnmp
                              For more information please visit http://www.lnmp.org
                              Usage: /root/lnmp {start|stop|reload|restart|kill|status}
                              =========================================================
                              Nginx is runing!
                              php-fpm is runing!
                              MySQL running (12489)								[确定]
                              Active Internet connections (only servers)
                              Proto	Recv-Q	Send-Q	Local Address	Foreign	Address		State
                              tcp		0		0		0.0.0.0:53575	0.0.0.0:*			LISTEN
                              tcp		0		0		0.0.0.0:3306	0.0.0.0:*			LISTEN
                              tcp		0		0		0.0.0.0:111		0.0.0.0:*			LISTEN
                              tcp		0		0		0.0.0.0:80		0.0.0.0:*			LISTEN
                              tcp		0		0		0.0.0.0:22		0.0.0.0:*			LISTEN
                              tcp		0		0		127.0.0.1:631	0.0.0.0:*			LISTEN
                              tcp		0		0		127.0.0.1:25	0.0.0.0:*			LISTEN
                              tcp		0		0		:::57454		:::*				LISTEN
                              tcp		0		0		:::111			:::*				LISTEN
                              tcp		0		0		:::22			:::*				LISTEN
                              tcp		0		0		::1:631			:::*				LISTEN
                              tcp		0		0		::1:25			:::*				LISTEN
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              25

                              # 3.LNMP 一键安装包安装的软件及具体位置

                              既然是一键安装,那么默认安装的软件和软件的安装位置都是事先设定好的,在安装过程中不能更改。具体安装了哪些软件及其位置如表7-2 所示。

                              表7-2 LNMP 一键安装包安装的软件及其位置

                              默认安装软件安装位置相关配置文件名配置文件位置
                              Nginx/usr/local/nginx/Nginx配置文件/usr/local/nginx/conf/nginx.conf
                              默认网站目录/home/wwwroot/delault
                              日志文件/home/wwwlogs/
                              MySQL/usr/local/mysql/MySQL配置文件/etc/my.cnf
                              数据所在位置/usr/local/mysql/var/
                              PHP/usr/local/php/PHP配置文件/usr/local/php/etc/php.ini
                              php-fpm配置文件/usr/local/php/etc/php-fpm.conf
                              phpMyAdmin/home/wwwroot/dcfault/phpmyadmin/无无
                              Zend Optimizer/usr/local/zend/无无
                              也就是说,LNMP 一键安装只安装了基本的 Nginx、MySQL、PHP、phpMyAdmin 和 Zend Optimizer。

                              # 3.安装 PHP 模块

                              我们已经知道 LNMP 一键安装包默认只安装了最基本的 Nginx+MySQL+PHP 环境,并没有安装扩展功能模块,如果需要安装扩展模块该怎么办?

                              不用担心,也有相应的安装脚本,我们一个一个来看。需要注意的是,以下 5 个模块并不是必须安装的,而是用到哪个模块才安装哪个模块。

                              1)安装 eAccelerator

                              eAccelerator 是一个开放源码的 PHP 加速器,提高了 PHP 脚本的缓存性能,使得 PHP 脚本在编译状态下对服务器的开销几乎完全消除。它还对脚本起到了优化作用,以加快其执行效率。安装过程如下:

                              [root@localhost ~]# cd /usr/local/src/lnmp1.0-full
                              #进入lnmp解压缩目录
                              [root@localhost lnmp1.0-full]# ./eaccelerator.sh
                              #执行ccelerator.sh 安装脚本
                              ========================================================
                              Install eAcesselerator for LNMP VI.0 , Written by Licess
                              ========================================================
                              LNMP is a tool to auto-compile S install Nginx+MySQL+PHP on Linux This script is a tool to install eAccelerator for lnmp
                              
                              For more information please visit http://www.lnmp.org
                              ========================================================
                              Which version do you want to install:
                              Install eaccelerator 0.9.5.3 please type: old
                              #0.9.5.3版本支持PHP 5.2,如需此版本请输入old
                              Install eaccelerator 0.9.6.1 please type: new
                              #0.9.6.1版本支持PHP 5.2和5.3,如需此版本请输入new
                              Install eaccelerator 1.0-dev please type: dev
                              #1.0版本支持PHP 5.2, 5.3和5.4,如需此版本请输入dev
                              Type old, new or dev (Default version old):dev
                              #输入 dev
                              Press any key to start. . .or Press Ctrl+c to
                              #按任意键开始安装
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22

                              这里按回车键,eAccelerator 就会自动安装,也很方便。

                              2)安装 xCache

                              xCache 是一个又快又稳定的 PHP opcode 缓存器,经过良好的测试并可在大流量/高负载的生产机器上稳定运行,经过(在 Linux 上)测试并支持所有现行 PHP 分支的最新发布版本。安装过程如下:

                              [root@localhost ~]# cd /usr/local/src/lnmp1.0-full
                              #进入lnmp解压缩目录
                              [root@localhost lnmp1.0-full]# ./xcache.sh
                              #执行xcache.sh安装脚本
                              =======================================================================
                              Install XCache for LNMP V1.0 , Written by Licess
                              =======================================================================
                              LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux
                              This script is a tool to install XCache for lnmp
                              more information please visit http://www.lnmp.org
                              =======================================================================
                              Which version do you want to install:
                              Install XCache 2.0.0 please type:old
                              Install XCache 3.0.1 please type:new
                              Type old or new (Default install XCache 3.0.1):new
                              #安装较新的版本
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16

                              同样,回车之后会让你确认,再次回车就可以安装了。

                              3)安装 memcached

                              memcached 的安装过程如下:

                              [root@localhost ~]# cd /usr/local/src/lnmp1.0-full
                              #进入lnmp解压缩目录
                              [root@localhost lnmp1.0-full]#./memcached.sh
                              #执行memcached.sh安装脚本
                              
                              1
                              2
                              3
                              4

                              这个软件的安装不再有安装选项需要选择,回车就会自动安装 memcache php 扩展和 memcached。

                              4)安装 imageMagick

                              imageMagick 是一个用于查看、编辑位图文件以及进行图像格式转换的开放源码软件套装,它可以读取、编辑超过 100 种图像格式,可用来代替 gd 库。安装过程如下:

                              [root@localhost ~]# cd /usr/local/src/lnmp1.0-full
                              #进入lnmp解压缩目录
                              [root@localhost lnmp1.0-full]# ./imageMagick.sh
                              #执行imageMagick.sh安装脚本
                              
                              1
                              2
                              3
                              4

                              这个软件也没有安装选项需要选择,回车就会自动安装 imageMagick。

                              5)安装 ionCube

                              ionCube loader 是用来解密 ionCube 加密的 PHP 脚本的,如 whmcs 就采用 ionCube 加密。安装过程如下:

                              [root@localhost ~]# cd /usr/local/src/lnmp1.0-full
                              #进入lnmp解压缩目录
                              [root@localhost lnmp1.0-full]# ./ionCube.sh
                              #执行ionCube.sh安装脚本
                              
                              1
                              2
                              3
                              4

                              回车就会自动安装。

                              至此,LNMP 一键安装包就安装完成了,使用脚本安装的方法是不是比手工安装要简单的多呢?

                              edit icon编辑此页open in new window
                              上一页
                              linux系统日志管理
                              下一页
                              linux数据备份与恢复
                              MIT Licensed
                              Copyright © 2022 karin