LAMP的安装及Xcache的配置
LAMP是Linux+Apache+MySQL+PHP的简称,意指以Linux作为服务器的操作系统,以Apache的HTTPD作为Web服务器,以PHP作为动态网页的解释器,以MySQL作为后端数据库管理系统,由此而搭建起来的一套Web服务器系统。为方便起见,本文的假定CentOS6.5已经在服务器上安装完成。主要介绍手动编译安装httpd、MySQL和PHP的过程。
本文以目前比较新的版本组合进行手动安装:
httpd-2.4.10.tar.bz2 (源码)
mysql-5.5.40-linux2.6-x86_64.tar.gz
php-5.6.1.tar.bz2 (源码)
1. 准备编译环境
a) 添加EPEL的yum仓库源。 EPEL仓库提供了比较多而且新的rpm包,建议添加该仓库源。具体如何添加可以去EPEL的官方站点了解。
b) 安装编译必须的2个包组
# yum groupinstall "development tools"
# yum groupinstall "desktop platform development"
c) 其它还有一些rpm包的安装在具体编译服务器软件时再事前介绍,以便了解其相关性。
2. 编译安装HTTPD
a) 安装依赖开发包。httpd-2.4.10需要比较新的apr和apr-util。本文下载了比较新的源码包apr-1.5.1.tar.bz2和apr-util-1.5.4.tar.bz2进行编译安装。
# tar xf apr-1.5.1.tar.bz2
# cd apr-1.5.1
# ./configure --prefix=/usr/local/apr
# make && make install
# tar xf apr-util-1.5.4.tar.bz2
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
b) 安装依赖包openssl-devel, pcre-devel
# yum install openssl-devel
# yum install pcre-devel
c) 编译安装httpd-2.4.10
# tar xf httpd-2.4.10.tar.bz2
# cd httpd-2.4.10
# ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --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
d) 提供SYSV服务脚本/etc/rc.d/init.d/httpd,篇幅原因,内容略去。
3. 安装MySQL
a) 准备专门的磁盘空间作为mysql的数据区。假定该磁盘分区挂载为/mysql
# mkdir /mysql/data
b) 创建mysql运行使用的用户
# groupadd -r mysql
# useradd -r -g mysql -s /sbin/nologin -M -d /mysql/data mysql
# chown -R mysql.mysql /mysql/data
c) 安装通用二进制版本并初始化数据库
# tar xf mysql-5.5.40-linux2.6-x86_64.tar.gz -C /usr/local
# cd /usr/local
# ln -s mysql-5.5.40-linux2.6-x86_64 mysql
# cd mysql
# chown -R root.mysql .
# scripts/mysql_install_db --user=mysql --datadir=/mysql/data
d) 为mysql提供主配置文件
# cd /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf添加如下行在[mysqld]段中,指定mysql数据文件的存放位置:
datadir = /mydata/data修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
thread_concurrency = 2e) 为mysql提供sysv服务脚本
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqldf) 安装配置完毕,启动服务测试。
为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,还需要进行如下步骤:
g) 输出mysql的man手册至man命令的查找路径
编辑/etc/man.config,添加如下行:
MANPATH /usr/local/mysql/man
h) 输出mysql的头文件至系统头文件路径
# ln -s /usr/local/mysql/include /usr/include/mysql
i) 输出mysql的库文件给系统库查找路径
# echo "/usr/local/mysql/lib" > /ect/ld.so.conf.d/mysql.conf
j) 修改PATH环境变量,让系统可以直接使用mysql的相关命令
在/etc/profile.d/目录下创建文件mysql.sh,其内容如下:
export PATH=/usr/local/mysql/bin:$PATH
4. 编译安装PHP
a) 安装依赖包
# yum -y install bzip2-devel
# yum -y install libmcrypt-devel
b) 编译安装php-5.6.1.tar.bz2
# tar xf php-5.6.1.tar.bz2
# cd php-5.6.1
# ./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-openssl --with-mcrypt --enable-mbstring --enable-xml --enable-sockets --enable-maintainer-zts --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config
# make && make install
说明:
1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。
2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
c) 为php提供配置文件
# cp php.ini-production /etc/php.ini
d) 编辑apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd/httpd.conf
在相应的位置添加如下行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps修改DirectoryIndex 的定义为:
DirectoryIndex index.php index.html
e) 安装配置完毕,重启httpd服务进行测试。php测试页代码如下:
<?php
phpinfo();
?>
5. 编译安装Xcache
为了提高PHP解释器的性能,可以为php安装Xcache缓存插件。具体安装配置如下。
a) 编译安装xcache-3.2.0.tar.bz2
# tar xf xcache-3.2.0.tar.bz2
# cd xcache-3.2.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install
b) 编辑php.ini,整合php和xcache
# mkdir /etc/php.d
# cp xcache.ini /etc/php.d
注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。
本文介绍的php的安装是作为模块的方式加载到httpd的进程中工作的。下一篇博文专门介绍php和httpd以fastCGI的方式整合的安装方法。
转载于:https://blog.51cto.com/deshanrenjian/1561611
相关文章:

Windows Server 2003 AD升级到Windows Server 2008 AD的方法及详细步骤
前言: Windows Server 2008 是现在企业比较流行的服务器操作系统,安全性高,配置灵活、方便,集成了Hyper-V虚拟化功能,能够充分发挥硬件的性能。Windows Server 2008改写了底层的网络传输代码,理论上&#x…

ASP.NET2.0 ReportingServices使用详解
ASP.NET2.0 ReportingServices使用详解 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.9本文先做个简单介绍,更多关于ReportingServices的文章见后续。 1.打开BIDS,这是报表开发工具 2.新建项目 3.选择…

输出程序运行的时间(精确到微秒)
对于要求性能的代码,输出程序运行的时间还是很有必要的,而且需要较高的精确度,下面这个代码段就实现了此功能 注意:只限于Linux下使用,因为<sys/time.h>的缘故 1 #include <sys/time.h>2 #include <ios…

售前比售后机器人控制逻辑更复杂,仅凭大规模数据后发优势难赶超!
实现人与机器的自然交互,一直以来都是全世界人类的共同愿望,无数科学家倾尽毕生精力致力于实现这个目标。语言,作为人与外界交流最有效的工具,成为机器智能的重点研究对象,而对话型机器人则成为实现人机交互最早的突破…

JAVAEclipse:could not find the main class,program will exit!
JAVAEclipse:could not find the main class,program will exit! 遇到这个错误主要是当前的工程的jdk与eclipse的版本配置不匹配造成的,修改方法如下: 在当前工程点右键选择Properties->Java Compiler->选中Enable project specific settings->…

ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 【月儿原创】
ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.9 FCKeditor是目前最好的html文本编辑器,如果还不明白的话看了下图就知道了效果图: 那么为什么说是FC…

转:strcat与strcpy与strcmp与strlen
转自:http://blog.chinaunix.net/uid-24194439-id-90782.html strcat 原型:extern char *strcat(char *dest,char *src);用法:#include <string.h>功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的\0)并添加\0。说明…

2021 EdgeX中国挑战赛盛大开幕,英特尔赋能开发者,助力创新方案落地
2021年7月12日,北京中关村论坛隆重举行。论坛上,英特尔研究院副总裁、英特尔中国研究院院长宋继强博士,北京市科委、中关村管委会高科技产业促进中心主任徐剑发表致辞并联合Linux基金会、VMware威睿等单位代表共同宣布2021 EdgeX中国挑战赛开…

构建安全的 ASP.NET 应用程序
最近开发的系统因为用到Asp.net的安全性方面的东西,所以拼命看MSDN,E文看着有点慢,还好现在在MSDN 中文网站中很多文章都有了翻译,所以今天索性在MSDN中文网站上找了一把,还真有。有感兴趣的朋友可以看看,不…

.NET2.0隐形的翅膀,正则表达式搜魂者【月儿原创】
.NET2.0隐形的翅膀,正则表达式搜魂者 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.14 本文实现了:只能输入1个数字只能输入n个数字只能输入至少n个数字只能输入m到n个数字只能输入数…

连华为都在研究的计算机视觉,到底有多牛?
去年,华为在CCF-GAIR 大会上介绍了在人工智能领域的愿景,华为为了实现这个战略目标,从中梳理出深耕基础研究、打造全栈方案、投资开放生态和人才培养、解决方案增强、内部效率提升五大方向,以此打造无所不及的AI,构建万…

JS 点击弹出图片/ 仿QQ商城点击左右滚动幻灯片/ 相册模块,点击弹出图片,并左右滚动幻灯片...
1, 点击弹出图片 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"><head><meta ht…

Nginx+Tomcat实现反向代理与动静分离
1. 什么是动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的静态页面,tomcat(或weblogic)处理动态页面,从而达到动静页面访问时通过不同的容器来处理。 2. 为什么做动静分离 Nginx处理静态…

白话经典算法系列之七 堆与堆排序
堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大…

.NET2.0抓取网页全部链接【月儿原创】
.NET2.0抓取网页全部链接 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.18 该方法经过对各大门户网站测试结果是抓取率100%! 效果图 后台代码: using System;using System.Data;…

腾讯会议又一黑科技,屏蔽超过 200 种会议噪声是如何做到的?
作者 | 伍杏玲出品 | AI 科技大本营(ID:rgznai100)远程会议已成为我们常规的工作沟通方式,在线交流打破时间、空间的限制,给予我们便利之际,也屡遭尴尬:忘记静音,一边听会一边敲键盘,…

zabbix之日志文件监控
一、日志item介绍 下面介绍zabbix另一个“重量级”的功能——日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持。 在配置Item的时候,Type选择Zabbix agent (active)ÿ…

深度学习三巨头共同发文,聊聊深度学习的过去、现在与未来
作者|Yoshua Bengio,Yann LeCun,Geoffrey Hinton译者|香槟超新星出品|AI科技大本营(ID:rgznai100)人工神经网络领域的研究是基于对人类智能的观察而来:人类智能从高度并行的网络中产生,这些网络由结构相对简单的非线性神经元组成,通过调整连接…

ASP.NET2.0图片格式转换【月儿原创】
ASP.NET2.0图片格式转换 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.20 说明:本文实现了图片格式随意转换(下拉框选择);点击FileUpload立即显示图片…
org.apache.hadoop.fs-ChecksumException
当ChecksumFileSystem出现问题时抛出 1 package org.apache.hadoop.fs;2 3 import java.io.IOException;4 5 /** Thrown for checksum errors. */6 public class ChecksumException extends IOException {7 private long pos;8 public ChecksumException(String descriptio…

Linux下显示硬盘空间的两个命令
1.df -h ,用于显示目前所有文件系统的可用空间及使用情况,示例如下: [rootmsg45 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_msg45-lv_root 50G 15G 33G 31% / tmpfs …

C#对Microsoft.VisualBasic My对象兰台妙选【月儿原创】
C#对Microsoft.VisualBasic My对象兰台妙选 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.24 1.添加引用 2.引用Microsoft.VisualBasic 命名空间 3.所有的My对象应用皆出自以下类库,本文仅抛砖…

AIoT的发展路上,英特尔如何通过边缘计算掀起产业变革
你知道吗?到明年,仅我国的物联网连接规模将达到70亿,而全世界的人口也不过刚刚达到这个数字。物联网的爆发意味着什么?相信每个人都有着不同的答案,对于我国的14亿人口而言,即将全面到来的物联网红利不仅能…

Xbox One 游戏欣赏: Xbox Fitness 太极拳游戏
早就听说Xbox One中带有太极拳,这是我一直想练的,终于找到“死人定制”的师傅了。因为看书很难练,找不到联系场所,要么就要花价格不菲的学费。Xbox 360中的型可塑2012游戏中,包含了一个游戏章节就是Taiji,但…

Android美工坊:Selector选择器的使用
Android selector选择器可以让你切换自定义的背景风格,比如button、ListView、或者布局点击时候的背景切换等,都需要用到它 背景可以是自定义到颜色,或者图片资源 首先需要在你的res目录下创建drawable文件夹,然后在里面创建一个s…

C#中判断空字符串的3种方法性能分析【月儿原创】
C#中判断空字符串的3种方法性能分析 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.28 3种方法分别是:string a"";1.if(a"")2.if(aString.Empty)3.if(a.Length0) 3种方法都是…

微软职位内部推荐-SDEII
微软近期Open的职位:Title: Software Development Engineer 2Group: Bing Client, Search Technology Center Asia, BingWork Location: Beijing/Suzhou, China Group OverviewSearch Technology Center Asia (STCA)STCA was founded in year 2005 and is now starting the sec…

WAIC剪影:AI的未来,关乎星辰大海
“天文学,是像数学一样的基础学科,而越是基础学科,就越难直接应用。”“我们没有想过盈利,这些技术目前来看也不太可能直接应用到其他领域。”“不管是优图还是腾讯公司层面,不是做的每件事情都要考虑它的经济价值或者…

用Swift实现一款天气预报APP(三)
这个系列的目录: 用Swift实现一款天气预报APP(一) 用Swift实现一款天气预报APP(二) 用Swift实现一款天气预报APP(三) 通过前面的学习,一个天气预报的APP已经基本可用了。至少可以查看…

asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】
asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.5.16 学历历程 如果你是一个菜鸟或者自认为初学者那么本文非常适合你; 不能说这30本书…