设为首页 收藏本站
查看: 937|回复: 0

LAMP平台搭建部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-26 09:20:10 | 显示全部楼层 |阅读模式
LAMP平台部署及应用

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.

目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境
构成组件
Linux、Apache、MySQL、PHP/Perl/Python
LAMP的优势
成本低廉
可定制、易于开发
方便易用、安全和稳定

一、安装apache

1.准备工作
服务器IP:192.168.3.10
[iyunv@localhost ~]# service iptables stop       //关闭防火墙
[iyunv@localhost ~]# setenforce 0//关闭selinux

2.检查是否通过rpm方式安装了相关软件,防止冲突
rpm -e  httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-

httpd php php-cli php-ldap php-common php-mysql  mysql-server mysql dovecot

3.源代码安装apache
[iyunv@localhost ~]# tar xf httpd-2.2.17.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/httpd-2.2.17/
[iyunv@localhost httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-

rewrite --enable-charset-lite --enable-cgi
[iyunv@localhost httpd-2.2.17]# make && make install

--prefix:        指定将httpd服务程序安装到哪个目录
--enable-so:      启用动态加载模块支持
--enable-rewrite:启用网页地址重写功能
--enable-charset: 启用字符集支持
--enable-cgi:     启用CGI脚本程序支持

4.优化路径
[iyunv@localhost httpd-2.2.17]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[iyunv@localhost httpd-2.2.17]# cd /usr/local/
[iyunv@localhost local]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[iyunv@localhost ~]# vim /etc/init.d/httpd
#!/bin/sh
#chkconfig: 345 61 61
#description:Apache https
[iyunv@localhost ~]# chmod +x /etc/init.d/httpd
[iyunv@localhost ~]# chkconfig --add httpd
[iyunv@localhost ~]# chkconfig --list httpd

[iyunv@localhost ~]# service httpd restart

问题1:
httpd: apr_sockaddr_info_get() failed for localhost.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1

for ServerName
httpd not running, trying to start

[iyunv@localhost ~]# cd /usr/local/httpd/conf/
[iyunv@localhost conf]# vi httpd.conf
     97 #ServerName crushlinux.example.com:80
     98 ServerName localhost:80

[iyunv@localhost conf]# service httpd start
[iyunv@localhost conf]# ps -aux |grep httpd
[iyunv@localhost conf]# netstat -anpt | grep :80
tcp        0      0 :::80                       :::*                        LISTEN      

22238/httpd

问题2:
/usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open

shared object file: No such file or directory
有很多so模块在/usr/local/lib目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行

[iyunv@localhost conf]#vi /etc/ld.so.conf
/usr/local/lib
[iyunv@localhost conf]# /sbin/ldconfig -v
现在您已经将 Apach源代码安装在 /usr/local/httpd。本源代码安装支持可装载模块
和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:
/usr/local/httpd/bin/apachectl start

二、安装mysql

1.源代码安装Mysql
[iyunv@localhost ~]# useradd -M -u 49 -s /sbin/nologin mysql
[iyunv@localhost ~]# tar xf mysql-5.1.55.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/mysql-5.1.55/
[iyunv@localhost mysql-5.1.55]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --

with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312
[iyunv@localhost mysql-5.1.55]# make && make install

[iyunv@localhost mysql-5.1.55]# cp support-files/my-medium.cnf /etc/my.cnf
[iyunv@localhost mysql-5.1.55]# cd /usr/local/mysql/bin/
[iyunv@localhost bin]# ./mysql_install_db --user=mysql

[iyunv@localhost bin]# chown -R root:mysql /usr/local/mysql/
[iyunv@localhost bin]# chown -R mysql /usr/local/mysql/var/
[iyunv@localhost bin]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[iyunv@localhost bin]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib/
[iyunv@localhost bin]# ln -s /usr/local/mysql/include/mysql/* /usr/include/

[iyunv@localhost bin]# cd /usr/src/mysql-5.1.55/
[iyunv@localhost mysql-5.1.55]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[iyunv@localhost mysql-5.1.55]# chmod a+x /etc/rc.d/init.d/mysqld
[iyunv@localhost mysql-5.1.55]# chkconfig --add mysqld
[iyunv@localhost mysql-5.1.55]# chkconfig --list mysqld
mysqld         0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

[iyunv@localhost mysql-5.1.55]# service mysqld restart
Shutting down MySQL.                                       [确定]
Starting MySQL.                                            [确定]


如果报错:(没有略过)
[iyunv@localhost mysql-5.1.55]#  service mysqld restart
MySQL manager or server PID file could not be found!       [失败]
Starting MySQL.Manager of pid-file quit without updating fi[失败]

问题:
启动MYSQL报错Starting MySQL.Manager of pid-file quit without updating fi[失败]
rm -rf /var/lib/mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql

[iyunv@localhost ~]# netstat -anpt | grep :3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      

3089/mysqld  

三、安装其他软件包(php)

1.源代码安装libmcrypt
[iyunv@localhost ~]# tar xf libmcrypt-2.5.8.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/libmcrypt-2.5.8/
[iyunv@localhost libmcrypt-2.5.8]# ./configure && make && make install
[iyunv@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

2.源代码安装mhash
[iyunv@localhost ~]# tar xf mhash-0.9.9.9.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/mhash-0.9.9.9/
[iyunv@localhost mhash-0.9.9.9]# ./configure && make && make install
[iyunv@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/

3.源代码安装mcrypt
[iyunv@localhost ~]# tar xf mcrypt-2.6.8.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/mcrypt-2.6.8/
[iyunv@localhost mcrypt-2.6.8]# ./configure && make && make install

编译安装mcrypt报错:
configure: error: *** libmcrypt was not found
环境变量问题:gcc编译的时候根据自身定义的变量寻找相关函数库等文件
libmcrypt在环境变量中没有定义出来:所以需要手动添加:
export LD_LIBRARY_PATH=/usr/local/lib:$ LD_LIBRARY_PATH
继续编译安装吧!

4.源代码安装PHP
[iyunv@localhost ~]# tar xf php-5.3.6.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/php-5.3.6/
[iyunv@localhost php-5.3.6]# ./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
[iyunv@localhost php-5.3.6]# && make && make install

--prefix=/usr/local/php5 //指定安装目录
--with-mcrypt //加载扩展工具支持
--with-apxs2=/usr/local/httpd/bin/apxs//设置Apache提供的apxs模块程序文件位置
--with-mysql=/usr/local/mysql //指定mysql服务的安装路径
--with-config-file-path=/usr/local/php5 //指定php配置文件“php.ini”的存放路径
--enable-mbstring//启用多字节字符串功能

问题:
make && make install 报错信息如下:
/usr/bin/ld:cannot find-lltdl collect2:ld returned 1 exit status
make :***[libphp5.la] Error 1

解决方案:
mount /dev/cdrom /mnt/
rpm -ivh /mnt/Server/libtool-1.5.22-7.el5_4.i386.rpm
rpm -ivh /mnt/Server/libtool-ltdl-1.5.22-7.el5_4.i386.rpm
rpm -ivh /mnt/Server/libtool-ltdl-devel-1.5.22-7.el5_4.i386.rpm

四、设置lamp组件

1.设置lamp组件
[iyunv@localhost php-5.3.6]# ls /usr/src/php-5.3.6/php.ini-*

2.复制样例文件
[iyunv@localhost php-5.3.6]# cp /usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini

3.php.ini配置调整
[iyunv@localhost ~]# vim /usr/local/php5/php.ini

773 default_charset = "utf-8"//设置默认字符集为utf-8
871 file_uploads = On//允许通过PHP网页上传文件
880 upload_max_filesize = 2M//允许上传的文件大小限制
883 max_file_uploads = 20//每个HTTP请求最多允许上传的文件数
728 post_max_size = 8M//每次通过表单POST提交的数据量限制
226 short_open_tag = On//允许识别PHP短语法标记,即<? … ?>

4.添加ZendGuardLoader模块(用于优化页面加载速度)
[iyunv@localhost ~]# tar xf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/
[iyunv@localhost ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
[iyunv@localhost php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
[iyunv@localhost ~]# vim /usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1


5.调整Apache配置
[iyunv@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
53 LoadModule php5_module        modules/libphp5.so配置加载PHP程序的模块文件
54 AddType application/x-httpd-php .php .phtml 添加对“.php”类型网页支持
169     DirectoryIndex index.php index.html         识别常见的php首页文件
[iyunv@localhost ~]# service httpd restart


6.功能测试
1)测试PHP能否正常提供服务
[iyunv@localhost ~]# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo ();内建函数用于显示PHP环境信息
?>
service httpd restart
浏览器输入:http://192.168.200.128/test1.php
QQ截图20150126091716.png

2)测试PHP能否正常访问mysql数据库
[iyunv@localhost ~]# vi /usr/local/httpd/htdocs/test2.php
<?php
$link=mysql_connect('localhost','root','');
if($link) echo "Connect Successfully!";
else echo "Connect Faild!";
mysql_close();
?>

service httpd restart
浏览器输入:http://192.168.200.128/test2.php
QQ截图20150126091722.png

11、部署应用案例
tar xf phpMyAdmin-3.3.10-all-languages.tar.gz
mv phpMyAdmin-3.3.10-all-languages /usr/local/httpd/htdocs/phpMyAdmin
cd /usr/local/httpd/htdocs/phpMyAdmin/
cp config.sample.inc.php config.inc.php      
vi config.inc.php
$cfg['blowfish_secret'] = 'pwd@123'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

mysqladmin -u root password '123.com'

12.
浏览器输入:http://192.168.3.10/phpMyAdmin/
用户名:root
密码:123.com

完成部署


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41440-1-1.html 上篇帖子: nginx服务+LEMP搭建 下篇帖子: ubuntu 下安装lamp 最简单的方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表