构建LAMP应用平台

构建LAMP应用平台

一、LAMP应用平台概述;
二、LAMP工作原理;
三、案例:部署LAMP应用平台;

一、LAMP应用平台概述:
1.概述:LAMP是目前最成熟的一种企业网站应用模式,可以提供动态web站点应用及开发环境,其构成linux、apache、mysql、php或python或perl等语言,优势:成本低、易于开发、方便易用、安全稳定;
2.网站分类:
静态:有纯html标签语言编写而成的页面,无论在什么环境,什么身份访问都不会发生变化;
动态:由网页的编程语言编写,例:java、php、.net、python语言,的动态页面,动态页面是由动态页面和html组成为一个网页页面,可以与数据库进行交互,可以通过动态页面对服务器构成操作;
3.php(超文本预处理语言):是一种服务器端html嵌入式语言,支持windows、linux、unix等多平台;

二、LAMP工作原理:
1.LAMP的处理流程:
apache:提供web的访问,客户端和服务器之间网页的传输;
php:提供.php页面的运行环境;
mysql:提供.php页面或者用户数据存放和写入位置;
构建LAMP应用平台
2.FastCGI 接口:
FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇 到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态 脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。
3.FastCGI接口与传统php-CGI接口的区别:
传统CGI程序的性能问题:"PHP解析器会解析php.ini文件,初始化执行环境",就是这里了。标准的CGI对每个请求都会执行这些步骤,所以处理每个时间的时间会比较长。这明显不合理;
Fastcgi处理请求的方式:首先,Fastcgi会先启一个master,解析配置文件,初始化执行环境,然后再启动多个worker。当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求。这样就避免了重复的劳动,效率自然是高。而且当worker不够用时,master可以根据配置预先启动几个worker等着;当然空闲worker太多时,也会停掉一些,这样就提高了性能,也节约了资源。这就是fastcgi的对进程的管理。
4.php-fpm管理器:管理调度php-cgi接口进程的管理程序;

三、案例:部署LAMP应用平台;
案例环境:
系统类型 IP地址 主机名 所需软件
Centos 6.5 64bit 192.168.100.150 www.linuxfan.cn mhash-0.9.9.9.tar.gz、cmake-2.8.6.tar.gz、mysql-5.5.22.tar.gz、php-5.3.28.tar.gz、discuz_7.2_full_sc_utf8.zip、phpmyadmin-3.3.10-all-languages.tar.gz、httpd-2.2.17.tar.gz、wordpress-4.4.1-zh_CN.zip、 ZendGuardLoader-php-5.3-linux-glibc23-x86_64、
libmcrypt-2.5.8.tar.gz 、ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz、
mcrypt-2.6.8.tar.gz

案例步骤:
安装并配置httpd;
客户端验证访问httpd页面;
安装mysql数据库服务;
配置并且启动mysql数据库;
安装php程序的依赖关系;
安装php程序;
配置并且优化php程序;
发布测试项目一:phpmyadmin;
发布测试项目二:论坛discuz;
发布测试项目三:wordpress博客系统;

安装并配置httpd;
[root@www ~]# rpm -e httpd --nodeps
[root@www ~]# wget http://archive.apache.org/dist/httpd/httpd-2.2.17.tar.gz
[root@www ~]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/httpd-2.2.17/
[root@www httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi && make &&make install
[root@www httpd-2.2.17]# ls /usr/local/httpd/ ##安装成功
bin cgi-bin error icons lib man modules
build conf htdocs include logs manual
[root@www httpd-2.2.17]# cd
[root@www ~]# ln -s /usr/local/httpd/bin/ /usr/local/bin/ ##优化执行命令的路径
[root@www ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@www ~]# vi /etc/init.d/httpd
1 #!/bin/bash
2 # chkconfig: 35 85 15 ##在3和5运行级别开机启动,开机启动顺序为85,关机关闭顺序为15
81 $HTTPD -k $ARGV &&echo "httpd is $ARGV complete." ##第82行,添加输出信息
:wq
[root@www ~]# chmod +x /etc/init.d/httpd
[root@www ~]# chkconfig --add httpd
[root@www ~]# chkconfig --list httpd
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
[root@www ~]# vi /usr/local/httpd/conf/httpd.conf ##修改主配置文件
:set nu ##打印出行号
29 ServerRoot "/usr/local/httpd"
40 Listen 80
65 User daemon
66 Group daemon
88 ServerAdmin 1111@qq.com ##修改管理员的邮箱
97 ServerName www.linuxfan.cn:80 ##添加网站的域名
104 DocumentRoot "/usr/local/httpd/htdocs"
186 ErrorLog "logs/error_log"
193 LogLevel warn
215 CustomLog "logs/access_log" common
:wq
[root@www ~]# cat <<END > /usr/local/httpd/htdocs/index.html
www.linuxfan.cn
END
[root@www ~]# /etc/init.d/httpd start
httpd is start complete.
[root@www ~]# netstat -utpln |grep httpd
tcp 0 0 :::80 :::
LISTEN 73341/httpd

客户端验证访问httpd页面;
www.xiaoxue.com

安装mysql数据库服务;
[root@www ~]# yum -y remove mysql mysql-server ##卸载mysql的rpm包
[root@www ~]# yum -y install ncurses ncurses-devel
[root@www ~]# tar zxvf /root/cmake-2.8.6.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/cmake-2.8.6
[root@www cmake-2.8.6]# ./configure &&gmake &&gmake install
[root@www cmake-2.8.6]# cd
[root@www ~]# tar zxvf /root/mysql-5.5.22.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/mysql-5.5.22/
[root@www mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/ &&make &&make install
注解:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定安装目录\
-DDEFAULT_CHARSET=utf8 #指定字符集为utf8 \
-DDEFAULT_COLLATION=utf8_general_ci ##指定字符校验 \
-DWITH_EXTRA_CHARSETS=all ##支持额外字符集\
-DSYSCONFDIR=/etc/ ##指定配置文件位置
make &&make install #编译安装
[root@www mysql-5.5.22]# cd
[root@www ~]# ls /usr/local/mysql
bin data include lib mysql-test scripts sql-bench
COPYING docs INSTALL-BINARY man README share support-files

配置并且启动mysql数据库;
[root@www ~]# cp -rf /usr/src/mysql-5.5.22/support-files/my-medium.cnf /etc/my.cnf ##复制主配置文件
[root@www ~]# cp /usr/src/mysql-5.5.22/support-files/mysql.server /etc/init.d/mysqld ##复制服务器控制脚本
[root@www ~]# chmod +x /etc/init.d/mysqld
[root@www ~]# chkconfig --add mysqld
[root@www ~]# chkconfig mysqld on
[root@www ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile ##优化mysql的命令
[root@www ~]# source /etc/profile ##执行文件
[root@www ~]# useradd -M -s /sbin/nologin mysql ##创建运行mysql服务的用户
[root@www ~]# chown -R mysql:mysql /usr/local/mysql ##将mysql的安装目录属主和数组设置为
[root@www ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql ##初始化mysql服务,会在/usr/local/mysql/data/目录下产生默认的文件,初始化时,必须保证/tmp目录777+t
[root@www ~]# /etc/init.d/mysqld start
[root@www ~]# netstat -utpln |grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22177/mysqld
[root@www ~]# mysqladmin -u root password '123123' ##设置mysql的root管理员密码为
[root@www ~]# mysql -uroot -p123123 ##登录,也可以用-h选项指定服务器的ip地址进行远程登录
quit

安装php程序的依赖关系;
下载 libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz mcrypt-2.6.8.tar.gz php-5.3.28.tar.gz ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz 并且使用xftp上传到服务器中,安装mcrypt等支持扩展库工具,数据加密工具,安装的顺序必须libmcrypt-->mhash-->mcrypt;
[root@www ~]# rpm -e php php-mysql --nodeps
[root@www ~]# tar zxvf /root/libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/libmcrypt-2.5.8/
[root@www libmcrypt-2.5.8]# ./configure &&make &&make install
[root@www libmcrypt-2.5.8]# cd
[root@www ~]# ln -s /usr/local/lib/libmcrypt. /usr/lib64/
[root@www ~]# tar zxvf /root/mhash-0.9.9.9.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/mhash-0.9.9.9/
[root@www mhash-0.9.9.9]# ./configure &&make &&make install
[root@www mhash-0.9.9.9]# cd
[root@www ~]# ln -s /usr/local/lib/libmhash
/usr/lib64/
[root@www ~]# tar zxvf /root/mcrypt-2.6.8.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/mcrypt-2.6.8/
[root@www mcrypt-2.6.8]# ./configure &&make &&make install
[root@www mcrypt-2.6.8]# cd
[root@www ~]# yum -y install libxml2-devel zlib-devel gd

安装php程序;
[root@www ~]# tar zxvf /root/php-5.3.28.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/php-5.3.28/
[root@www php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring && make &&make install
注解:
--prefix=/usr/local/php5 ##安装位置
--with-mcrypt ##加载依赖的扩展工具
--with-apxs2=/usr/local/httpd/bin/apxs ##加载apache的连接模块
--with-mysql=/usr/local/mysql/ ##指定mysql的安装位置
--with-config-file-path=/usr/local/php5 ##指定php的主配置文件存放位置
--enable-mbstring ##开启多字符节支持
[root@www php-5.3.28]# cd
[root@www ~]# ls /usr/local/php5
bin etc include lib man

配置并且优化php程序;
[root@www ~]# cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini
[root@www ~]# sed -i 's/short_open_tag = Off/short_open_tag = On/g' /usr/local/php5/php.ini #修改配置项支持php标记<?php ?>
[root@www ~]# echo "default_charset = "utf8" " >>/usr/local/php5/php.ini ##设置默认字符集utf8
[root@www ~]# tar zxvf /root/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /root/ ##添加zend模块,建立在PHP基础上的一个模块,优化代码的方法来提高PHP应用程序的执行速度,优化解析速度
[root@www ~]# cp -rf /root/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php5/lib/php/
[root@www ~]# cat <<END >>/usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_enable=1
END

配置httpd服务,使其支持php界面,并且测试php页面;
[root@www ~]# sed -i '310a\AddType application/x-httpd-php .php' /usr/local/httpd/conf/httpd.conf
[root@www ~]# sed -i 's/DirectoryIndex index.html/DirectoryIndex index.html index.php/g' /usr/local/httpd/conf/httpd.conf
[root@www ~]# cat <<END >>/usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
END
[root@www ~]# /etc/init.d/mysqld restart
[root@www ~]# /etc/init.d/httpd restart
访问测试:
http://www.linuxfan.cn/index.php
构建LAMP应用平台

发布测试项目一:phpmyadmin;
[root@www ~]# tar zxvf /root/phpmyadmin-3.3.10-all-languages.tar.gz
[root@www ~]# mkdir /usr/local/httpd/htdocs/linuxfan
[root@www ~]# mv /root/phpMyAdmin-3.3.10-all-languages/ /usr/local/httpd/htdocs/linuxfan/pmyadm
[root@www ~]# cd /usr/local/httpd/htdocs/linuxfan/pmyadm
[root@www pmyadm]# cp config.sample.inc.php config.inc.php
[root@www pmyadm]# cd
[root@www ~]# /etc/init.d/httpd restart
访问测试(登录使用mysql的账户密码):
http://www.linuxfan.cn/linuxfan/pmyadm

构建LAMP应用平台
构建LAMP应用平台

发布测试项目二:论坛discuz;
[root@www ~]# mysql -uroot -p123123
mysql> create database bbsdb;
mysql> grant all on bbsdb.* to 'runbbs'@'localhost' identified by '123123';
mysql> flush privileges;
mysql> quit
[root@www ~]# unzip discuz_7.2_full_sc_utf8.zip -d discuz
[root@www ~]# cp -rf discuz/upload/ /usr/local/httpd/htdocs/linuxfan/bbs
[root@www ~]# cd /usr/local/httpd/htdocs/linuxfan/bbs/
[root@www bbs]# chown daemon forumdata/ attachments/ uc_client/data/cache/ templates/ config.inc.php -R
[root@www bbs]# cd
[root@www ~]# /etc/init.d/httpd restart
访问测试:
http://www.linuxfan.cn/linuxfan/bbs/install/
安装时数据库填写localhost

构建LAMP应用平台
构建LAMP应用平台

发布测试项目三:wordpress博客系统;
[root@www ~]# mysql -uroot -p123123
mysql> create database wpdb;
mysql> grant all on wpdb.* to 'wpadm'@'localhost' identified by '123123';
mysql> quit
[root@www ~]# unzip wordpress-4.4.1-zh_CN.zip
[root@www ~]# cp -rf wordpress /usr/local/httpd/htdocs/linuxfan/
[root@www ~]# cd /usr/local/httpd/htdocs/linuxfan/wordpress/
[root@www wordpress]# cp wp-config-sample.php wp-config.php
[root@www wordpress]# sed -i 's/database_name_here/wpdb/g' wp-config.php
[root@www wordpress]# sed -i 's/username_here/wpadm/g' wp-config.php
[root@www wordpress]# sed -i 's/password_here/123123/g' wp-config.php
[root@www wordpress]# cd
[root@www ~]# /etc/init.d/httpd restart
访问测试:
http://www.linuxfan.cn/linuxfan/wordpress/
构建LAMP应用平台

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值