由于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"http://設備名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編程鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答