本节索引:

  • 源码编译安装 httpd2.4

  • 二进制安装及配置 mariadb

  • 编译安装PHP及配置

  • 配置wordpress

  • 编译xcache实现PHP加速并测试


准备软件版本:

apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.27.tar.bz2
mariadb-5.5.57-linux-x86_64.tar.gz(二进制)
PHP-5.6.31.tar.bz2
xcache-3.2.0.tar.gz
wordpress-4.8-zh_CN.tar.gz


一. 源码编译安装 httpd2.4


1.准备编译环境安装

yumgroupinstall"developmenttools"-y
yuminstallopenssl-develexpat-develpcre-devel-y

2.准备安装包及文件

tarxfapr-1.5.2.tar.bz2
tarxfapr-util-1.5.4.tar.bz2
tarxvfhttpd-2.4.27.tar.bz2
cp-rapr-1.5.2httpd-2.4.27/srclib/apr
cp-rapr-util-1.5.4httpd-2.4.27/srclib/apr-util
cdhttpd-2.4.27/

3.开始编译安装

./configure--prefix=/app/httpd24\
--sysconfdir=/etc/httpd24\
--enable-so\
--enable-ssl\
--enable-rewrite\
--with-zlib\
--with-pcre\
--with-included-apr\
--enable-modules=most\
--enable-mpms-shared=all\
--with-mpm=prefork

make-j4&&makeinstall

4.配置httpd管理命令路径

vim/etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
./etc/profile.d/lamp.sh

5.配置服务脚本并启动

cp/etc/init.d/httpd/etc/init.d/httpd24#如没有httpd可从其他主机拷贝过来

vim/etc/init.d/httpd24#修改配置文件
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

chkconfig--addhttpd24
chkconfig--listhttpd24
servicehttpd24start


二. 二进制安装及配置 mariadb


1.二进制安装mariadb

yumremoveMysqL-y#centos6默认安装MysqL并创建了用户名,安装较新版mariadb避免冲突要卸载MysqL
tarxvfmariadb-5.5.57-linux-x86_64.tar.gz-C/usr/local
cd/usr/local
ln-smariadb-5.5.57-linux-x86_64/MysqL
chown-Rroot:MysqLMysqL/
cdMysqL/
scripts/MysqL_install_db--datadir=/app/MysqLdb--user=MysqL#创建数据库文件

2.配置 mariadb 配置文件

mkdir/etc/MysqL
cpsupport-files/my-large.cnf/etc/MysqL/my.cnf
vim/etc/MysqL/my.cnf#在[MysqLd]下添加如下三条配置
[MysqLd]
datadir=/app/MysqLdb
innodb_file_per_table=ON
skip_name_resolve=ON

3.配置服务脚本并启动

cpsupport-files/MysqL.server/etc/init.d/MysqLd
chkconfig--addMysqLd
chkconfig--list

4.配置日志文件

touch/var/log/MysqLd.log
chownMysqL/var/log/MysqLd.log
serviceMysqLdstart

5.配置命令路径

vi/etc/profile.d/lamp.sh
PATH=/usr/local/MysqL/bin/:/app/http24/bin:$PATH
./etc/profile.d/lamp.sh

6.安全初始化及创建用户、数据库文件

MysqL_secure_installation

MysqL-uroot-pcentos
createdatabasewpdb;
grantallonwpdb.*towpuser@'%'identifiedby'centos';
或者在命令行
MysqL-uroot-pcentos-ecreatedatabasewpdb;grantallonwpdb.*towpuser@'%'identifiedby'centos';


三.编译安装 PHP 及配置


1.编译前准备

yuminstalllibxml2-develbzip2-devellibmcrypt-devel(在epepl源)
tarxvfPHP-5.6.31.tar.xz
cdPHP-5.6.31

2.开始编译

./configure\
--prefix=/app/PHP5\#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\
--enable-fpm\
--with-mcrypt\
--with-config-file-path=/etc/PHP5\
--with-config-file-scan-dir=/etc/PHP5.d\
--with-bz2
注意:如参数--enable-fpm替换为--with-apxs2=/app/httpd24/bin/apxs则为模块方式PHP。
PHP连接httpd主要采用两种方式模块方式和fast-cgi独立方式(PHP-fpm为fastcgi进程管理器)。
--enable-maintainer-zts用于支持worker和event模块,如果prefork不需要
如MysqL不在本机--with-MysqL=MysqLnd,--with-MysqLi=MysqLnd

make-j4&&makeinstall

3.配置命令路径

vi/etc/profile.d/lamp.sh
PATH=/app/PHP5/bin:/app/httpd24/bin/:/usr/local/MysqL/bin/:$PATH
./etc/profile.d/lamp.sh

4.准备配置文件及服务脚本文件

mkdir/etc/PHP5//etc/PHP5.d
cpPHP.ini-production/etc/PHP5/PHP.ini#复制ini配置文件
注:ini文件中memory_limit128M生产中不够,可根据情况调大。
另外还有控制上传数据大小、数量等参数可调节

cpsapi/fpm/init.d.PHP-fpm/etc/init.d/PHP-fpm#复制脚本文件,fast-cgi方式需要
chmod+x/etc/init.d/PHP-fpm
chkconfig--addPHP-fpm
chkconfig--listPHP-fpm

cd/app/PHP5/etc
cpPHP-fpm.conf.defaultPHP-fpm.conf#复制主配置文件

5.编辑httpd相关配置参数

vim/etc/httpd24/httpd.conf
#fast-cgi模式要取消两行的注释
LoadModuleproxy_modulemodules/mod_proxy.so
LoadModuleproxy_fcgi_modulemodules/mod_proxy_fcgi.so
#在文件尾部加四行
AddTypeapplication/x-httpd-PHP.PHP
AddTypeapplication/x-httpd-PHP-source.PHPs
ProxyRequestsOff#fast-cgi要关闭正向代理
ProxyPassMatch^/(.*\.PHP)$fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1#转发到fast-cgi
#修改下面行
<IfModuledir_module>
DirectoryIndexindex.PHPindex.html
</IfModule>

servicehttpd24restart

6.编辑主页文件测试数据库是否连接

vim/app/httpd24/htdocs/index.PHP
<html><body><h1>Itworks!</h1></body></html>
<?PHP
$MysqLi=newMysqLi("localhost","root","centos");
if(MysqLi_connect_errno()){
echo"连接数据库失败!";
$MysqLi=null;
exit;
}
echo"连接数据库成功!";
$MysqLi->close();

####注释区为较老测试连接方式fast-cgi方式不支持####
$conn=MysqL_connect('localhost','root','centos');
if($conn)
echo"OK";
else
echo"Failure";
MysqL_close();
###################################################
PHPinfo();
?>

四. 配置wordpress


1.安装

tarxvfwordpress-4.8.1-zh_CN.tar.gz-C/app/httpd24/htdocs
cd/app/httpd24/htdocs
mvwordpress/blog/

cd/app/httpd24/htdocs/blog/
cpwp-config-sample.PHPwp-config.php

2.编辑wordpress配置文件

vimwp-config.php
define('DB_NAME','wpdb');

/**MysqL数据库用户名*/
define('DB_USER','wpuser');

/**MysqL数据库密码*/
define('DB_PASSWORD','centos');

/**MysqL主机*/
define('DB_HOST','localhost');

3.登录主机测试

http://websrv/blog#配置用户信息
测试性能
ab-c20-n200http://websrv/blog/

五.编译xcache 实现PHP加速

1.编译安装准备

tarxvfxcache-3.2.0.tar.bz2
cdxcache-3.2.0

/app/PHP5/bin/PHPize#生成configure文件

2.编译安装

./configure--enable-xcache--with-PHP-config=/app/PHP5/bin/PHP-config#指定PHP-config路径
make&&makeinstall#编译完成要记录模块路径!

3.编辑配置文件

mkdir/etc/PHP5.d/
cpxcache.ini/etc/PHP5.d/
vim/etc/PHP.d/xcache.ini
extension=/app/PHP5/lib5/PHP/extensions/no-debug-non-zts-20131226/xcache.so#填写模块路径
servicePHP-fpmrestart

4.测试性能

ab-c20-n200http://websrv/blog/

Centos6编译安装LAMP(fast-cgi方式)加速的WordPress应用的更多相关文章

  1. wordpress添加Html5的表单验证required方法小结

    这篇文章主要介绍了wordpress添加Html5的表单验证required方法小结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. iOS设备上的Safari正在加载损坏的图像 – WordPress网站

    有问题的图像是JPEG,我把它们缩小到更小的尺寸.有问题的WordPress网站是响应式的,当我使用移动网络加载网站时就会发生这个问题.无线方面,它没有问题,但在3G/4G上,随机加载的图像,一些被破坏,图像交换位置,所以所有的css和js似乎搞砸了.我正在使用W3缓存来提高速度,但没有任何帮助.有些图像是半灰色,黑色,有时看起来有点破损.这只发生在带有safari浏览器的iOS设备上.其他人面临同样的问题?

  3. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  4. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  5. 记一次云计算测试实验-openstack-icehouse-安装swift

    -----------------------controller:---------------------------------sourceadmin-openrc.shkeystoneuser-create--name=swift--pass=000000--email=swift@localhostkeystoneuser-role-add--user=swift--tenant=ser

  6. swift学习2 元组 tuples

    swift中出现了一种新的数据结构,非常牛掰的元组tuples如果懂PHP的猿,会发现这个元组和PHP的数组非常类似,同样是可以默认不指定key,也可以指定key目前的学习疑问是,如何进行元组的遍历?

  7. 尝试使用swift mailer,gmail smtp,php发送邮件

    这里是我的代码:在运行时出现此错误…

  8. Swift for OS X编译Linux?

    我对其他平台上Swift的构建过程感到困惑.Swift是否允许我在OSX上构建Linux项目,或者我是否需要在Linux上专门使用Swift来构建我计划在那里使用的任何东西?我查看了documentation,但这个主题并不是很清楚……

  9. 在我的Android应用程序中从WordPress获取帖子

    我是Android开发的新手,我正在尝试创建一个只显示WordPress网站上的帖子类别和帖子的应用程序.请帮助我.解决方法您要做的是从wordpress创建某种RESTAPI,以返回对您的AndroidHTTP请求的JSON响应.要做到这一点,首先针对Android,您可以参考这篇文章:MakeanHTTPrequestwithandroid然后,对于服务器端(您的wordpress),您将不得

  10. Android – 将SQLite与MySQL同步的最佳方式

    参见英文答案>Synchronizingclient-serverdatabases5个我正在开发一个包含网络应用和移动应用程序的项目,该应用程序记录每日用户的数据.用户可以删除,更新他们的数据,他们可以使用许多设备插入数据.我打算这样开发:用户输入他们的数据然后插入sqlite.服务将定期启动(每5小时或每小时)以使用时间戳与MysqL同步.我确实在互联网上使用服务和时间戳搜索了一个样本,但我一

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部