您的位置:首页 > 运维架构 > Linux

第十七天:搭 建 L A M P 架 构

2015-09-28 22:43 711 查看
小Q:无论你多么努力多么辛苦的让自己做到完美,始终会有一群人在背地里指 着你的背影比比划划;你不需要跟谁计较或对骂,他们未必是坏人,只是不懂你的活法。
=============================================================

今天主要学习了LAMP架构的搭建,其实简单的搭建不难,他的难点就是针对他们几个的组合,对配置文件有联系的更改;今天一直在操作了,本来安装很简单,但是出的错我还是解决不了,即使一点小错也让我束手无策,现在明确的感觉到我需要有第二遍的学习,今天一块跟着我的路走走吧。
LAMP架构:
实话说,大家应该都有这种心病,一听架构就感觉很难,太高深的层次了,我最初也是这么想的;或者说如果我就跟着标准步骤一遍就安装好的话,我还会这么想,但是今天一直在出错,一直在问,一遍遍的卸载,一遍遍的安装,我看清了不少;
其实所谓架构:简单地说就是几个软件组合,只不过这种组合经过好些年探索能发挥特别大的作用;
而他就是在Linux系统上装了Apache+mysql+php 三个软件,并让他们有效率的结合。
安装 mysql:
检测版本 : cat /etc/issue uname -a
根据系统版本选择对应的版本的mysql
卸载自带: 我们安装的系统一般会自带mysql,可rpm -qa | grep mysql 查看
因为我们做实验嘛,先卸载他 yum remove 包名
如果我们下载的是源码包,过程你可能会遇到编译出现的错误,这时就可以看看了
他编译需要 cmake 编译器

cd /usr/local/src/
wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz tar zxvf cmake-2.8.5.tar.gz
cd cmake-2.8.5

这是因为没有安装cmake的依赖软件gcc,gcc-c++
yum -y install gcc gcc-c++ ------->安装完成后执行
./bootstrap
make && make install
cmake -version ------>安装完成后,检测版本查看是否已安装
官 网 : http://dev.mysql.com/downloads/
5.5_64位二进制软件包:http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.45-linux2.6-x86_64.tar.gz
5.5_32位二进制包:http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.45-linux2.6-i686.tar.gz
5.6_32位二进制:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-i686.tar.gz
5.6_64位二进制:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
cd /usr/local/src wget 网址 或者 curl -O 网址
一般人们都习惯把源码包放在这个路径下,方便我们的记忆;

解压 : tar -zxvf ( jxvf ) 压缩包 最好在本目录下解压,方便找

把解压完的数据移动到/usr/local/mysql 只移动目录下的文件和目录
[root@localhost src]# mv   mysql-linux-i686-icc-glibc23     /usr/local/mysql
建立mysql用户
[root@localhost src]# useradd   -s    /sbin/nologin    mysql                         限制为不可登陆
初始化数据库
[root@localhost src]# cd    /usr/local/mysql
[root@localhost mysql]# mkdir   -p /data/mysql    ;    chown   -R   mysql:mysql    /data/mysql
[root@localhost mysql]# ./scripts/mysql_install_db    --user=mysql    --datadir=/data/mysql
--user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果您看到两个 “OK” 说明执行正确,否则请仔细查看错误信息
#拷贝配置文件
[root@localhost mysql]#  cp   support-files/my-large.cnf     /etc/my.cnf
#拷贝启动脚本文件并修改其属性
[root@localhost mysql]#  cp   support-files/mysql.server    /etc/init.d/mysqld
[root@localhost mysql]#  chmod   755   /etc/init.d/mysqld
#修改启动脚本
[root@localhost mysql]#  vim   /etc/init.d/mysqld
#需要修改的地方有
“datadir=/data/mysql”     (前面初始化数据库时定义的目录)
“basedir=/usr/local/mysyl” (前面移动的总目录)
把启动脚本加入系统服务列表,并设定开机启动,启动mysql
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
查看: ps aux | grep mysql netstat -lnp | grep mysql

下面这图中的问题折磨了我好久,到现在具体我都不明白,不过我下了个libaio库,又把所有卸载重新装,到是解决了,不过我还是不确定是因为这个库,因为它提示文件找不到;







扩展:http://blog.sina.com.cn/s/blog_12debe8f00102vphh.html

安装 Apache:

同样apache也需要到官网下载合适的版本,目前使用较多的版本为2.0或者2.2
apache官网下载地址: http://www.apache.org/dyn/closer.cgi
[root@localhost  ]#   cd    /usr/local/src/
[root@localhost src]#   wget 或者 curl  -O    源码包衔接       2.2.24.tar.bz2解压:
[root@localhost src]#   tar    jvxf(zxvf)   下载的压缩包
配置编译参数:
[root@localhost src]#   cd     httpd-2.2.24(解压的包)
[root@localhost httpd-2.2.24]# ./configure \
--prefix=/usr/local/apache2 \           #     --prefix 指定安装到哪里
--with-included-apr \
--enable-so \                                                              --enable-so 表示启用DSO [1]
--enable-deflate=shared \              #    表示共享的方式编译deflate
--enable-expires=shared \               #    同上
--enable-rewrite=shared \
--with-pcre
他解压后直接配置的,没有像mysql一样把目录移动到local下,这样看来不符合我们
安装的习惯,因为下载的是源码包,他需要编译,所以在编译过程他会读取配置文档,文档中我们已经给他指定安装位置了;
错误:

error: mod_deflate has been requested but can not be built due to prerequisite failures
解决办法是:
yum install -y zlib-devel
为了避免在make的时候出现错误,所以最好是提前先安装好一些库文件:

yum install -y pcre pcre-devel apr apr-devel

编译: [root@localhost httpd-2.2.24]# make
安装: [root@localhost httpd-2.2.24]# make install

查看: ps aux | grep apache netstat -lnp | grep apache
/usr/local/apache2/bin/apachectl stsrt/stop/restart/graceful 开启/关闭/重启/更新服务
/usr/local/apache2/bin/apachectl -M 列出所有模块(静+动)动/usr/local/apache2/moudels
/usr/local/apache2/bin/apachectl -l 列出所有静态模块 静/usr/local/apache2/bin/httpd
/usr/local/apache2/bin/apachectl -t 查看配置文件有无语法错
安装Apache倒是挺流畅,没什么大问题;但是他目录下的配置文件很重要,要好好理解,另外他的三种模式perfork worker event 特别重要,附加一篇文章:
http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html
=http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=4327998

安装 php :
php需要把自己的动态共享模块自动加载到Apache的目录下,所以他的安装必须在
Apache之后,否则会特别麻烦;
官网 :http://www.php.net/downloads.php 别去右击复制衔接,主页选版本,选中国标,但别下载,找衔接
下载php:
[rot@localhost httpd-2.2.24]# cd    /usr/local/src
[root@localhost src]# wget       http://am1.php.net/distributions/php-5.3.27 .tar.gz解压:
[root@localhost src]# tar   zxf    php-5.3.27.tar.gz
配置编译参数:
[root@localhost src]# cd php-5.3.27
[root@localhost php-5.3.27]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6
这个过程我们可能会遇到许多错,因为错误类型太多,去看我下一篇的积累吧;
注意:也许好多库和包我们的本地或在线yum都找不到,我们需要第三方的扩展yum源,
比较好用的是 epel :
6版的32位:www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
6版的64位:www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm
阿里云的 : http://mirrors.aliyun.com/repo/epel-6.repo

安装: rpm -ivh ‘网址衔接’ 但要加上http://,否则他会默认搜索本地的

下载需要的库,然后再次运行以上的配置,出错的话再找原因解决,再运行配置,直到成功
编译: make 编译安装: make install

拷贝配置文件:
[root@localhost php-5.3.27]# cp php.ini-production /usr/local/php/etc/php.ini

重点问题:

































内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux LAMP