由于linux系統(tǒng)的穩(wěn)定性,大部分的PHP服務(wù)器都被部署在linux上,而且像redis等擴(kuò)展在linux能得到更好的支持,所以對(duì)于PHP程序員來(lái)說(shuō),使用linux的功底也相當(dāng)重要,接下來(lái)總結(jié)一下我從一開(kāi)始在linux下安裝配置linux的心得。
linux系統(tǒng)安裝
首先是選擇linux操作系統(tǒng),我使用的是CentOS6.7 ,它類(lèi)似紅帽系統(tǒng),簡(jiǎn)單易接觸,而且開(kāi)源免費(fèi)。
CentOS(CommunityEnterpriseOperatingSystem,中文意思是:社區(qū)企業(yè)操作系統(tǒng))是Linux發(fā)行版之一,它是來(lái)自于RedHatEnterpriseLinux(小紅帽)依照開(kāi)放源代碼規(guī)定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩(wěn)定性的服務(wù)器以CentOS替代商業(yè)版的RedHatEnterpriseLinux使用。兩者的不同,在于CentOS并不包含封閉源代碼軟件。
然后要準(zhǔn)備一臺(tái)linux機(jī)器,虛擬機(jī)是最好的選擇了,它便于安裝,隨開(kāi)隨用。
虛擬機(jī)管理我推薦VMwarestation,安裝管理都方便,而且功能強(qiáng)大。用過(guò)小巧的virtualbox,在win7下安裝要改theme主題文件,辛苦裝好的環(huán)境因?yàn)槲粗?兼容問(wèn)題排除后,猜測(cè)是BIOS設(shè)置的問(wèn)題,可參考)打不開(kāi)虛擬機(jī)而放棄后,終于選擇了VM,VM下安裝linux的教程網(wǎng)上到處是,還有全程配圖版。
說(shuō)一下要注意的地方吧:虛擬機(jī)配置選擇“橋接模式”,這樣,虛擬機(jī)和主機(jī)就在同一個(gè)IP段下,可以很輕松地互相訪問(wèn),VM下如圖:

然后是我們經(jīng)常要遇到的問(wèn)題html' target='_blank'>網(wǎng)絡(luò)配置、和虛擬之間的交互、yum配置。
網(wǎng)絡(luò)配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0按需求修改以下信息
DEVICE=eth0 //網(wǎng)卡序號(hào)NAME="System eth0"http://設(shè)備名TYPE=Ethernet//設(shè)備類(lèi)型HWADDR=00:0C:29:C9:81:D7//系統(tǒng)檢測(cè)到的硬件IDONBOOT=yes //是否開(kāi)機(jī)運(yùn)行BOOTPROTO=static //獲取IP方式,有static(靜態(tài)方式)、dhcp(DHCP協(xié)議)、none(不指定)IPADDR=192.168.1.66 //IP地址NETMASK=255.255.255.0 //子網(wǎng)掩碼GATEWAY=192.168.1.1//網(wǎng)關(guān)
這樣配置好之后,如果linux系統(tǒng)有桌面系統(tǒng)的話(huà)就可以直接用瀏覽器訪問(wèn)外網(wǎng)了。還需要進(jìn)行主機(jī)和虛擬機(jī)之間的連通,可以在windows的cmd命令行中運(yùn)行ipconfig命令來(lái)獲取當(dāng)前ip信息,然后可以在主機(jī)和虛擬機(jī)之間使用ping命令測(cè)試連接狀態(tài)。
ping192.168.1.xxx
注意,虛擬機(jī)可能會(huì)用防火墻屏蔽80端口,導(dǎo)致虛擬機(jī)能訪問(wèn)自己,兩者也能相互ping通,虛擬機(jī)也能訪問(wèn)主機(jī),但主機(jī)卻無(wú)法訪問(wèn)虛擬機(jī)的網(wǎng)站,通過(guò)修改防火墻設(shè)置或關(guān)閉防火墻能解決這一問(wèn)題。
/etc/init.d/iptables -I INPUT -p tcp --dport 80 -j ACCEPT //修改不屏蔽80端口。/etc/init.d/iptables stop //關(guān)閉防火墻
這樣在配置好環(huán)境之后,就可以在主機(jī)和虛擬機(jī)之間互相訪問(wèn)了。
主機(jī)環(huán)境下操作虛擬機(jī)
配置好之后,便可以用工具來(lái)解決虛擬機(jī)和主機(jī)之間切換復(fù)制信息不便的問(wèn)題了,這里我使用SecureCRT來(lái)進(jìn)行主機(jī)與虛擬機(jī)之間的連接。
安裝打開(kāi)之后,點(diǎn)擊quick connect按鈕新增一個(gè)連接操作,如下圖:

然后輸入用戶(hù)密碼,保存。
還要注意使用SecureCRT時(shí)的編碼問(wèn)題,默認(rèn)情況下,虛擬機(jī)的中文會(huì)顯示亂碼,需要以下配置:

然后讓虛擬機(jī)進(jìn)入后臺(tái)運(yùn)行狀態(tài),在VM界面,點(diǎn)擊關(guān)閉虛擬機(jī)窗口,會(huì)彈出如下菜單。

選擇后臺(tái)運(yùn)行,這樣就可以不用管虛擬機(jī)窗口,盡情地用Secure CRT在window下操作虛擬機(jī)了。
yum配置
Yum(全稱(chēng)為YellowdogUpdater,Modified)是一個(gè)在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器?;赗PM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴(lài)性關(guān)系,并且一次安裝所有依賴(lài)的軟件包,無(wú)須繁瑣地一次次下載、安裝。
yum一般會(huì)在系統(tǒng)安裝時(shí)自動(dòng)安裝,如果使用yum命令時(shí)提示找不到命令,那就在光盤(pán)的Packages文件夾里搜索yum安裝包安裝。
使用yum之前要先配置yum源。
切換到/etc/yum.repos.d/目錄下,先將原來(lái)的yum源備份一個(gè),然后用wget命令獲取一個(gè)yum源。
cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bakwget http://mirrors.163.com/.help/CentOS6-Base-163.repo
配置好后我們就可以用yum來(lái)安裝所需的軟件了,用yum源來(lái)安裝必備庫(kù)和編譯軟件 gdgd-devellibxml2-develgccgcc-c++zlib等
用yum安裝的軟件會(huì)找不到安裝目錄,可以用用rpm-qlpackagename查詢(xún)安裝地址
接下來(lái)安裝mysql mysql-server安裝好后記得用mysqladmin-urootpasswordxxxx設(shè)置好root密碼
然后用wget命令+地址 下載php安裝包,手動(dòng)編譯PHP時(shí)要注意:
--with-apxs2=/usr/local/apache2/bin/apxs//將其編譯為apache的核心。
--enable-fpm//如果使用nginx服務(wù)器,此項(xiàng)要選,產(chǎn)生一個(gè)獨(dú)立的PHP進(jìn)程,在php/sbin/php-fpm,直接執(zhí)行會(huì)產(chǎn)生一個(gè)端口號(hào)為9000的PHP進(jìn)程。
PHP添加擴(kuò)展模塊
擴(kuò)展模塊一般分為兩部分:擴(kuò)展服務(wù)器和php擴(kuò)展。
像mongo等擴(kuò)展服務(wù)器是擴(kuò)展的核心,要在各自的網(wǎng)址找到下載地址,用wget命令下載下來(lái),然后解壓安裝,一般是官方編譯好的可執(zhí)行文件,直接復(fù)制到目標(biāo)目錄即可。
而PHP擴(kuò)展文件,則是一個(gè)函數(shù)庫(kù),通過(guò)函數(shù)庫(kù)與擴(kuò)展服務(wù)器連接并操作數(shù)據(jù)庫(kù),大家可以去PHP官方擴(kuò)展倉(cāng)庫(kù)https://pecl.php.net/index.php下載擴(kuò)展。
先將擴(kuò)展包下載下來(lái),然后解壓,進(jìn)入目錄,用php/bin下的phpize運(yùn)行一下(注意php用yum安裝,找不到phpize,可用yuminstallphp-devel來(lái)安裝phpize),產(chǎn)生一個(gè)configure文件。
再用./configure--prefix=/usr/local/...–with-php-config=/usr/local/php/bin/php-config命令編譯
最后make/maketest/makeinstall
會(huì)得到一個(gè)形如/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/的地址,這個(gè)文件夾里存放著我們編譯出來(lái)的PHP模塊文件xxx.so(如同windows下的xxx.dll)
然后修改/lib/php.ini文件,添加extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xxx.so將模塊擴(kuò)展加入。
這樣簡(jiǎn)單的PHP環(huán)境便搭建好了。
如果您覺(jué)得本博文對(duì)您有幫助,您可以推薦或關(guān)注我,如果您有什么問(wèn)題,可以在下方留言討論,謝謝。
PHP編程鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選