热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP开发者的Linux学习之路

谈起一个高效动态网站的构建,那就不得不提到LAMP,即Linux操作系统、Apache网络服务器、Mysql数据库

谈起一个高效动态网站的构建,那就不得不提到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 mysqlserver php phpmysql postgresql postgresqlserver phppostgresql phppgsql phpdevel,安装过程大概几分钟,安装完成。

第二步便是测试环境是否正常运行(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)http://www.linuxprobe.com/chapter00.htmlUbuntu(包括kubuntu,xubuntu等)、OpenSuse(原Suse)、Mandriva(原Mandrake)、CentOS、Fedora、Veket等,各有其优缺点,我就不对其深入讨论了。我最终选择安装的是Ubuntu,选择的原因是其友好的界面以及许多常用软件的集成。

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

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

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


推荐阅读
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 心理学经典:《思考致富》
    《思考致富》是由美国著名成功学大师拿破仑·希尔撰写的一部重要著作,该书基于希尔长达20年的深入研究和访谈,探讨了个人成功的核心要素。书中不仅揭示了成功的关键,还提供了一系列实用的方法和策略。 ... [详细]
  • 本文将详细介绍如何在二进制和十六进制之间进行准确的转换,并提供实际的代码示例来帮助理解这一过程。 ... [详细]
  • empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!检测一个变量是否是null ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
author-avatar
mobiledu2502862777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有