源码编译安装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.conf248 <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(); ?> 然后再浏览器中测试
相关文章推荐
- LAMP源码编译安装配置+wordpress
- 源码编译安装LAMP
- CentOS 源码编译安装LAMP(Apache MySQL PHP)
- CentOS7最小化安装下源码编译搭建LAMP, LNMP环境及搭建discuz论坛
- 虚拟机CentOS7最小化安装下源码编译搭建LAMP环境之一: ————CentOS7最小化安装
- web及LAMP源码编译安装
- CentOS 源码编译安装LAMP(Apache MySQL PHP)
- LAMP源码编译安装配置
- LAMP源码编译安装和yum安装
- 虚拟机CentOS7最小化安装下源码编译搭建LAMP环境之四: ————PHP编译安装
- lamp源码编译安装过程
- LAMP详解及源码编译安装过程 2012-07-09 18:34:41
- LAMP详解及源码编译安装过程
- 源码编译安装 httpd2.4+MariaDB5.5+php5.4 全新的LAMP 推荐
- 使用脚本进行LAMP架构源码编译安装(经多次测试可行) 推荐
- CentOS 5.X 源码编译安装LAMP(Apache+MySQL+PHP)
- 源码编译安装lamp(linux+apache+mysql+php)
- CentOS 源码编译安装LAMP(Apache MySQL PHP)
- 虚拟机CentOS7最小化安装下源码编译搭建LAMP环境之二: ————Apache编译安装
- CentOS 源码编译安装LAMP(Apache MySQL PHP)