第十七天:搭 建 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 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
安装的习惯,因为下载的是源码包,他需要编译,所以在编译过程他会读取配置文档,文档中我们已经给他指定安装位置了;
错误:
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:
注意:也许好多库和包我们的本地或在线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
重点问题:
=============================================================
今天主要学习了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 socket 初步
- linux lsof详解
- linux 文件权限
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区