重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
LAMP架构浅析
目前创新互联已为近千家的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、崆峒网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。一、LAMP简介
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的选平台。
二、本实验目的
通过简单编译安装可实现各服务器互相连接,从而对lamp有更清晰的认识。
三、实验环境
Apache-2.4.9(ip 172.16.100.86),php-5.4.26(ip 172.16.100.86),Mariadb-5.5.36(ip172.16.100.91)。在此处Apache和php(php在次作为一模块存在)安装到同一个虚拟机上,Mariadb单独一个。
四、编译安装Apache2.4.9
httpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。装之前还需装载pcre和开发包组。这里选择使用编译源代码的方式进行,可执行#lftp://172.16.0.1。找到apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz2,httpd-2.4.9.tar.bz2。并下载下来。
(1) 编译安装apr
# tar xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make && make install
(2) 如若没问题即编译安装apr-util
# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
(3)编译安装httpd-2.4.9
首先下载httpd-2.4.9到本地,下载路径为ftp://172.16.0.1/pub/Sources/new_lamp。而后执行如下命令进行编译安装过程:
# tar xf httpd-2.4.9.tar.bz2
# cd httpd-2.4.9
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
# make && make install
(4)修改httpd的主配置文件,设置其Pid文件的路径
编辑/etc/httpd24/httpd.conf,需添加如下行:PidFile "/var/run/httpd.pid"
添加情况如下
(5)提供SysV服务脚本/etc/rc.d/init.d/httpd。而后为此脚本赋予执行权限:# chmod +x /etc/rc.d/init.d/httpd,并加入服务列表:# chkconfig --add httpd
五、 编译安装Mariadb-5.5.36
(1)确保没有rpm包安装的mysql,
执行#lftp172.16.0.1
>cd /pub/Sources/6.x86_64/mariadb/
>get mariadb-5.5.36.tar.bz2
下载完成之后先不要忙着装载,要明白数据对于企业来说很重要。因此需要使用专门存储数据的盘,数据如果越来越大也是个问题那么把数据放到逻辑卷中最好了。
(2)创建逻辑卷
#fdisk /dev/sda 点p查看磁盘分区,n新建,如果新建第三个且给+15G大小,而后点t ,3,8e,w保存退出。
#partx -a /dev/sda
#kpartx -af /dev/sda
#cat /proc/partition
接下来创建逻辑卷
#pvcreate /dev/sda3
#vgcreate myvg /dev/sda3
#lvcreate -L 5G -n mydata myvg
#mke2fs -t ext4 -L MYDATA -b 2048 -m 3 /dev/myvg/mydata //格式化完成
#mkdir /mydata
#vim /etc/fstab
#mount -a
#mkdir /mydata/data
#groupadd -r mysql
#useradd -g mysql -r mysql
#id mysql
#chown -R mysql:mysql /mydata/data
#cd /usr/local
#ln -sv mariada[tab] mysql
#cd /usr/local/mysql
#ll //查看属组情况
#chown -R root:mysql ./
在support -files目录下有很多样例文件需要先创建目录#mkdir /etc/mysql而后可以执行#cp support -files/my-large.conf /etc/mysql/my.cnf 接下来就可以在#vim /etc/mysql/my.cnf 里面添加datadir=/mydata/data 指定路径
下面就要初始化数据库,切到mysql目录下
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
而后启动服务
#cp support -files/mysql.server /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --list mysqld
还要在#vim /etc/profile.d/mysql.sh 中添加 export PATH=/usr/local/mysql/bin:$PATH
#source /etc/profice,d/mysql.sh 可运行。
六、编译安装php-5.4.26
(1)先执行
# yum -y groupinstall Desktop Platform Development
# yum -y install bzip2-devel libmcrypt-devel
(2)编译安装php-5.4.26
首先,#lftp://172.16.0.1找到资源下载。
# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-openssl --with-mysqli=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
# make && make intall
# cp php.ini-production /etc/php.ini //为php提供配置文件。
(3)编辑apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd/httpd.conf
定位至DirectoryIndex index.html
而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。
(4)测试页面index.php示例如下:
$link = mysql_connect('172.16.100.91','root','chyu');
if ($link)
echo "Success...";
else
echo "Failure...";
mysql_close();
phpinfo();
?>
(5)使用浏览器测试结果如下:
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。