源码编译安装LAMP

什么是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请求,将请求交给这个模块来处理!

依赖组件

yum groupinstall "Development Tools" "Development Libraries" -y

 yum install gcc gcc-c++ openssl-devel -y   

apr和apr-util依赖

tar xf apr-1.5.2.tar.gz -C /usr/local/src/ &&tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/

cd /usr/local/src/apr-1.5.2/ && ./configure --prefix=/usr/local/apr && make -j 2 && make install

cd ../apr-util-1.5.4/ && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make -j 2 && make install

cd && tar xf pcre-8.37.tar.bz2 -C /usr/local/src/

cd /usr/local/src/pcre-8.37/ && ./configure --prefix=/usr/local/pcre && make -j 2 && make install && cd

Apache源码编译

tar xvf httpd-2.4.16.tar.bz2 -C /usr/local/src/ && cd /usr/local/src/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 4 && make install

–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的演变和发展。

配置Apache的启动脚本

cp /usr/local/apache2.4/bin/apachectl  /etc/init.d/apache2.4

vim /etc/init.d/apache2.4 添加如下内容

#!/bin/sh
# chkconfig: 2345 64 36            
#这个是启动级别的服务,2345是指那些级别启动,64是开启顺序,应该在network服务的后面,36是关闭顺序,应该在network的前面,这里并不是注释
#默认network的是:2345 10 90
# description: Apache2.4.16 start script            #描述字段,有了这两个字段,就可以用chkconfig命令控制

启动

service apache2.4 start
chkconfig apache2.4 on

一个用户用来运行apache

useradd -M -s /sbin/nologin apache 
vim /usr/local/apache2.4/conf/httpd.conf

User apache                     #运行用户
Group apache                    #运行组,创建apache的时候已经即时创建了apache这个组


chown -R apache:apache /usr/local/apache2.4/ 

MySql

依赖

yum install -y cmake     ncurses-devel 

安装之前使用 yum remove mysql 确保没有安装MySQL

MySql

tar xf mysql-5.6.26.tar.gz -C /usr/local/src/ ; cd /usr/local/src/mysql-5.6.26

useradd -M -s /sbin/nologin mysql
//编译
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

//安装
make -j 4 && make install

配置mysql

cd && chown -R mysql:mysql /usr/local/mysql/                //属主属组更改

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf       //覆盖原配置文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld    //启动脚本

vim /etc/init.d/mysqld      //更改启动脚本中指定mysql
#修改为
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

初始化数据库

 /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

启动设置

ln -s /usr/local/mysql/bin/* /bin/                  //这个里面是部分命令,让系统直接调用

service mysqld  start 

 mysql_secure_installation            //初始安全设

PHP

依赖

yum install -y libxml2-devel

安装

 tar xf php-5.6.13.tar.bz2 -C  /usr/local/src/ ; cd /usr/local/src/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

make –j 4 ; make install ; cd /usr/local/src/php-5.6.13


cp php.ini-production /usr/local/php/php.ini ; cd  

检测

ls  /usr/local/apache2.4/modules/httpd.exp 

ls /usr/local/apache2.4/modules/libphp5.so

配置Apache支持PHP

vim /usr/local/apache2.4/conf/httpd.conf

248    <IfModule dir_module>
249       DirectoryIndex index.html index.php           #添加index.php
250    </IfModule>
……
376     AddType application/x-compress .Z
377     AddType application/x-gzip .gz .tgz       #上面两行是以前有的
378     AddType application/x-httpd-php .php      #下面两行是添加的,需要添加以支持PHP
379     AddType application/x-httpd-php-source .phps
vim /usr/local/apache2.4/htdocs/index.php
<?php
        phpinfo();
?>

然后再浏览器中测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值