LAMP的编译安装

一、编译安装amp:

(1)系统环境:centos6,7

httpd依赖于apr和apr-util

appache protable runtime

(2)开发环境:

Development Tools,Server Platform Development

(3)各程序的版本:

httpd:2.2,2.4

php:5.x

mysql:5.1,5.5,5.6,5.7,5.8

mariadb:5.x,10.x

(4)httpd+php

modules:–with-apxs=

prefork:libphp5.so

worker,event:libphp5-zts.so

fpm:

5.3.3-,手动打上fpm patch;

5..3.3+,自带了fpm,编译时只需要使用–fpm选项;

过程:

先安装am,再安装p

安装MySQL:

预制的二进制程序包:

os vendor:mariadb-devel或mysql-devel;

项目官方提供的

二进制格式的程序包:展包即用;

源代码:编译安装

第一种安装:

(1)yum install mariadb-devel

(2)yum install mariadb-server

假如部署mysql时,将http和mysql安装在不同机器上,那么本台安装http的服务器只需安装好开发环境即可,无需安装mariadb-server.只在另一台上安装mariadb-server即可。

以模块化安装,割裂为两台主机。以fpm安装可以分割为三台主机。

第二种(二进制格式程序安装):

移除mariadb-server 和mariadb-devel

(1)获取tar包,创建mysql用户和组

(2) tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local

(3)ln -sv mariadb-5.5.46-linux-x86_64 mysql

数据库默认存在于data目录下

(4)改权限:chown -R root:mysql ./*

(5)创建存放数据的文件目录mkdir -pv /mydata/data

chown mysql:mysql /mydata/data

(6)scripts/mysql_install_db –help

(7)[root@centos7 mysql]# scripts/mysql_install_db –datadir=/mydata/data –user=mysql

(8)ls  /mydata/data/

LAMP的编译安装1.jpg

(9) 配置文件的修改cp support-files/my-large.cnf /etc/my.cnf

LAMP的编译安装2.jpg

修改thread_concurrency = 2

datadir=/mydata/data

skip_name_resolve=ON

innodb_file_per_table=ON

其中2指的是CPU的核心数乘以2.

(10)提供mysql运行的脚本cp support-files/mysql.server /etc/rc.d/init.d/mysqld

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

(11)chkconfig –add mysqld

chkconfig –list

(12)开启服务service mysqld start

(13)vim /etc/profile.d/mysql.sh

LAMP的编译安装3.jpg

(14) . /etc/profile.d/mysql.sh

二、安装httpd-2.4

(1) yum groupinstall "Development Tools" "Server Platform Development"

(2)yum install pcre-devel openssl-devel libevent-devel apr-devel apr-util-devel

(3)./configure –prefix=/usr/local/apache2 –sysconfdir=/etc/httpd –enable-so –enable-cgi –enable-modules=most –enable-mpms-shared=all –with-mpm=prefork –with-zlib –with-apr=/usr –with-apr-util=/usr

(4)make

(5)make install

(6)vim /etc/profile.d/apache.sh

LAMP的编译安装4.jpg

(7) . /etc/profile.d/apache.sh

(8) apachectl start

LAMP的编译安装5.jpg

出现如下报错,原来是/etc/hosts文件中没有写主机信息

网友解决方案:http://www.cnblogs.com/Anker/p/3355039.html

LAMP的编译安装6.jpg

三、安装php5

(1)yum install gd-devel freetype-devel libmcrypt-devel libxml2-devel

(2)./configure –prefix=/usr/local/php –with-mysql –with-openssl –with-mysql=/usr/bin/mysql_config –enable-mbstring –enable-xml –enable-sockets –with-freetype-dir –with-gd –with-libxml-dir=/usr –with-zlib –with-jpeg-dir –with-png-dir –with-mcrypt –with-apx2=/usr/local/apache2/bin/apxs –with-config-file-path=/etc/php.ini –with-config-file-scan-dir=/etc/php.d/

(3)make -J #

(4)make install

(6)cp php.ini-production /etc/php.ini

(7)makedir /etc/php.d/

注意:如果httpd使用线程模型MPM,需要额外的–enable-maintainer-zts选项;

注意:如果要以fpm方式允许php,需要编译时移除–with-apxs选项。

注意:如果独立安装的mysql-server,假设安装在/usr/local/mysql目录下,则需要使用类似如下的.configure命令。

./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysql=/usr/local/bin/mysql/mysql_config –enable-mbstring –enable-xml –enable-sockets –with-freetype-dir -with-gd –with-libxml-dir=/usr –with-png-dir –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/etc/php.ini –with-config-file-scan-dir=/etc/php.d/

整合php

httpd.conf配置文件中:

AddType application/x-httpd-php.php

DirectoryIndex index.php index.html

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

(0)
178babyhanggege178babyhanggege
上一篇 2016-10-17
下一篇 2016-10-17

相关推荐

  • samba

    FTP,SAMBA,NFS之间的区别 FTP        Windows/linux/unix/macOS等        发布网站,文件共享              Tcp/21 Samba  …

    Linux干货 2016-11-01
  • N25-第6周博客作业

    N25-第6周博客作业 vim:     模式化的编辑器         基本模式:             编辑模式,…

    Linux干货 2017-01-09
  • Linux基础之文件查找压缩

    为何学习本章节,可以设想一下,在未来工作中面对大量用户时,想要找到同一类型属性的用户文件时,需要一个工具可以快速准确的定位到所寻找的文件,那就是locate和find。   ******************************************************* 重点:     1.德摩根定律     非(P且Q) = (非P…

    2016-08-22
  • Linux磁盘管理

    面对一块硬盘,我们该如何使用它呢?本文从机械硬盘结构,分区,格式化,和挂载四个层次进行介绍。 一、机械硬盘结构 现在服务器使用机械式硬盘是主流,因为其造价低,容量大,和固态硬盘相比读写性能要差很多。机械硬盘主要由以下几个部件构成:转轴Spindle,盘片Platter,机械臂Boom,磁头Head。工作机制是马达带动盘片高速旋转,磁头对盘片进行擦写数据或读取…

    Linux干货 2016-09-01
  • 菜鸟教你如何磁盘分区与创建文件系统以及挂载(2)

    一、文件系统简介与创建 1、什么是文件系统?    文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。 2、文件系统的作用    从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件…

    Linux干货 2016-08-29
  • RAID详解

    1、什么是RAID RAID:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。其基本思想就是将多个相对便宜的硬盘结合起来,成为一个磁盘阵列,是性能达到甚至超过一个昂贵、容量巨大的硬盘,根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。目前应用较多的有RAID0,RAID1,RAID4,RA…

    Linux干货 2017-01-03