谈起一个高效动态网站的构建,那就不得不提到LAMP,即Linux操作系统、Apache网络服务器、Mysql数据库、Perl、PHP或Python编程语言等开源产品所组成的网站架构框架,其最大的优势是开放性强,安全性高,且成本低廉。因此,LAMP成为了国际流行的网站构建方案。而作为一名php开发人员,在工作中,普遍也使用LAMP来开发一个高性能的网站,当然,也有其他构建方案,如LNMP,WAMP等。因此,Linux系统不仅是一个高性能网站的构建基础,也是一名php开发人员的必修课。

开始学习Linux系统,书籍教程方面,我选择的是这本语言精练,更易上手的《Linux就该这么学》,它是一本注重实用性的Linux自学书籍,其作者刘遄从事于linux运维技术行业多年,通过红帽架构师认证RHCA认证,学习生态圈较完善,有完备的书籍、网站、专业培训、论坛和其他社区的Linux学习生态圈。当然,对于慢节奏的同学,也可以通过网络上的教学视频进行学习;那么,跟随教程,我在windows下使用了VMware安装了一个虚拟机,配置好Centos系统,第一步当然是熟悉Linux的基本操作命令,如文档管理项的rm、mv、cat等,磁盘管理的cd、ls、fdisk等。当然,在熟悉其基本命令的同时,也会学习到Linux的目录结构,权限管理,进程管理等基础知识,我就不一一赘述了。在这里我推荐几个关于进程管理的命令:Ps,用于显示当前进程状态,常用的搭配有ps aux 、ps -ef、 ps -eFH。dstat:动态系统资源统计命令。top:动态显示inux进程。htop:交互式进程查看器。这几个命令对于我们的进程管理有相当大的帮助。

如何搭建LAMP环境?第一步当然是下载安装必要的产品,顺序一般是:Apache、mysql、php,当然,linux下每一个软件都有各种依赖,人工安装依赖是一项很复杂的工作,于是,包管理器便应运而生,centos使用的是yum包管理器,它会自动帮我们把需要安装的依赖包自动安装,只需输入此命令:yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel,安装过程大概几分钟,安装完成。

第二步便是测试环境是否正常运行(run),首先,我们启动Apache服务器:/etc/rc.d/init.d/httpd start,启动之后检测启动结果:ps aux | grep httpd,如过出现一堆进程,那么Apache网络服务器已正常运转,然后,我用ifconfig命令查看服务器的IP并进入网站根目录下创建一个phpinfo.php的程序,用于查看php的配置信息,如果配置信息正常显示,那么php模块已配置完成,接下来就进行数据库的配置,当然第一步是启动数据库:/etc/rc.d/init.d/mysqld start,然后检查启动结果:netstat -tulnp | grep :3306,结果为正常启动,接下来我进入mysql数据库,新建了一个用于测试的表,并简单的插入了几条数据,然后再写了一个用php连接mysql数据库的测试代码:

运行后如能正常查询数据,那么,我们的LAMP环境便搭建完成。

为了进一步熟悉Linux系统,我决定安装另一款Linux OS进行日常开发,流行的发行版有很多,诸如Debian,红帽(Redhat)、Ubuntu(包括kubuntu,xubuntu等)、OpenSuse(原Suse)、Mandriva(原Mandrake)、CentOS、Fedora、Veket等,各有其优缺点,我就不对其深入讨论了。我最终选择安装的是Ubuntu,选择的原因是其友好的界面以及许多常用软件的集成。

安装好Ubuntu后,我第一步是搭建PHP的开发环境,直接使用apt-get安装软件,当然,还有deb包的安装方式以及独具ubuntu特色的新立得软件包管理等方法。安装谷歌浏览器时,发现缺少依赖包,这时候,这条命令就能帮你自动安装依赖包:sudo apt-get install -f。当然,在ubuntu系统下有许多好用的软件,比如浏览器有:firefox,谷歌,opera,音乐播放器有:Audacious、Rhythmbox。我个人推荐几款实用的软件:谷歌浏览器,wps文件处理器,ATOM代码编辑器,Thunderbird邮件,filezilla等。

在安装完必备的软件后,我决定对我的桌面进行一次美化,ubuntu有许多很精美的主题,你甚至可以将其打造为mac的界面风格,可以参考网上资料,调整桌面环境,我推荐使用unity-tweak-tool,这是一个非常好用的Unity图形化管理工具,可以修改工作区,热区数量等。主题我推荐使用Flatabulous,它是一款ubuntu下扁平化主题,也是我试过众多主题中最喜欢的一个!

至此,一个个性化的Linux OS 便打造成功,不过也推荐你看下书籍《Linux就该这么学》来学习RHEL 7系统,迎合更多的发行版系统。至今,Linux系统已经成为我开发工作的一部分,简单的指令操作,完全开放的权限,稳定的运行效率,以前在windows下很繁琐的操作,在Linux下只需要一条命令,在开发工作中极大的节约了时间成本。我想,对于开发者而言,不仅仅是php开发者,Linux系统对于我们来说都是不可缺少的工作平台!

PHP开发者的Linux学习之路的更多相关文章

  1. Linux学习之路-Linux-at及cron命令【7】---20171215

    Linux学习之路-Linux-at及cron命令[7]---20171215 DannyExia000人评论986人阅读2017-12-24 17:28:03   ntpdate 命令 [root@ ...

  2. Linux学习之路(一)

    导语: 早前为了方便日常开发,建立跟生产环境类型的环境的时候考虑使用docker作为模拟生产环境,结果没想到给自己的学习挖了一个大坑.其他关于docker容器技术的坑先不在这里赘述,有时间的话在其他文 ...

  3. 我的Linux学习之路及参考书籍

    学习目的 很简单的考虑,最近在各大招聘网站上找工作,发现多数c/c++开发职位都需要Linux开发经验,让我很苦恼,因为Linux我到目前为止知之甚少,知道Linux的概念,也在大学期间了解过一段时间 ...

  4. 新手小白的Linux学习之路

    大家好,我是一个零基础的新手小白,在此和大家分享一下新手小白的学习之路.欢迎各位大神指教!谢谢 Linux简介: Linux操作系统诞生于1991年10月,由芬兰赫尔辛基大学的在校生Linus Tor ...

  5. Linux学习之路--常用命令讲解

    Linux常用命令讲解 1.命令格式:命令 [-选项]  [参数] 超级用户的提示符是# 一般用户的提示符是$ 如:ls -la /usr说明: 大部分命令遵从该格式多个选项时,可以一起写 eg:ls ...

  6. linux 学习之路

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  7. 后端开发者的Vue学习之路(一)

    目录 前言: iview组件库示例 element组件库示例 Vue的介绍 兼容性: 学习Vue需要的前置知识: MVVM模型 补充: 安装/导入 导入Vue 安装 两种方式的区别: HelloWor ...

  8. linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  9. 我的Linux学习之路的感悟

    首先要跟大家说声抱歉,这么久一直没有更新,有负大家对我的期望. 半年的Linux运维的学习到目前已工作一个月零9天,这一路走来的艰辛和挣扎只有自己最清楚. 首先要感谢公司的同事的宽容接纳和耐心指点.感 ...

随机推荐

  1. 从classloader的变更说起

    classloader从1.6到1.7整体分成了两个版本.重点区别就是并行类加载. 1.6版本 protected synchronized Class loadClass(String name, ...

  2. HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记

    HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL  DEEP  CONVOLUTIONAL NEURAL NETWORK 论文地址:https:/ ...

  3. DRF中的APIView、GenericAPIView、ViewSet

    1.APIView(rest_framework.views import APIView),是REST framework提供的所有视图的基类,继承自Django的View. 传入到视图方法中的是R ...

  4. 使用http://start.spring.io/ 生成工程

    今天学习spring-cloud,无意中发现一个spring提供的构建工程的页面,想记录下,发现有个博客写的很好就直接抄过来了.  原文链接: https://blog.csdn.net/u01050 ...

  5. Lua和C++交互 学习记录之六:全局函数交互

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  6. .NET的关于人脸识别引擎分享(C#)

    https://www.cnblogs.com/RainbowInTheSky/p/10247921.html

  7. Alibaba Java诊断工具Arthas之快速安装和简单使用

    Alibaba Java诊断工具Arthas简单介绍 : 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception ...

  8. nodejs安装、环境配置和测试

    nodejs下载 https://nodejs.org/en/ nodejs安装 双击下载的nodejs,可自定义安装路径,安装模块部分直接next即可安装. 检查是否安装 win+R输入cmd,打开 ...

  9. 小程序动态添加class及调接口传递多个参数

    1.动态添加class <view class="step2 {{indication == 2 ?'on':''}}"> <view class='tc lef ...

  10. python-day75--django项目问题详细

    1.项目名要小写 2.表中字段 AutoField()   表示整形字段,建表时不用写,当整形的数字范围不够你用的时候, 你可以用 BigAutoField()字段, 表示长整形    当表内新增有关 ...