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 08:34
下一篇 2016-10-17 08:34

相关推荐

  • NFS实现共享wordpress

    实验环境 192.168.68.134 wordpress站点 nfs-server 192.168.68.144 nfs-client   实验要求 nfs server共享/var/www/html目录 nfs clinet挂载nfs-server共享的目录,部署wordpress   nfs server端 先部署wordpress…

    Linux干货 2017-10-21
  • apache httpd 站点搭建

    apache  httpd 站点搭建 apache  httpd 站点搭建 1 §·httpd程序包使用yum安装 1 ※·[root@www ~]# yum  install  httpd.x86_64 1 ※·关于生成的配置文件简单介绍: 2 §·http主配置文件介绍 3 ※·主配置文件分为三大部分: 3 §·h…

    Linux干货 2016-12-05
  • 访问控制列表ACL

     ACL是Access Control List的缩写,主要的目的是提供传统的owner、group、others的read、write、execute权限之外的具体权限设置。ACL可以针对单一用户、单一文件、单一目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助。使用getfacl和setfacl来设置查看acl的权限。ACL权…

    Linux干货 2016-08-07
  • 我的第一篇博客

    Hello,大家好,以后我也是博客中的一员了,希望能和大家共同进步。

    Linux干货 2017-07-11
  • 用户和组的简介

     在第二周的学习中,关于用户和组是一个难点,也是重点,本篇博客则是对用户和组的简单阐述,如有错误或不足还请各位大牛指出,在此谢过! 1、用户 # 1.1用户的定义      通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(…

    Linux干货 2017-07-22
  • Net25-第9周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash for line in `cat /etc/passwd`;do if [[ `echo $line | awk -F: ‘{print $7}’` == ‘/sb…

    Linux干货 2017-03-15