我的lamp

       这篇日志也是首先写在Qzone的,我现在把它搬到oschina来。 

貌似又有一段时间没有写日志了,明天K歌去,今天刚好有时间,又随便写一点啥吧!


我的lamp_第1张图片

 

好了,进入正题吧,既然说到LAMP,那么首先肯定还是环境的搭建了,我以我的Fedora15作为例子,来讲述一下:

 

                1.安装MySQL5

                yuminstall mysql mysql-server

                设置mysql5开机启动

                chkconfig--levels 235 mysqld on

                启动mysql

                /etc/init.d/mysqldstart

                进入mysql

                mysql-u root

                查询用户信息

                selectuser,host,password from mysql.user;

                设置root密码

                setpassword for root@localhost=password('在这里填入root密码'); 

                2.安装Apache2

                yuminstall httpd

                设置Apache2开机启动

                chkconfig--levels 235 httpd on

                启动Apache

                /etc/init.d/httpdstart

                在Fedora中Apache的默认文档路径在/var/www/html,配置文件是/etc/httpd/conf/httpd.conf。其余的配置文件存储在/etc/httpd/conf.d/

                3.安装PHP5

                yuminstall php

                再重启apache

                4.测试PHP5

                在这个(/var/www/html)中创建一个PHP(info.php)文件,在里面加入以下代码

                <?php

                phpinfo();

                ?>

                现在我们在浏览器中访问这个文件,在浏览器中输入http://localhost/info.php

                出现如下界面,就表示PHP5安装成功了

                5.让PHP5支持MySQL

                yuminstall php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpcphp-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstringphp-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy

                5.安装phpMyAdmin

                yuminstall phpmyadmin

                重启Apache

                然后通过浏览器访问http://localhost/phpmyadmin

ubuntu环境搭建与此类似,只是把yum命令改为apt-get即可,您也可直接下载源码包安装,安装过程如:configure,make,make install,make clean,其实都不难。

 

环境安装好了之后,我现在就说一下我的整个LAMP构架吧,我以Toper为例:

我的Toper代码编写在Win7上面,使用PHP的一个集成开发IDEphp storm),

版本控制通过SVN,准确说来TortoiseSVN(一个SVN的图形界面的客户端)。我的Win7下面安装有WAMP的环境,可以做代码的基本测试,我现在安装了两台虚拟机,一个叫Fedora-Master ,另一个叫Fedora-Slave,是用来做Mysql的主从服务器的,现在也充当了LAMPServer了,我在Fedora-master上面安装了以下软件:

1.      SVN的Server端,用来做SVN的仓库;

2.      Phpunit,用来做单元测试;

3.      Xdebug,PHP的调试利器;

4.      Phing,自动化部署工具,需要在项目中添加build.xml,使用方法和ant类似;

5.      Xinc,也是做自动化部署的,不过非常智能,当每次我提交代码到SVN之后,它就会自动调用phingphing会首先通过build.xml的配置项来查找到所有的测试用例,然后自动调用phpunit做单元,如果所有单元通过,那么将代码自动部署到相应的服务器上面,反之,报警;

6.      Memcache,PHP的缓存,不需要多说,很多人都在用;

7.      Xcache,也是PHP的缓存,直接缓存PHP的opcode。

          大家都知道PHP是一个解释型的语言,那么每次调用这个脚本,那么它先编译生成opcode,编译之后再执行opcode,大家可以想象一下,这和编译型的语言,直接执行二进制代码相比,多了编译的工作,肯定速度是比不上的。可是,对于上线的PHP应用,如果每次用户请求都需要去编译一下源代码,那么这个效率实在是不怎么高。

          使用xcache之后,PHP就可以在设定的时间内直接执行opcode,省去了编译的过程,那么速度就快多了,其中的原理和java的字节码是很类似的。

          当然,缓存opcode的除了xcache,还有著名了zend加速器和apc ,eAccelerator等等,您可以选择其中的任意一项来试试。

8.      Mongodb,著名的nosql数据库的代表;

 

      Fedora-slave中,我就只安装了memcache,xcache。

 

     那么每次当我修改代码使用TortoiseSVN提交到Fedora-master之后,Fedora-master会自动调用phing,phing会自动使用phpunit做单元测试,然后部署到Fedora-slave的机器上面。部署成功之后,我可以直接通过Win7作为普通客户端来访问Fedora-master(测试使用)和Fedora-slave(上线使用的环境)。

      好了,大家可能想问,我开启了两台虚拟机,那么我的电脑怎么承受的住啊,实际上很easy,我给每个虚拟机只是分配了256M的内存,我电脑室2G的内存,除去虚拟机,正常使用电脑室没有问题的。可能大家会问,一个虚拟机256M内存,不会卡吗,实际上一点都不卡,因为我都是开启的字符界面(我默认就关闭了图形界面,开机启动直接进入字符,对于字符的linux,128M内存都完全够了,我分配256M已经太多太多!!!!)。

大家可能都知道,linux的字符界面的确是有点不够友好,黑色的背景加上白色的文字,就如下图所示:

 我的lamp_第2张图片

我承认我是一个不能忍受这种界面的人,所以我选择了SSH远程登录,在此,我推荐SecureCRT,这个软件相当不错,直接截一个图,看这个图,和上面的图做一下对比,是不是效果马上就出来了。

  

 我的lamp_第3张图片

现在一切都就绪了,那么我们可以通过客户端的浏览器来试试效果,不过这儿有一个问题了,我是直接通过输入IP还是?

不管你们是怎么样,反正我是直接通过输入一个域名来做的,这样有什么好处呢,马上你们就知道了。

 图片

现在我在Win7和Fedora-master,Fedora-slave三台机器上面都有Apache作为server,那么我是怎么调试的呢?

当我写代码的时候,我调试是直接在Win7里面的浏览器中进行调试的,打开浏览器,输入:www.test.com就可以开始调试了,调试完成,提交SVN之后,将IP切换,然后Win7浏览器中输入www.test.com进入Fedora-master的server,调试无误之后,切换到Fedora-slave,再在Win7浏览器输入www.test.com进行调试,当然,也可以直接在secureCRT中输入PHP + 文件名直接运行进行调试。

上面一段话是不是有点晕?

看我一步一步怎么做的吧!!!

首先配上虚拟主机,在Win7,Fedora-master,Fedora-slave中都需要配。

1.      Win7:

找到Apache安装目录,进入conf/extra目录,打开httpd-vhosts.conf,这里面就是虚拟主机的配置文件,添加

<VirtualHost *:80>

    [email protected]

    DocumentRoot "项目实际路径"

    ServerName www.test.com:80

    ErrorLog "错误日志存放路径"

    CustomLog "普通日志存放路径"common

</VirtualHost>

2.      Fedora

我的lamp_第4张图片

然后类似Win7上面,加入这段话,然后打开/etc/hosts文件,添加localhost   www.test.com,然后重启Apache,就OK了!

 

     大家注意一下,我在Win7中配虚拟主机的时候没有在hosts文件中添加内容,这是为什么呢?

     我这样做,主要是要给大家推荐一个工具,Fiddler(网络抓包必备,此处用来管理hosts),你想将www.test.com配到那个IP就在这项前面勾选就行。

我的lamp_第5张图片

 当然,您如果使用Firefox或者chrome,那么也可以使用hostadmin这个插件,如果使用这个插件,那么需要修改C:\Windows\System32\drivers\etc\hosts,添加#127.0.0.1 www.test.com#192.168.19.1www.test.com, #192.168.19.2 www.test.com,然后在浏览器中使用hostadmin来选取IP。

 

好了,写了这么多,今天就到此为止吧,结束之前截一张我研究PHP源码的图,最近在看PHP的源代码,准备从根本上了解PHP的原理,其实感觉PHP的源码写的真的很不错。

我的lamp_第6张图片

你可能感兴趣的:(PHP,学习,lamp,明庭令)