Linux进阶之路——LAMP架构搭建及常见问题

LAMP是“Linux”“Apache”“Mysql”“php”的简写,就是把Apache,mysql及php安装在Linux系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的web服务软件,mysql也是比较小型的数据库软件。下面就开始搭建LAMP环境,LAMP搭建环境有一定的要求,一定要最后搭建PHP。

一、搭建mysql

mysql最好安装二进制免编译包。这个软件是区分平台的,可以在Linux系统中通过`#uname -i`来查看你的Linux是多少位的。5.5之前的版本安装方法和5.5之后版本的安装方法还有点差异。下面先介绍5.5版本之前的安装方法。

(1)5.5版本之前的安装

首先下载免编译的二进制包
#cd/usr/local/src
然后将下载下来的免编译二进制包解压并移动到指定位置,方便以后运维。
接下来就是,建立mysql的用户,创建数据库的存储目录,然后初始化数据库。
#useradd -s /sbin/nologin mysql#mysql用户为不可登录用户
#mkdir -p /data/mysql
#cd /usr/local/mysql
#chown -R mysql:mysql /data/mysql
#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
出现两个“ok”则说明初始化成功。

初始化成功之后开始配置mysql,修改它的配置文件,并增加它的启动脚本。
#cp support-files/my-large.cnf /etc/my.cnf 
#cp support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld
#vi /etc/init.d/mysqld#修改其中的“basedir”和“datadir”

#chkconfig --add mysqld 
#chkconfig mysqld on #设置成开机启动
#service mysqld start

(2)5.5版本之后的搭建

首先下载源码包
#cd /usr/local/src
#wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz
解压然后安装必需的环境
#tar -zxvf mysql-5.6.32.tar.gz
#cd mysql-5.6.32
#yum install -y cmake bison ncurses-devel gcc*
接下来配置编译参数,然后编译安装
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
#make
#make install
安装完成,建立mysql用户和数据库目录,并进行数据库初始化。
#useradd -s /sbin/nologin mysql
#cd /usr/local/mysql
#mkdir -p /data/mysql
#chown -R mysql:mysql /data/mysql
#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 出现2个OK说明初始化成功

初始化成功之后,就需要配置mysql的配置文件和它的启动脚本。
#cp support-files/my-large.cnf /etc/my.cnf
#cp support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld 
#vi /etc/init.d/mysqld修改其中的“basedir=/usr/local/mysql”和“datadir=/data/mysql”
#service mysqld start
注意:如有报错,请查看/data/mysql/localhost.localdomain.err里面的报错信息。
把mysql进程加入开机启动
#chkconfig --add mysqld 
#chkconfig mysqld on

二、搭建apache
这里的apache其实就是httpd,httpd的版本也有所差异。

(1)httpd2.4版本之前安装

首先下载源码包,并解压。
#cd /usr/local/src
#wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.gz
#tar -zxvf httpd-2.2.31.tar.gz
解压过后进行编译,但在编译之前安装所需的gcc等必需环境。
#cd httpd-2.2.31
#yum install -y gcc* zlib-devel pcre pcre-devel apr apr-devel 
配置编译参数,如果你想更改apache的工作模式(prefork,worker,event),就加上参数--with-mpm=worker/prefork/event。2.4版本开始httpd默认是event工作模式。
#./configure \
--prefix=/usr/local/apache \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
开始编译并安装
#make
#make install

(2)httpd2.4版本搭建

centos6 yum安装的apr版本已经不适用httpd-2.4版本了,所以需要源码编译apr以及apr-util
#cd /usr/local/src
#wget http://mirrors.sohu.com/apache/httpd-2.4.20.tar.gz
安装apr
#tar -jxvf apr-1.5.2.tar.bz2
#cd apr-1.5.2
#./configure --prefix=/usr/local/apr
#make
#make install
安装apr-util  
#cd /usr/local/src
#tar -zxvf apr-util-1.5.4.tar.gz
#./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr/
#make
#make install
安装httpd,先安装必需的环境
#cd /usr/local/src
#tar -zxvf httpd-2.4.20.tar.gz
#cd httpd-2.4.20
#yum install -y zlib-devel pcre pcre-devel apr apr-devel gcc*
#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre
#make
#make install 
请注意2.4版本可能不适合以下配置apache文件的操作

三、搭建php
php的搭建放在最后,因为在编译php的时候需要指定mysql以及apache的路径。php可以选择比较稳定的版本5.4左右的。

下载php源码包
#cd /usr/local/src
#wget http://mirrors.sohu.com/php/php-5.4.28.tar.gz
解压源码包,下载编译必需的环境
#tar -zxvf php-5.4.28.tar.gz
#cd php-5.4.28
#yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel libjpeg libjpeg-devel
#yum install -y epel-release
#yum install -y libmcrypt-devel
配置编译参数,并编译和安装
#./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/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
#make
#make install
安装完成之后,php只用拷贝配置文件。
#cp php.ini-production /usr/local/php/etc/php.ini

四、配置apache文件让php能够解析

先修改apache配置文件
#vi /usr/local/apache/conf/httpd.conf
找到“<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny form all
</Directory>”
改为“ <Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow form all
</Directory>修改这个是为了不出现网站禁止访问的现象
找到“AddType application/x-gzip.gz.tgz”
在该行下面添加“ AddType application/x-httpd-php .php增加这个是为了支持php脚本解析
找到“<IfModule dir_module>
DirectoryIndex index.html
</IfModule>”
改为“ <IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>	增加这个是为了针对php的索引,如果一个站点默认页为index.php,那么就需要加上这个index.php的支持。
找到“#ServerName www.example.com:80”
改为“ ServerName localhost:80
配置完成之后需要检查配置文件是否有语法错误
#/usr/local/apache/bin/apachectl -t 显示Syntax OK 说明配置没有问题
启动apache
#/usr/local/apache/bin/apachectl start
写一个测试php是否解析的php脚本,一定要放在htdocs这个目录下
# vi /usr/local/apache/htdocs/1.php
<?php
echo "php works.";
?>
接下来就可以用浏览器通过http://IP/1.php查看php是否解析成功。

至此,LAMP环境搭载完成,接下来就是LAMP环境的各种优化了,请关注下一篇博客。




  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值