关键词:
一、概述
1、源码编译安装LAMP为什么要源码编译
一般来说,我们软件的安装方式有yum(rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原因:
1)满足不同的运行平台,我们Linux发型版本众多,但是每个版本采用的软件或者内核版本都不一样,而我们的二进制包所依赖的环境不一定能够正常运行,所以大部分软件直接提供源码!
2)方便定制,满足不同的需求,很多时候我们所需要的软件都是可以定制的,我需要什么就安装什么,大多数二进制代码都是一键装全,所以自由度并不高!
3)方便运维、开发人员维护,我们的源码是可以打包二进制的,但是对于这个软件的打包都会有一份代价不小的额外工作,包括维护,所以如果是源码的话,软件产商会直接维护,但是如果是二进制的话,一般都是Linux发行商提供!
2、什么是LAMP
LAMP=Linux Apache Mysql/MariaDB PHP/Perl/Python 这些软件都是开源免费的软件,几个程序各自是独立的,经常为了达到我们需要的效果而协同工作,组成了我们常见的LAMP架构平台!LAMP是世界上最流行的组合,当然同时也有Nginx,也就是LNMP: LAMP 相对于 NGINX 来说较为安全,但是Nginx处理高并发比Apache要强,NGINX 相对于 LAMP 来说安全较为差一点,同样的配制环境负载远远高于 LAMP 向国内的一些大公司,淘宝、新浪都在用这一些 NGINX,向那么大的公司网站需要用到服务器群用LAMP搭建环境成本远远大于NGINX。打个比方本来1000000W访问量需要 10台LAMP环境服务器才能完成,但是使用NGINX也许只需要5、6台这样一来对于这样的公司来说就大大的节约了成本。 从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案,在以前这句话没有错,但是在现在,这句话有待证实!!!因为在以后的过程中,会发现我们会使用的架构是Nginx和Apache结合使用:使用Nginx可以做集群等相关配置,可以和apache一起使用,有的会用apache去跑php,然后用nginx做反向代理,比如apache运行在8080端口,nginx在80端口,访问php文件时,反向代理到apache,静态页通过nginx处理。nginx支持高并发,apache对php的运行比较稳定。
常见的网页类型:htm,html,shtml,stm.php,asp,aspx,shtm,jsp等等Apache本事只处理静态页面,处理动态页面需要使用libphp5.so这个模块去工作,编译php也其实是将一个至关重要的模块打入到apache内部,然后apache收到php请求,将请求交给这个模块来处理!
3、Apache工作原理:
Apache本身只处理html静态语言页面,当客户端需要访问php页面的时候,Apache会调用libphp5.so这个模块去工作,这个模块会把php页面转换成html静态页面,让Apache处理,Apache处理过,会返回给客户端
LAMP相关网站
Apache=http://httpd.apache.org/ httpd主程序包
MySQL=http://dev.mysql.com/downloads/mysql/ mysql主程序包
PHP=http://php.net/downloads.php php主程序包
apr=http://apr.apache.org/ apr是httpd的依赖包
apr-util=http://apr.apache.org/ apr-util是httpd的第二个依赖包
apr和apr-util这个两个软件是对后端服务软件进行优化的,
apr-util只是在apr的基础上提供了更多的数据结构和操作系统封装接口而已。
pcre 是httpd的第三个依赖包 http://pcre.org/
PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,PCRE被广泛使用在许多开源软件之中,最著名的莫过于Apache HTTP服务器和PHP脚本语言、R脚本语言,此外,正如从其名字所能看到的,PCRE也是perl语言的缺省正则库。
二、安装环境
系统环境:CentOS release 6.9 64bit
软件名称:httpd-2.4.16、apr-1.5.2、apr-util-1.5.4、pcre-8.37、mysql-5.6.26、php-5.6.13
软件用户:apache、mysql
软件安装位置:/usr/local/
数据存放位置:/usr/local/apache2.4/htdocs、/usr/local/mysql/data
日志存放位置:/usr/local/apache2.4/logs、/usr/local/mysql/logs
三、软件安装
1、安装apahce
1)确保系统的干净的系统,不要和现在源码编译安装的软件冲突
不要在一个系统上同时存在 RPM-Apache+源码-Apache,建议在编译之前,把开发包组安装:"Development Tools"和 "Development Libraries"[[email protected] logs]# rpm -qa | grep http
[[email protected] logs]# rpm -qa | grep apache
[[email protected] logs]#
2)安装依赖包
[[email protected] logs]#yum -y groupinstall "Development Tools" "Development Libraries"
[[email protected] logs]#yum -y install gcc gcc-c++ openssl-devel
3)在home创建lamp文件夹,将对应软件包上传到这个文件夹
[[email protected] lamp]# ll
total 54444
-rw-r--r-- 1 root root 1031613 Jun 10 10:05 apr-1.5.2.tar.gz
-rw-r--r-- 1 root root 694427 Jun 10 10:05 apr-util-1.5.4.tar.bz2
-rw-r--r-- 1 root root 5101005 Jun 10 10:05 httpd-2.4.16.tar.bz2
-rw-r--r-- 1 root root 33278710 Jun 10 10:05 mysql-5.6.26.tar.gz
-rw-r--r-- 1 root root 1557603 Jun 10 10:05 pcre-8.37.tar.bz2
-rw-r--r-- 1 root root 14077633 Jun 10 10:05 php-5.6.13.tar.bz2
4)解压安装apr
[[email protected] lamp]# tar zxvf apr-1.5.2.tar.gz -C /usr/local/src/ && cd /usr/local/src/apr-1.5.2/ && ./configure --prefix=/usr/local/apr && make -j 4 && make install
5)解压及安装apr-util
[[email protected] lamp]#tar jxvf apr-util-1.5.4.tar.bz2 -C /usr/local/src/ && cd /usr/local/src/apr-util-1.5.4/ && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make -j 4 && make install
6)解压及安装pcre
[[email protected] lamp]#tar xvf pcre-8.37.tar.bz2 -C /usr/local/src/ && cd /usr/local/src/pcre-8.37/ && ./configure --prefix=/usr/local/pcre && make -j 4 && make install
7)解压apache
[[email protected] lamp]#tar xvf httpd-2.4.16.tar.bz2 -C /usr/local/src/ && cd /usr/local/src/httpd-2.4.16
8)配置apache编译参数及编译安装
[[email protected] httpd-2.4.16]# ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event && make -j 2 && make install
9)配置参数解释
--prefix=/usr/local/apache2.4 #安装路径--enable-so #支持动态加载模块
--enable-rewrite #支持网站地址重写
--enable-ssl #支持SSL加密
--with-pcre=/usr/local/pcre #pcre路径
--with-apr=/usr/local/apr #apr路径
--with-apr-util=/usr/local/apr-util #apr-util路径
一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式。它们分别是prefork,worker和event,它们同时也代表这Apache的演变和发展。
10)配置Apache的启动脚本
[[email protected] lamp]#cp /usr/local/apache2.4/bin/apachectl /etc/init.d/apache2.4
[[email protected] lamp]#vim /etc/init.d/apache2.4
# chkconfig: 2345 64 36 #这个是启动级别的服务,2345是指那些级别启动,64是开启顺序,应该在network服务的后面,36是关闭顺序,应该在network的前面,这里并不是注释,默认network的是:2345 10 90# description: Apache2.4.16 start script #描述字段,有了这两个字段,就可以用chkconfig命令控制
11)启动apache及设置开机启动
[[email protected] httpd-2.4.16]# /etc/init.d/apache2.4 start
[[email protected] httpd-2.4.16]#chkconfig apache2.4 on
11)设置apache使用用户
[[email protected] httpd-2.4.16]#ps -aux | grep apache //源码编译apache,运行用户为deamon
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQroot 43191 0.0 0.0 70632 2184? Ss 16:54 0:00/usr/local/apache2.4/bin/httpd -k start
daemon 43192 0.0 0.1663500 4820? Sl 16:54 0:00/usr/local/apache2.4/bin/httpd -k start
daemon 43193 0.0 0.1414892 4184? Sl 16:54 0:00/usr/local/apache2.4/bin/httpd -k start
daemon 43194 0.0 0.1414892 4188? Sl 16:54 0:00/usr/local/apache2.4/bin/httpd -k start
root 43344 0.0 0.0103244 864 pts/0 S+ 17:12 0:00 grep apache
[[email protected] httpd-2.4.16]#useradd -M -s /sbin/nologin apache //创建一个用户用来运行apache
[[email protected] httpd-2.4.16]#vim /usr/local/apache2.4/conf/httpd.conf //修改配置文件改变apache运行身份
User apache #运行用户
Group apache #运行组,创建apache的时候已经即时创建了apache这个组
[[email protected] httpd-2.4.16]#chown -R apache:apache /usr/local/apache2.4/ //默认是root,改为apache
2、编译安装mysql
1)清理已安装的mysql
[[email protected] home]# rpm -qa | grep mysql
mysql-libs-5.1.73-8.el6_8.x86_64
[[email protected] home]# yum remove mysql-libs
[[email protected] home]# rpm -qa | grep mysql
[[email protected] home]#
2)安装依赖包
[[email protected] home]# yum install -y cmake ncurses-devel
3)编译安装mysql
[[email protected] lnmp]# tar xf mysql-5.6.26.tar.gz -C /usr/local/src/
3)创建运行mysql的帐号
[[email protected] mysql-5.6.26]# useradd -M -s /sbin/nologin mysql
4)配置编译参数
[[email protected] mysql-5.6.26]#cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_DATADIR=/usr/local/mysql/data
-DMYSQL-USER=mysql
5)编译参数说明
DCMAKE_INSTALL_PREFIX #制定mysql的安装根目录,目录在安装的时候会自动创建,这个值也可以在服务器启动时,用--basedir来设置
DMYSQL_UNIX_ADDR
#服务器与本地客户端进行通信的Unix套接字文件,必须是绝对路径,默认位置/tmp/mysql.sock,可以在服务器启动时,用--socket改变
DDEFAULT_CHARSET #mysql默认使用的字符集,不指定将默认使用Latin1西欧字符集
DDEFAULT_COLLATION #默认字符校对
DWITH_EXTRA_CHARSETS #制定mysql拓展字符集,默认值也是all支持所有的字符集
DWITH_MYISAM_STORAGE_ENGINE #静态编译MYISAM,INNOBASE,MEMORY存储引擎到MYSQL服务
器,这样MYSQL就支持这三种存储引擎
DWITH_INNOBASE_STORAGE_ENGINE
DWITH_MEMORY_STORAGE_ENGINE
DWITH_READLINE #支持readline库
DENABLED_LOCAL_INFILE #允许本地倒入数据,启用加载本地数据
DMYSQL_DATADIR #mysql数据库存放路径
DMYSQL-USER #运行mysql的用户
这些编译参数的帮助寻找方法:
http://www.mysql.com→→Documentation→→选择对应的版本(5.6)→→HTML
Online→→View→→Installation & Upgrades→→Installing MySQL from Source
→→MySQL Source-Configuration Options→→
http://dev.mysql.com/doc/refman/ ... ration-options.html
6)编译安装
[[email protected] mysql-5.6.26]#make -j 4 ; make install
//以4个进程来加快编译速度,但不要超过CPU核心数,编译时间较长需耐心等待
7)配置mysql
[[email protected] mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/ //属主属组更改
[[email protected] mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf //覆盖原配置文件
[[email protected] mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //复制启动脚本
[[email protected] mysql-5.6.26]# vim /etc/init.d/mysqld //更改启动脚本中指定mysql位置
basedir=
datadir=
#修改为
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[[email protected] mysql-5.6.26]# chkconfig mysqld on //设置开机启动
8)初始化数据库
[[email protected] mysql-5.6.26]#/usr/local/mysql/scripts/mysql_install_db
--defaults-file=/etc/my.cnf
--basedir=/usr/local/mysql/
--datadir=/usr/local/mysql/data/
--user=mysql
查看初始化是否成功
[[email protected] mysql-5.6.26]# ls /usr/local/mysql/data/
ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test
[[email protected] mysql-5.6.26]#
[[email protected] mysql-5.6.26]# ln -s /usr/local/mysql/bin/* /bin/ ///这个里面是部分命令,让系统直接调用
[[email protected] mysql-5.6.26]# /etc/init.d/mysqld restart //启动数据库
ERROR! MySQL server PID file could not be found!
Starting MySQL.. SUCCESS!
[[email protected] mysql-5.6.26]# mysql_secure_installation ////初始安全设置,设置root密码,急用root远程访问,删除test数据库等;
9)测试登陆是否正常
[[email protected] mysql-5.6.26]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 12
Server version: 5.6.26 Source distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.
mysql>
3、编译安装php
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。
Apache对于php的解析,就是通过众多Module中的php Module来完成的,把php最终集成到Apache系统中,还需要对Apache进行一些必要的设置!
1)清理已安装的php
[[email protected] home]# rpm -qa | grep php
[[email protected] home]# yum remove php
[[email protected] home]# rpm -qa | grep php
2)安装依赖包
[[email protected] home]#yum install -y libxml2-devel
3)解压php
[[email protected] lamp]# tar xvf php-5.6.13.tar.bz2 -C /usr/local/src/ ; cd /usr/local/src/php-5.6.13
4)配置php编译参数
[[email protected] php-5.6.13]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php
5)编译参数说明
--prefix #指定安装路径--with-apxs2 #用apache的apxs工具将php编译成apache的一个模块
--with-mysql #与mysql结合,如果不跟路径,编译出来的版本将是低版本
--with-config-file-path #php的主配置文件php.ini路径
6)编译安装
[[email protected] php-5.6.13]#make –j 4 ; make install
7)修改配置文件
[[email protected] php-5.6.13]#cp php.ini-production /usr/local/php/php.ini
8)配置Apache支持PHP
[[email protected] php-5.6.13]#vim /usr/local/apache2.4/conf/httpd.conf
<IfModule dir_module>DirectoryIndex index.html index.php #添加index.php
</IfModule>
……
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz #上面两行是以前有的
AddType application/x-httpd-php .php #下面两行是添加的,需要添加以支持PHP
AddType application/x-httpd-php-source .phps
9)检查安装结果
只有有下面这两个文件(模块),代表我们的apache就可以支持php了ls /usr/local/apache2.4/modules/httpd.exp[[email protected] php-5.6.13]# ls /usr/local/apache2.4/modules/httpd.exp
/usr/local/apache2.4/modules/httpd.exp
[[email protected] php-5.6.13]# ls /usr/local/apache2.4/modules/libphp5.so
/usr/local/apache2.4/modules/libphp5.so
10)重启apache并测试是否支持php
[[email protected] php-5.6.13]# /etc/init.d/apache2.4 restart
[[email protected] php-5.6.13]# echo "<?php phpinfo(); ?>" >/usr/local/apache2.4/htdocs/info.php
本文出自 “明日灵感” 博客,请务必保留此出处http://coolner.blog.51cto.com/957576/1934146
lamp源码编译
---恢复内容开始---1、LAMP源码编译的基础环境 安装组建包:yumgroupinstall"DevelopmentTools""DevelopmentLibraries"-y 安装编译包:yuminstallgccgcc-c++openssl-devel-y 下载源码包: apr-1.6.3.tar.gz mysql-5.6.38-linux- 查看详情
lamp架构nginxphpmysql源码编译安装(代码片段)
目录一、nginx源码编译及使用1.源码编译2.nginx配置及部署软连接瘦身nginx清除缓存不显示nginx版本nginx开机自启二、php源码编译及使用1.源码编译2.nginx结合php-fpm安装phpmyadmin三、mysql源码编译phpmyadmin连接mysql源码编译安装三部曲... 查看详情
lamp架构nginxphpmysql源码编译安装(代码片段)
目录一、nginx源码编译及使用1.源码编译2.nginx配置及部署软连接瘦身nginx清除缓存不显示nginx版本nginx开机自启二、php源码编译及使用1.源码编译2.nginx结合php-fpm安装phpmyadmin三、mysql源码编译phpmyadmin连接mysql源码编译安装三部曲... 查看详情
源码编译安装lamp
环境:centos6.6;httpd-2.2.34;mysql-5.5.55;php5.6.31#!/bin/bash#2017-08-12#author by Tan Wen Xin#Auto install LAMP#create DNS servercat>>/etc/resolv.conf<& 查看详情
lamp纯源码编译安装日志
一.LAMP构架的安装与经验技巧(源码安装好处。是便于管理,可以选定参数,可以使用新版本)相关软件列表:#ls/soft/|grep-E"*.gz|*.zip|*.xz|*.bz2" apr-1.4.5.tar.gz apr-util-1.3.12.tar.gz   查看详情
lamp源码编译安装实录
[[email protected] ~]# rpm -ivh epel-release-6-8.noarch.rpm[[email protected] ~]# yum install -y expat-devel openssl openssl-devel  查看详情
源码编译安装lamp环境部署discuz
1)源码编译apryuminstall-ypcre-develgccopenssl-devel安装编译过程需要的依赖包cd/usr/src切换到此目录wget-chttp://archive.apache.org/dist/apr/apr-1.4.5.tar.gz tarxzvfapr-1.4.5.tar.gzcdapr-1.4.5./configure--frefix=/usr/loc 查看详情
源码编译安装lamp环境部署discuz
1)源码编译apryuminstall-ypcre-develgccopenssl-devel安装编译过程需要的依赖包cd/usr/src切换到此目录wget-chttp://archive.apache.org/dist/apr/apr-1.4.5.tar.gz tarxzvfapr-1.4.5.tar.gzcdapr-1.4.5./configure--frefix=/usr/loc 查看详情
源码编译安装lamp环境部署discuz
1)源码编译apryuminstall-ypcre-develgccopenssl-devel安装编译过程需要的依赖包cd/usr/src切换到此目录wget-chttp://archive.apache.org/dist/apr/apr-1.4.5.tar.gz tarxzvfapr-1.4.5.tar.gzcdapr-1.4.5./configure--prefix=/usr/loc 查看详情
编译安装lamp
...虑路径问题服务器相关信息腾讯云Centos72G内存20G硬盘软件源码位置及软件安装的目录源码存放目录:usrsrc软件安装目录:usrlocal软件名称这里需要说明的是源码存放源代码的位置,安装过程可以指定,软件运行时跑的是软件安装... 查看详情
一键编译安装lamp(代码片段)
...具httpd:apr-1.7.0.tar.gz,apr-util-1.6.1.tar.gz,httpd-2.4.39.tar.bz所有源码包mysql:mariadb-10.2.23.tar.gz源码包php:php-7.3.5tar.bz2源码包以上所有源码包存,以及一键安装脚本存放在root家目录下,运行一键安装脚本。脚本运行完毕,使用浏览器访问测... 查看详情
源码包搭建lamp环境
第一步 1、安装编译工具gcc* 安装数据库编译工具 cmake bison yum-yinstallgcc* cmake bison2、下载LAMP压缩包:lamp.zip,使用脚本批量解压tar.sh3、关闭防火墙、Selinux 第二步 分别编译安装各... 查看详情
2-24-源码编译搭建lamp环境-作业(by小甘丶)
安装上课的内容要求:实验环境:VMwareVirtualMachine:SystemVersion:CentOS6.8(Gan35)IPAddress:192.168.31.35(Birdege)1、用rpm包安装方式搭建一个LAMP环境,并测试是否能够解析PHP页面安装LAMP环境检查安装包是否已安装rpm-qa|grephttpdrpm-qa|grepmysql*rpm... 查看详情
lamp编译实现
一、简述LAMP:二、HTTP2.4编译安装三、源码安装MySQL5.6四、源码安装php-5.6五、配置http访问PHP六、配置php访问mysql实验环境为: php-fpm和msyql编译为同一台主机(CentOS6.9) httpd单独一台主机(CentOS6.9)一、... 查看详情
源码安装lamp
源码包搭建lamp安装apache安装编译器和依赖库文件yum-yinstallgcc*gcc-c++*make*cmake*libtool*ncurses-devel*perl*glibc*libxml-devel解压Apache的压缩包到/usr/src下tarzxfhttpd-2.2.9.tar.gz-C/usr/src/进入目录并执行安装cd/usr/src/ ./c 查看详情
编译安装lamp
...细的过程。本次实验以CentOS7为搭建环境,并且已经使用源码编译安装了httpd-2.4(默认使用prefork模块)和使用通用二进制格式安装了mariadb-5.5。现在将php分别编译成httpd模块和fpm方式工作。httpd模块形式编译安装php编译php并配置# 查看详情
centos7实现基于源码编译安装lamp的wordpress应用
计划:host1安装httpd,phphost2安装mariadb 准备软件:apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 查看详情
centos7实现基于源码编译安装lamp的wordpress应用
计划实现:host1安装httpd,phphost2安装mariadb 准备软件:apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 &nbs 查看详情