由于linux系统的稳定性,大部分的PHP服务器都被部署在linux上,而且像redis等扩展在linux能得到更好的支持,所以对于PHP程序员来说,使用linux的功底也相当重要,接下来总结一下我从一开始在linux下安装配置linux的心得。
linux系统安装
首先是选择linux操作系统,我使用的是CentOS6.7 ,它类似红帽系统,简单易接触,而且开源免费。
CentOS(CommunityEnterpriseOperatingSystem,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于RedHatEnterpriseLinux(小红帽)依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
然后要准备一台linux机器,虚拟机是最好的选择了,它便于安装,随开随用。
虚拟机管理我推荐VMwarestation,安装管理都方便,而且功能强大。用过小巧的virtualbox,在win7下安装要改theme主题文件,辛苦装好的环境因为未知原因(兼容问题排除后,猜测是BIOS设置的问题,可参考)打不开虚拟机而放弃后,终于选择了VM,VM下安装linux的教程网上到处是,还有全程配图版。
说一下要注意的地方吧:虚拟机配置选择“桥接模式”,这样,虚拟机和主机就在同一个IP段下,可以很轻松地互相访问,VM下如图:
然后是我们经常要遇到的问题html' target='_blank'>网络配置、和虚拟之间的交互、yum配置。
网络配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0按需求修改以下信息
DEVICE=eth0 //网卡序号NAME="System eth0"//设备名TYPE=Ethernet//设备类型HWADDR=00:0C:29:C9:81:D7//系统检测到的硬件IDONBOOT=yes //是否开机运行BOOTPROTO=static //获取IP方式,有static(静态方式)、dhcp(DHCP协议)、none(不指定)IPADDR=192.168.1.66 //IP地址NETMASK=255.255.255.0 //子网掩码GATEWAY=192.168.1.1//网关
这样配置好之后,如果linux系统有桌面系统的话就可以直接用浏览器访问外网了。还需要进行主机和虚拟机之间的连通,可以在windows的cmd命令行中运行ipconfig命令来获取当前ip信息,然后可以在主机和虚拟机之间使用ping命令测试连接状态。
ping192.168.1.xxx
注意,虚拟机可能会用防火墙屏蔽80端口,导致虚拟机能访问自己,两者也能相互ping通,虚拟机也能访问主机,但主机却无法访问虚拟机的网站,通过修改防火墙设置或关闭防火墙能解决这一问题。
/etc/init.d/iptables -I INPUT -p tcp --dport 80 -j ACCEPT //修改不屏蔽80端口。/etc/init.d/iptables stop //关闭防火墙
这样在配置好环境之后,就可以在主机和虚拟机之间互相访问了。
主机环境下操作虚拟机
配置好之后,便可以用工具来解决虚拟机和主机之间切换复制信息不便的问题了,这里我使用SecureCRT来进行主机与虚拟机之间的连接。
安装打开之后,点击quick connect按钮新增一个连接操作,如下图:
然后输入用户密码,保存。
还要注意使用SecureCRT时的编码问题,默认情况下,虚拟机的中文会显示乱码,需要以下配置:
然后让虚拟机进入后台运行状态,在VM界面,点击关闭虚拟机窗口,会弹出如下菜单。
选择后台运行,这样就可以不用管虚拟机窗口,尽情地用Secure CRT在window下操作虚拟机了。
yum配置
Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum一般会在系统安装时自动安装,如果使用yum命令时提示找不到命令,那就在光盘的Packages文件夹里搜索yum安装包安装。
使用yum之前要先配置yum源。
切换到/etc/yum.repos.d/目录下,先将原来的yum源备份一个,然后用wget命令获取一个yum源。
cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bakwget http://mirrors.163.com/.help/CentOS6-Base-163.repo
配置好后我们就可以用yum来安装所需的软件了,用yum源来安装必备库和编译软件 gdgd-devellibxml2-develgccgcc-c++zlib等
用yum安装的软件会找不到安装目录,可以用用rpm-qlpackagename查询安装地址
接下来安装mysql mysql-server安装好后记得用mysqladmin-urootpasswordxxxx设置好root密码
然后用wget命令+地址 下载php安装包,手动编译PHP时要注意:
--with-apxs2=/usr/local/apache2/bin/apxs//将其编译为apache的核心。
--enable-fpm//如果使用nginx服务器,此项要选,产生一个独立的PHP进程,在php/sbin/php-fpm,直接执行会产生一个端口号为9000的PHP进程。
PHP添加扩展模块
扩展模块一般分为两部分:扩展服务器和php扩展。
像mongo等扩展服务器是扩展的核心,要在各自的网址找到下载地址,用wget命令下载下来,然后解压安装,一般是官方编译好的可执行文件,直接复制到目标目录即可。
而PHP扩展文件,则是一个函数库,通过函数库与扩展服务器连接并操作数据库,大家可以去PHP官方扩展仓库https://pecl.php.net/index.php下载扩展。
先将扩展包下载下来,然后解压,进入目录,用php/bin下的phpize运行一下(注意php用yum安装,找不到phpize,可用yuminstallphp-devel来安装phpize),产生一个configure文件。
再用./configure--prefix=/usr/local/...–with-php-config=/usr/local/php/bin/php-config命令编译
最后make/maketest/makeinstall
会得到一个形如/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/的地址,这个文件夹里存放着我们编译出来的PHP模块文件xxx.so(如同windows下的xxx.dll)
然后修改/lib/php.ini文件,添加extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xxx.so将模块扩展加入。
这样简单的PHP环境便搭建好了。
如果您觉得本博文对您有帮助,您可以推荐或关注我,如果您有什么问题,可以在下方留言讨论,谢谢。
PHP编程郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答