模块式LAMP和fpm式LAMP实现wordpress

       Linux+Apache+Mysql/MariaDB+Perl/PHP/Python这一组合常用来搭建动态网站或者服务器的开源软件,随着开源潮流的蓬勃发展,开源的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件平台在软件方面的投资成本较低,,LAMP平台已经成为最强大的WEB网站解决方案,今天就让我们来尝试模块式LAMP与fpm式LAMP这两种方式来实现动态网站的搭建。



    第一部分:模块式LAMP实现wordpress

Apache2.4.18+mysql-5.5.33+php-5.4.26的编译安装过程:

一、编译安装apache2.4.18

为了确保编译过程顺利进行,首先解决依赖关系httpd-2.4.18需要较新版本的apr、apr-util和pcre-devel软件包,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里apr、apr-util选择使用编译源代码的方式进行,pcre-devel由于集成到red发行版里面,所有我这里直接yum安装

第一步: 编译安装apr    

# tar xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make && make install

第二步:编译安装apr-util

# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install

第三步:yum安装pcre-devel

# yum install –y pcre-devel

第四步:编译安装httpd-2.4.18

# tar xf httpd-2.4.18.tar.bz2
# cd httpd-2.4.18
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
# make && make install

编译安装成功之后,为了更好是使用httpd服务,需要四步配置:

第一步,修改httpd的主配置文件,设置其Pid文件的路径

 

编辑/etc/httpd/httpd.conf,添加如下行即可:

PidFile  "/var/run/httpd.pid"

第二步,提供服务启动脚本/etc/rc.d/init.d/httpd

第三步,为此脚本赋予执行权限:

chmod +x /etc/rc.d/init.d/httpd

第四步,加入服务列表:

chkconfig –add httpd

接下来我就可以启动该服务,

Service httpd start


二、安装MySQL-5.5.33

由于MySQL数据库源码文件过于庞大,编译过程异常慢,所有这里我并不打算源码编译安装,而是直接使用编译好的,即使是已经编译好的MySQL,依然是需要我们对其系统环境进行相关设置,具体设置如下:

第一步:准备数据文件存放目录,当然数据文件可以存放着一个单独的磁盘上,或者在一个磁盘上创建逻辑卷,这里我仅仅使用根文件下创建/data/mydata/作为数据文件的存放路径

 

第二步:创建mysql的运行用户以及把数据文件目录的拥有者赋予mysql

# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data

第三步:安装并初始化mysql-5.5.33

# tar xf mysql-5.5.33-linux2.6-i686.tar.gz -C /usr/local
# cd /usr/local/
# ln -sv mysql-5.5.33-linux2.6-i686  mysql
# cd mysql 
# chown -R mysql:mysql  .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root  .

第四步:为mysql提供主配置文件

# cd /usr/local/mysql
# cp support-files/my-large.cnf  /etc/my.cnf


并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:

thread_concurrency = 2

 

另外还需要添加如下行指定mysql数据文件的存放位置:

datadir = /mydata/data


第五步;为mysql提供sysv服务脚本:

# cd /usr/local/mysql
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld

添加至服务列表:

chkconfig –add mysqld

chkconfig mysqld on

为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:


第六步:输出mysql的man手册至man命令的查找路径:

编辑/etc/man.config,添加如下行即可:

MANPATH  /usr/local/mysql/man

 

         而后就可以启动服务测试使用了


三、编译安装php5.4.26

    

第一步:解决依赖关系

            请配置好yum源(系统安装源及epel源)后执行如下命令:

# yum -y groupinstall "Desktop Platform Development" 
# yum -y install bzip2-devel libmcrypt-devel

第二步:编译安装php-5.4.26

# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts
# make
# make test
# make intall

第三步:安装xcache

# tar xf xcache-3.0.3.tar.gz
# cd xcache-3.0.3
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install

第四步:配置及测试

编辑apache配置文件httpd.conf,以apache支持php

# vim /etc/httpd/httpd.conf

添加如下二行

   AddType application/x-httpd-php  .php

   AddType application/x-httpd-php-source  .phps

定位至DirectoryIndex index.html

   修改为:

    DirectoryIndex  index.php  index.html

为php提供配置文件:

# cp php.ini-production /etc/php.ini

 

接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:

zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so

 

测试页面index.php示例如下:

<?php
      $link = mysql_connect('127.0.0.1','root','');
      if ($link)
        echo "Success...";
      else
        echo "Failure...";
 
      mysql_close();
    ?>



如果访问该页面里面看到Success就说明我们的php以及mysql都能正常工作了。

四、安装wordpress


#tar xf wordpress-4.4.2-zh_CN.zip
#cd wordpress-4.4.2
#vim wp-config.php

修改连接数据库的名称,连接数据库的用户以及密码,访问我们定义的页面地址;

            如果能出现下图页面,说明我们的配置文件已经修改成功了,

wordpress1.jpg





第二部分:fpm式LAMP实现wordpress


一、apache、MySQL的安装与前一部分相同;请根据其进行安装;

二、编译安装php-5.4.26

第一步:解决依赖关系

请配置好yum源(系统安装源及epel源)后执行如下命令:

# yum -y groupinstall "Desktop Platform Development" 
# yum -y install bzip2-devel libmcrypt-devel


第二步:编译安装php-5.4.26

# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --enable-fpm --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
# make && make install

第三步:为php提供配置文件:

# cp php.ini-production /etc/php.ini

第四步:配置php-fpm

 为php-fpm提供SysV init脚本,并将其添加至服务列表:

# cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig php-fpm on

第五步:为php-fpm提供配置文件,编辑php-fpm的配置文件

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
# vim /usr/local/php/etc/php-fpm.conf

配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):

pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php/var/run/php-fpm.pid

第六步:接下来就可以启动php-fpm了

 service php-fpm start

 

使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):

ps aux | grep php-fpm


三、配置httpd-2.4.18

 

第一步:启用httpd的相关模块

 

在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载


LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

第二步:配置虚拟主机支持使用fcgi 

在相应的虚拟主机中添加类似如下两行。

  ProxyRequests Off

  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1


第三步:编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页

 

 vim /etc/httpd/httpd.conf

 1、添加如下二行


 2、定位至DirectoryIndex index.html

   修改为:

 DirectoryIndex  index.php  index.html


四、安装wordpress

#tar xf wordpress-4.4.2-zh_CN.zip
#cd wordpress-4.4.2
#vim wp-config.php


修改连接数据库的名称、连接数据库的用户以及密码,访问我们定义的页面地址;

如果能出现下图页面,说明我们的配置文件已经修改成功了。

wordpress1.jpg





所谓万丈高楼平地起,任何一个大的项目或者平台都是从易到难,从简单到负责,就连淘宝这么大的平台最初只是一个简单的LAMP平台发展而来,所以熟练掌握好LAMP架构也是每个运维人员必备的素质,这样才会在更大的舞台上有更好的发展。

      







原创文章,作者:zhang,如若转载,请注明出处:http://www.178linux.com/15190

(0)
zhangzhang
上一篇 2016-04-22 13:30
下一篇 2016-04-22 15:44

相关推荐

  • Linux——文件处理工具(一)

    (1) 文件查看命令: cat,tac,rev cat [OPTION]… [FILE]…读取文件内容 –E: 显示行结束符$ –V :显示非打印字符 –n: 对显示出的每一行进行编号 –A:显示所有字符 –b:非空行编号 –s:将连续的空行变成一行 &#8211…

    2017-07-29
  • 马哥教育网络19期+第十三周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-08-12
  • 绝对路径和相对路径及cd、pwd、mkdir、rmdir、tree命令

    绝对路径和相对路径及cd、pwd、mkdir、rmdir、tree命令详解 一、绝对路径和相对路径(由下图进行讲解) 绝对路径:由根目录开始(/)开始的文件名或者目录名称,我们通过绝对路径切换到/man1文件处,所经过的路径。 cat /root/usr/share/man/man1 如下图 相对路径:相对于当前路径,以当前所在位置的相对路径。例如…

    Linux干货 2016-08-02
  • 加密解密基础、PKI以及自建私有CA

    加密解密基础、PKI以及自建私有CA 加密是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。 解密就是加密的逆向操作,将加密过的不可读的数据经过处理,能够是之前不可读的信息还原成可读信息。 PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;…

    Linux干货 2016-12-07
  • VIM编辑器入门

    VIM简介 VIM是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 VIM的使用 在介绍基本使用前,先了解下VIM的基本模式 基本模式可分为三种:命令模式、输入模式、末行模式 命令模式:Vim启动后的默认模式,通过输入指令完成对应的编辑操作。输入模式和末行模式从命令模式进入&nb…

    Linux干货 2016-04-05
  • 一键搭建mysql集群系列一

    一键自动安装mysql 5.7 shell脚本自动化安装二进制mysql-5.7 本节主要用到四个shell脚本 和 一台资料存储机器(IP:192.168.42.26) install_mysql.sh 自动化安装mysql脚本 ntpdate.sh 时间同步脚本 system_init.sh 系统初始化脚本 yum.sh yum源配置脚本 执行步骤: 1…

    2017-05-13

评论列表(2条)

  • stanley
    stanley 2016-04-26 09:52

    添加如下二行
    下面的内容呢?

    • zhang
      zhang 2016-04-29 00:42

      @stanley添加如下两行的内容:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps