Apache 其实是一个软件基金会组织的名字,早期他们开发的 Web Server 软件非常流行,当时的名称就叫做 Apache,不过后来改名字叫做 httpd 了,所以,现在大家常说的 Apache ,通常指的就是 httpd。
另外,Apache 就是 LAMP 环境中的“A”。前面做了这么多准备工作,就是为了正确安装 Apache+MySQL+PHP,现在可以安装 Apache 了。安装步骤如下。
这里是 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
#这两个包先要解压缩,然后改名复制到指定位置
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
#编译安装
[root@localhost pcre-8.34]# cd /usr/local/src/ httpd-2.4.7
[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 #启动重写功能的模块
这里的 Apache 是使用动态方式编译的,那么是否有静态方式编译呢?当然有,静态方式编译就是直接将 Apache 的模块放入 Apache 中,如果 Apache 需要调用这个模块,则直接调用即可。这种方法安装的 Apache 性能更好、速度更快,但是如果需要加载新的模块,则是需要重新编译和安装 Apache 的。
如果采用动态的方式编译,则并没有直接把模块放入 Apache,而是把模块的所在位置放入了 Apache。如果 Apache 需要调用模块,则需要到指定位置自己查找,性能比静态方式稍差。但是如果需要加载新的模块,则不用重新安装 Apache,可以动态地加载新模块。更常用的编译方式是动态方式编译,所以在安装过程中我们采用动态方式编译。
[root@localhost httpd-2.4.7]# make
[root@localhost httpd-2.4.7]# make install
[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已经启动了
接下来我们需要使用浏览器测试一下 Apache 服务器是否可以访问,只需在 URL(统一资源定位,就是地址栏)中输入“http://IP”即可,如图 1 所示。
图 1 Apache测试页
如果看到了“It works!”,则说明 Apache 服务器正常工作了。
我们需要保证 Apache 每次开机都能正常启动,所以还要设置自启动,命令如下:
[root@localhost httpd-2.4.7]# vi /etc/rc.local/usr/local/apache2/bin/apachectl start
#在rc.local文件中加入Apache启动命令
ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标、建立窗口、改变前景/背景颜色及处理鼠标操作的函数,使用户在字符终端编写应用程序时绕过了那些恼人的底层机制。简而言之,它是一个可以使应用程序直接控制终端屏幕显示的函数库。
这个软件既可以采用 RPM 包方式安装,也可以采用源码包方式安装。但是不用两种包都安装,只要安装一种即可。
这里既可以使用手工 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
不过这里大家需要注意的是,“ncurses-static”是在第二张 CentOS 光盘中的。安装完成就可以继续安装下一个软件 MySQL了。
安装步骤如下:
[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 #编译安装
本节,我们学习安装MySQL数据库,其安装步骤稍微复杂,我们逐步来进行解析。
命令如下:
[root@localhost ~]# groupadd mysql
#添加mysql用户组
[root@localhost ~]# useradd -g mysql mysql
#添加mysql用户,同时指定mysql用户的初始组是mysql组
这里添加的 mysql 用户和用户组是稍后用来给 MySQL 安装目录分配权限用的,所以并不需要设定密码,因为这个用户是不能直接登录 Linux 系统的。
[root@localhost ~]# cd /usr/local/src/mysql-5.5.23
[root@localhost mysql-5.5.23]# cmake \ #命令
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #指定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端口
[root@localhost mysql-5.5.23]# make
使用 cmake 进行编译。如果编译过程中出现了报错,则不再使用“make clean”命令清除缓存及临时文件,而是直接删除“rm-rf CMakeCache.txt”文件。
[root@localhost mysql-5.5.23]# make install
这个配置文件不用手工建立,在 MySQL 安装目录中给我们准备了模板文件,只需把模板文件复制到指定位置并改名即可。命令如下:
[root@localhost mysql-5.5.23]#cp/usr/local/mysql/share/mysql/my-medium.cnf/etc/my.cnf
[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组
源码包安装的 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
#初始化数据库
这条命令的 --user 选项表示使用 mysql 用户来初始化数据库,这个用户要和我们在步骤一中建立的用户一致。命令执行完成之后,/usr/local/mysal/data/ 目录中应该会出现很多相应的数据,证明数据库初始化成功。
[root@localhost mysql]# chown -R root.
#把当前目录下所有文件的所有者改为root用户
#注意:修改的目录依然是/usr/local/mysql/目录下的文件
[root@localhost mysql]# chown -R mysql data
#把data目录的所有者改为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端口已经开启了
当然,我们还要保证 mysql 服务开机自启动,命令如下:
[root@localhost mysql]# vi /etc/rc.local
#修改自启动配置文件,加入如下的mysql服务标准启动命令
/usr/local/mysql/bin/mysqld_safe ——user=mysql &
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
关于PHP的版本,目前大多数企业都会使用 5.4 及更高版本,甚至越来越多的企业使用 PHP 7 版本,要知道,这两个版本还是有很大差异的,PHP 7 有很大的性能提升。
虽然“新事物取代旧事物”是必然趋势,但就目前来说,PHP 7 版本还是太新了,很多企业的网站不一定兼容。因此,本节安装的 PHP 版本为 5.4。接下来,就一起来学习如何在 Linux 系统中安装 PHP 源码包,具体步骤如下。
[root@localhost mysql]# yum -y install "libtool*"
[root@localhost mysql]# yum -y install "libtool-ltdl*"
PHP 5.4 也有一些 Bug,在检测 gd 库时会报错,需要我们手工修改。命令如下:
[root@localhost mysql]# vi /usr/local/gd2/include/gd_io.h
#修改gd_io.h头文件
typedef struct gdIOCtx
{
??? …
??? void (*data);
??? #在此程序段中加入此句
}
命令如下:
[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
#编译安装
和MySQL一样,这个配置文件不用手工建立,也是有模板文件的,我们只需复制即可。命令如下:
[root@localhost php-5.4.25]# cp /usr/local/src/ php-5.4.25/php.ini-production
/usr/local/php/etc/php.ini
在安装 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模块来解析这个文件的内容
这句话加载在 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 #加载到此位置
…省略部分输出…
至于 PHP 文件的扩展名,可以自由定义。
我们修改了 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
这里最好不要使用 restart 参数,因为对于源码包的 apache 启动命令,restart 参数有时会不起作用。
对源码包安装的 apache 来讲,网页的默认保存位置是 /usr/local/apache2/htdocs/ 目录。为了测试 PHP 环境是否正常,我们需要在这个目录中建立一个 PHP 文件,看看这个文件是否可以正常显示。命令如下:
[root@localhost php-5.4.25]# vi /usr/local/apache2/htdocs/index.php
<?php
phpinfo();
?>
这里我们使用了 phpinfo() 函数,这个函数的主要作用是显示 PHP 的相关信息,这些信息包括 PHP 的编译信息、PHP 的版本、服务器信息和环境、PHP 的环境、操作系统信息、路径、主要的配置选项、HTTP 头信息和 PHP 的许可等。我们一般使用这个函数来测试 PHP 是否安装成功,接下来在浏览器中输入“http://服务器IP/index.php”来执行该文件,如图1 所示。
图 1 phpinfo测试页
如果能看到图 1,那么恭喜你,PHP 安装成功。
memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存中维护一张统一的、巨大的 Hash 表,它能够用来存储各种格式的数据,包括图像、视频、文件及数据库检索的结果等。简单地说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
大家需要注意,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
#编译安装
接下来该安装 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,已经启动了
还要保证 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启动命令
最终,LAMP 环境需要自启动的服务是 apache、mysql 和 memcache。
本节学习如何安装 phpMyAdmin,它是用PHP脚本写的mySQL数据库的管理软件,是使用 Web 图形模式直接管理 MySQL 数据库的工具。phpMyAdmin 可以用来创建、修改、删除数据库和数据表;可以用来创建、修改、删除数据记录;可以用来导入和导出整个数据库;还可以完成许多其他的 MySQL 系统管理任务。
对于不熟悉使用命令来进行数据库管理的管理者来说,phpMyAdmin 更加简单和方便。其实大家可以把 phpMyAdmin 当作使用 PHP 脚本写的一个项目,我们安装 phpMyAdmin 的方法可以套用到绝大多数 PHP 开源项目的安装上(其他 PHP 的开源项目在安装到 LAMP 环境中时,可能需要手工建立后台数据库结构和数据库表结构)。安装步骤如下。
[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
#复制配置模板文件为真正的配置文件
phpMyAdmin 和前面章节中介绍安装的源码包都不太一样,不再是使用 C 语言编写的源码包程序,而是一个使用 PHP 脚本编写的、通过浏览器解释执行的网站项目。所以在安装时,只需把 phpMyAdmin 复制到 apache 的默认网页目录中,并通过浏览器来解释执行这个脚本即可。
phpMyAdmin 默认识别 3 种验证方式:
要想使用 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';
保存退出后,就可以在浏览器中输入“http://192.168.0.210/phpmyadmin/index.php”进行访问了,如图 1 所示。
图 1 phpMyAdmin 的 HTTP 身份验证
在登录对话框中输入 MySQL 的管理员“root”和我们刚刚安装 MySQL 时设定的密码“123”就能登录 phpMyAdmin了。
如果想让 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
保存退出后,就可以使用浏览器访问了,访问方式和 HTTP 身份验证是一样的,如图 2 所示。同样,在登录对话框中输入 MySQL 的用户名和密码即可登录。
图 2 phpMyAdmin的cookie身份验证
如果我们手工安装 LNMP 环境,那么同样需要安装大概 14 个源码包(根据版本和功能不同而不同)。不过,现在网上非常流行的 LNMP 环境的搭建过程是采用 LNMP 一键安装包直接安装。这个一键安装包实际上就是一个事先写好的安装脚本,按照这个安装脚本,只要指定一些基本的选项,就可以完全自动安装,所以安装过程会大大简化。
下面,我们就使用一键安装包来搭建 LNMP 环境。不过在安装之前还是要做一些准备工作的。
在 Linux 中其实是可以搭建 LNMPA 环境的,也就是在 Linux 中安装 Nginx、MySQL、PHP?和 Apache 这样的网站服务器架构,这是结合了 LAMP 环境和 LNMP 环境各自的优点而产生的新的网站服务器架构。
不过,我们今天只是搭建 LNMP 架构,那么笔者建议,不要在 LAMP 环境中覆盖安装 LNMP 环境,而应该使用一个完全干净的环境重新搭建 LNMP 环境,避免出现不必要的麻烦。我的服务器因为使用的是虚拟机,所以我直接恢复了初始安装的快照,一切从头来过。
既然是一键安装包,所以我们就不用去下载单个的源码包了,只要在?http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz?这个地址中下载 LNMP 一键安装包即可。
我们还需要做以下一些准备工作:
这些准备工作基本和 LAMP 环境一致,在此不再一一列举。
本节介绍如何利用下载好的 LNMP 一键安装包在Linux系统上安装 LNMP 环境。
我们把 LNMP 一键安装包保存在 /usr/local/src/ 目录下,第一步仍然是解压缩一键安装包。命令如下:
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar -zxvf lnmp1.0-full.tar.gz
既然是脚本安装包,那就不需要我们一个一个手工安装了,只要执行安装脚本 centos.sh 即可自动安装(Debian 中执行脚本为 debian.sh,Ubuntu 中执行脚本为 ubuntu.sh)。命令如下:
[root@localhost src]# cd lnmp1.0-full
[root@localhost lnmp1.0-full]#./centos.sh
回车之后安装就会继续,会看到如下界面:
==========================================================
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 #按任意鍵开始安装
如果在安装过程中输入错误,则可以按“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 所示。
默认安装软件 | 软件安装位置 | 软件相关配置文件名 | 配置文件安装位置 |
---|---|---|---|
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/clc/php-rpm.conf | ||
phpMyAdmin | /homc/wwwroot/dcfault/phpmyadmin/ | 无 | 无 |
Zend Optimizer | /usr/local/zend/ | 无 | 无 |
也就是说,LNMP 一键安装只安装了基本的 Nginx、MySQL、PHP、phpMyAdmin 和 Zend Optimizer。
我们已经知道 LNMP 一键安装包默认只安装了最基本的 Nginx+MySQL+PHP?环境,并没有安装扩展功能模块,如果需要安装扩展模块该怎么办?
不用担心,也有相应的安装脚本,我们一个一个来看。需要注意的是,以下 5 个模块并不是必须安装的,而是用到哪个模块才安装哪个模块。
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
#按任意键开始安装
这里按回车键,eAccelerator 就会自动安装,也很方便。
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
#安装较新的版本
同样,回车之后会让你确认,再次回车就可以安装了。
memcached 的安装过程如下:
[root@localhost ~]# cd /usr/local/src/lnmp1.0-full
#进入lnmp解压缩目录
[root@localhost lnmp1.0-full]#./memcached.sh
#执行memcached.sh安装脚本
这个软件的安装不再有安装选项需要选择,回车就会自动安装 memcache php 扩展和 memcached。
imageMagick?是一个用于查看、编辑位图文件以及进行图像格式转换的开放源码软件套装,它可以读取、编辑超过 100 种图像格式,可用来代替 gd 库。安装过程如下:
[root@localhost ~]# cd /usr/local/src/lnmp1.0-full
#进入lnmp解压缩目录
[root@localhost lnmp1.0-full]#./imageMagick.sh
#执行imageMagick.sh安装脚本
这个软件也没有安装选项需要选择,回车就会自动安装 imageMagick。
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安装脚本
回车就会自动安装。