您的位置:首页 > 其它

源码编译安装LAMP

2016-09-03 17:18 239 查看

什么是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();
?>

然后再浏览器中测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: