评论

收藏

[MySQL] ubuntu server 10.4下LAMP的安装

数据库 数据库 发布于:2021-07-04 13:16 | 阅读数:566 | 评论:0

  前言:
  Apache,Mysql,php结合在一起常用在三种环境,一种是微软的windows server 下的AMP,就把它叫WAMP;另一种当然就是GNU/LINUX下的,都叫它LAMP;还可以用在Unix,BSD下。在windows server 下我用appserv软件http://www.appservnetwork.com/index.php来配置AMP环境,与appserv功能相似的软件还有XAMPP软件http://www.apachefriends.org/zh_cn/index.html,wampserver软件http://www.wampserver.com/。在LINUX下的应用相对来说在更多一些,因公司不久以后要加大LAMP应用,所以我先学习下。在这我主要在ubuntu server 10.4下配置。
  软件包:
  Mysql:http://www.mysql.com/?bydis_dis_index=1
  PHP:http://www.php.net/
  Apahce:http://www.apache.org/
  phpmyadmin:http://www.phpmyadmin.net/home_page/index.php
  安装方式讨论:
  我认为有6种安装LAMP环境的方法供我们选择
  (1)在安装ubuntu server 10.4操作系统时就选中LAMP,装完系统后,LAMP环境也就安装好了。
DSC0000.png

  (2)如果在装系统时没选择LAMP server也没关系,系统装完后,也可以用#sudo tasksel来安装LAMP
  #sudo tasksel
DSC0001.png

  (3)也可以用#sudo apt-get install 的方式分别安装Mysql,php5,apache2和相关的软件,再做简单配置即可完成LAMP环境。
  (4)还可以分别下载DEB软件,用#sudo dpkg –i 方式安装
  (5)还可以分别下载源码包,编译安装。
  以上是常用的方法,在安装LAMP时,还有另外一种方法
  (6)利用XAMPP这个软件包,详情请看http://www.apachefriends.org/zh_cn/xampp.html,几分钟LAMP就好了,功能也很完善,对要求不是很严格的情况,可以试用。但在生产环境下,很少使用这种方法,因为它会给你装一些你不想要的东西,体会不到DIY的乐趣。
  第一种,第二种安装方式是最简单,没什么说的,第三种方式,是最常用的,我一会试下,第四种,第五种方式,比较麻烦,我不想试。但是第五种方式最能体会到DIY的精神,也是LINUX的吸引人的地方,定制安装。第六种,官方有安装步骤。
  安装:就用第三种方式,在debian,ubuntu下最常用的安装软件包的方法。
  (1)安装apache2,php5
  #sudo apt-get install apache2 php5 libapache2-mod-php5
DSC0002.png

  在ubuntu server 10.4中安装的是apache2-mpm-prefork,下面就有关于这个软件包的介绍。
  apache2的配置文件在/etc/apache2/apache2.conf
  web文件存放在/var/www下
  在ubuntu和Debian中,apache2的主要功能模块multi-Processing Module 多道处理模块,简称MPM被分成三个主要的软件包:
  apache2-mpm-event
  apache2-mpm-prefork
  apache2-mpm-worker
  这三个软件包有什么区别?
  引用《ubuntu 最佳方案》中关于这个三个软件包的比较:
  
  event:比较适用于那些需要大量持续的情况,可以在同一个TCP连接中响应多次请求,这种方式,可以使一个包含大量图片的HTML文档加速50%。在配置文件中设置keepalive 为on即可启用keepalive.
            

  perfork 实现了一个非线程的MPM,兼容apache1.3系列。虽然不是很快,但是很稳定。它能隔离每个请求,所以,如果某个请求出现故障,不会影响其他请求。 prefork由一个主进程在那里负责,事先生出一些子进程,这样一旦有访问请求,客户机就不必再等待服务器产生子进程的所花的时间。使用prefork最 重要的是将maxclients设置得恰当。这个值要足够大,这样可以在访问高峰时发挥很好的性能;但不能太大,致使Apache所需内存超过物理内存的 大小。
            

  worker是apache2 中开发的新MPM,速度比perfork快很多。而且,由于使用多线程进行访问处理,所以能够处理相对海量的请求,而系统资源的占用也要小于基于进程的服 务器。同时,worker也使用了多进程,每个进程又生成多个线程,这样可以获得基于进程服务器的稳定性。和prefork类似,由一个主进程那里负责, 事先生出一些子进程,这样一旦有访问请求,客户机就不必再等待服务器产生子进程的所花的时间。这种worker的MPM工作方式将是未来APACHE2发 展趋势。在worker中比较重要的两个配置选项是:ThreadsPerChild和MaxClients。前者用来控制每个子进程允许建立的线程数, 后者用来控制允许建立的总线程数。
            

  该选择那个MPM,如果需要更好伸缩性,可以选用worker或event,因为它们是线程化的;如果需要更好的稳定性和兼容性,可以选用prefork。无法评估自已的需求,不妨就选worker,也就是apache2-mpm-worker。
  关于这三个软件包的介绍还可看官方的文档http://httpd.apache.org/docs/2.0/mod/,那进程与线程有什么区别,可以去搜一下。
  为什么要安装libapache2-mod-php5软件包?
  引用《ubuntu 最佳方案》:因为我们安装这个软件包时,它会自动向/etc/apache2/mods-available写入了PHP的配置文件php5.conf和php5.load,并把它们链接到了/etc/apache2/mods-enabled目录。安装的最后,软件包自动重新载入了apache配置,php就可以在apache上跑了。无需手动的把Apache与PHP关联到一起。
  为了测试PHP是否正确安装在/var/www下写一个phpinfo.php的文件
  <?php
  phpinfo();
  ?>
  重新启动apache2
  #sudo /etc/init.d/apache2 restart
  在浏览器中输入http://ip/phpinfo就能看到相应的php,apache2的配置信息,此时因没安装mysql,所以还看不到对mysql的支持。
DSC0003.png

  (2) 安装mysql
  #sudo apt-get install  mysql-server mysql-client php5-mysql
DSC0004.png

  为什么安装php5-mysql软件包?
  正是因为该软件包会向/etc/php5/conf.d目录写入配置文件,使得PHP能够支持mysql
  在安装过程中会让你输入mysql的root用户的密码
DSC0005.png

  安装完成后,试着登录
  #sudo mysql –uroot -p密码
  &gt;show databases;
  (3)为了管理mysql,我们可以用phpmyadmin,webmin或其它工具,这里我们用phpmyadmin。
  #sudo apt-get install phpmyadmin
DSC0006.png

  在/etc/apache2/apache2.conf里加入以下内容。我做实验时没有加入,也可成功登录。
DSC0007.png

  在浏览器中输入http://ip/phpmyadmin,输入相应的账户即可登录
DSC0008.png

  管理mysql有很多可视化的工具, 可以参考http://database.51cto.com/art/201008/221265.htm,我现在用的有两个,一个是phpmyadmin,另一个就MySQL GUI Tools这是官方提供的,MySQL数据库管理控制台,提供了四个图形化应用程序,这些图形化管理工具可以大大提高数据库管理、备份、迁移和查询效率。它们分别是:
  MySQL Migration Toolkit
  MySQL Administrator
  MySQL Query Browser
  MySQL Workbench
  在windows环境及linux下都有,很好用。
  结束语: 到此LAMP环境就配置完了,但是有很多细节东西要去学习,比如APACHE的配置。生产中的应用不是独立存在的,比如需要把mysql做成集群或主从复制,还要负载均衡,高可靠性,apache要代理,要监控它们的运行状态等。把它们组合到一起应用,还是很有搞头的。如何在debina及ubuntu下配置LAMP可以参考http://www.howtoforge.com/ubuntu_debian_lamp_server,我就是看的这篇文章。

  
关注下面的标签,发现更多相似文章