linux下phpstudy環境的安裝
phpStudy Linux版&Win版同步上線 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6
phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd,
支持php5.2/5.3/5.4/5.5切換
已經在centos-6.5,debian-7.4.,ubuntu-13.10測試成功。
下載版:http//lamp.phpstudy.net/phpstudy.bin
完整版:http//lamp.phpstudy.net/phpstudy-all.bin
安裝:
wget -c http//lamp.phpstudy.net/phpstudy.bin
chmod +x phpstudy.bin #許可權設置
./phpstudy.bin #運行安裝
用時十到幾十分鍾不等,安裝時間取決於電腦的下載速度和配置。
也可以事先下載好完整,安裝時無需下載。
安裝完成
如何切換php版:
假如你先安裝的apache+php5.3
想切換成nginx+php5.4
你就再走一次./phpstudy.bin
但是你會發現有一行是否安裝mysql提示選不安裝
這樣只需要編譯nginx+php5.4
從而節省時間,這樣只需要幾分鍾即可。
項目地址:http://lamp.phpstudy.net/
使用說明:
服務進程管理:phpstudy (start|stop|restart|uninstall)
站點主機管理:phpstudy (add|del|list)
ftpd用戶管理:phpstudy ftp (add|del|list)
=phpstudy WIN版下載==================
『軟體簡介』
該程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安裝,無須配置即可使用,是非常方便、好用的PHP調試環境。該程序綠色小巧簡易迷你僅有35M,有專門的控制面板。總之學習PHP只需一個包。
對學習PHP的新手來說,WINDOWS下環境配置是一件很困難的事;對老手來說也是一件煩瑣的事。因此無論你是新手還是老手,該程序包都是一個不錯的選擇。
1、全面適合 Win2000/XP/2003/win7/win8/win2008 操作系統 ,支持Apache、IIS、Nginx和LightTPD。
2、該程序包集成以下軟體,括弧內為phpstudy下對應的目錄。
php 5.6a3 (php56n)
php 5.5.10 (php55)
php 5.5.10-nts (php55n)
php 5.4.26 (php54)
php 5.4.26-nts (php54n)
php 5.3.28 (php53)
php 5.3.28-nts (php53n)
php 5.2.17 (php52)
Apache 2.4.7 (Apache)
Nginx 1.5.11 (nginx)
LightTPD 1.4.32 (Lighttpd)
MySQL 5.5.36 (MySQL)
MySQL-Front 5.3 (SQL-Front)
phpMyAdmin 3.5.8.2 (phpMyAdmin)
pear 1.9.4 (pear)
OpenSSL 1.0.1e&0.9.8y
ZendOptimizer 3.3.3 (php5.2有)
Zend Loader 5.5.0 (php5.3有)
Zend Loader 6.0.0 (php5.4有)
wincache 1.3.5 (fastcgi有)
php_opcache 7.0.3 (ZendOpcache擴展)
xdebug 2.2.3.1
Zend Debugger 6.2 (php5.3/4 fastcgi有)
xcache 3.1.0
eAccelerator 1.0&0.9.6
php_sqlsrv (MSSQL擴展)
php_pdo_sqlsrv (PDO-MSSQL擴展)
php_mongo 1.4.5 (MongoDB擴展)
php_dbase 5.1.0 (dbase擴展)
php_dbx 1.1.2 (dbx擴展)
php_ibm_db2 1.9.5 (ibm_db2擴展)
php_apc 3.1.13 (php_apc擴展)
php_memcache 3.0.8
phpStudy Ftp server (FTPServ)
SendMail 3.2 (sendmail)
VC++ 2008 運行庫
3、MySQL資料庫默認用戶名:root,密碼root,安裝後請重新設置密碼。
4、本程序純綠色,支持22種組合一鍵切換,支持系統服務和非服務兩種啟動方式,自由切換。改變安裝路徑或拷貝到別的電腦上也可正常運行;即便是運行完再更改路徑也能運行,真正做到無須配置。重寫控制面板更加有效直觀地進行控製程序的啟停。
5、自帶FTP伺服器,支持多用戶,無需再安裝FTP伺服器。自帶網站掛馬監視器,隨時記錄文件的修改情況,讓掛馬文件無處可逃。
6、本程序完美支持II7,IIS8和IIS6。應網友的要求製作Nginx版和Lighttpd版。Nginx版為phpfind,Lighttpd版為phpLight。
推薦:學習JSP用JspStudy。
『軟體簡介』
JspStudy集成JDK+tomcat+Apache+mysql,JSP環境配置一鍵啟動。無需修改任何配置即可迅速搭建支持JSP的伺服器運行環境。
純綠色解壓即可,支持系統服務和非服務兩種啟動方式,自由切換。控制面板更加有效直觀地進行控製程序的啟停。
JspStudy將復雜的JSP環境配置簡單化。
『特別注意』
1. 為了減少出錯安裝路徑不得有漢字,如有防火牆開啟,會提示是否信任httpd、mysqld運行,請選擇全部允許。
2. 此為apache+php方案,需要Nginx+php方案的請到www.phpStudy.net下載phpfind,Lighttpd+PHP方案下載phpLight。
3. 重裝系統後或相關服務丟失時,只需要點一下『運行模式-應用』即可。
4. 可通過菜單『卸載相關服務』進行卸載相關服務。
5. 在『啟動』、『停止』、『重啟』三個啟停按鈕上右鍵可以有選擇地進行啟停,左鍵將控制全部的啟停。
6. 菜單『phpStudy 設置』可以進行php,apche,mysql的相關設置。菜單『站點域名設置』可以進行站點及域名的添加。
7. 本程序分為安裝版和非安裝版,無論是安裝還是免安裝,最後的效果完全一致。
8. 埠問題無法啟動時,請使用菜單『環境埠檢測』進行埠檢測,嘗試啟動。
26種組合一鍵切換apache+php
php擴展管理超級方便
nginx+php
IIS7/8/6+php
mysql備份還原導入導出
站點域名設置
埠檢測
博客不再更新,請到官方網站下載:http://www.phpstudy.net/
下載地址解壓版:http://www.phpstudy.net/phpstudy/phpStudy.zip
下載地址安裝版:http://www.phpstudy.net/phpstudy/phpStudy-install.zip
其他版本:
軟體簡單說明各版本的區別大小下載
phpStudy26種組合,超全大合集Apache+Nginx+LightTPD+IIS
php5.2 php5.3 php5.4 php5.5 php5.6
MySQL phpMyAdmin MySQL-Front
26種組合自由切換,是下面5個版本的合集
同時支持apache/nginx/Lighttpd和IIS7/8/636M解壓版
安裝版
phpStudy
Lite
新手用,經典wamp組合Apache+php5.3+php5.4+MySQL (wamp集成包)
沒有上面合集復雜的多版本設置,簡單適合新手。16M解壓版
phpStudy
for IIS
IIS伺服器專用IIS+php5.2+php5.3+php 5.4+MySQL
php一鍵安裝包 for IIS7/8/6 (IIS伺服器專用)21M解壓版
phpStudy
for Linux
Linux伺服器專用(lamp)Apache+Nginx+LightTPD+MySQL
php5.2+php5.3+php5.4+php5.5一鍵安裝包
支持centos,ubuntu,debian等Linux系統,12種組合80M安裝版
phpfindnginx+php組合(wnmp)Nginx+php5.3+php5.4+MySQL (wnmp集成包)
nginx+php組合,適合喜歡用nginx的朋友16M解壓版
phpLightlighttpd+php組合(wlmp)Lighttpd+php5.3+php5.5+MySQL (wlmp集成包)17M解壓版
phpStudy
(php5.2)
apache+php5.2珍藏版Apache2.2+php5.2.17+MySQL5.1
php5.2經典組合值得收藏,僅有11M,無需運行庫11M解壓版
JspStudyJSP環境一鍵安裝包JDK+tomcat+Apache+mysql+php
純綠色解壓即可,不添加環境變數,不修改注冊表52M解壓版
下載地址:
php5.3+php5.4合集下載: http//www.phpstudy.net/phpstudy/phpStudy.zip
2. 如何在Ubuntu 12.04上安裝和使用Memcache
如何在Ubuntu 12.04上安裝和使用Memcache
關於Memcache
Memcache通過緩存伺服器信息的方式來加速伺服器處理能力的系統。Memcache分配一塊伺服器上的內存來緩存一段特定時間之內的最近的查詢數據。一旦某個數據被再次請求,那麼Memcache就直接從內存中返回這個數據,而不是從資料庫中,所以這將會加速查詢速度。
安裝
安裝前需要用戶具有root許可權。開始安裝前,首先更新系統。
sudo apt-get update
另外,還需要安裝MySQL和PHP。
sudo apt-get install mysql-server php5-mysql php5 php5-memcache
安裝Memcache
首先安裝Memcache。
sudo apt-get install memcached
接著安裝php-pear(PHP擴展和應用庫)。
sudo apt-get install php-pear
如果沒有安裝編譯器,需要安裝build-essential。
sudo apt-get install build-essential
最後使用PECL(PHP擴展社區庫)來安裝Memcache。
sudo pecl install memcache
安裝完成後,向memcache.ini文件中添加memcached:
echo "extension=memcache.so" | sudo tee /etc/php5/conf.d/memcache.ini
現在可以開始使用Memcache了。
確認Memcache並查看其狀態
Memcache運行後,可以通過以下命令查看。
ps aux | grep memcache
另外,還可以查看Memcache的狀態。
echo "stats settings" | nc localhost 11211
Memcache如何工作的?
Memcache可以直接通過代碼來實現從緩存中獲取查詢數據。Memcache獲取數據的過程如下:
function get_foo(foo_id)
foo = memcached_get("foo:" . foo_id)
return foo if defined foo
foo = fetch_foo_from_database(foo_id)
memcached_set("foo:" . foo_id, foo)
return foo
end
簡單的Memcache實例
研究一個簡單的php腳本,該腳本使用Memcache來獲取mysql表中的一個值。
首先登錄到mysql,創建一個表,查詢一些數據。
登錄到mysql: mysql -u root -p
執行下面命令:
use test;
grant all on test.* to test@localhost identified by 'testing123';
create table example (id int, name varchar(30));
insert into example values (1, "new_data");
exit;
退出MySQL後,創建Memcache腳本文件。
nano memtest.php
詳細研究一下memtest.php的腳本文件。
首先創建與Memcache的長連接,使用Memcache的默認埠,11211。
<?php
$meminstance = new Memcache();
$meminstance->pconnect('localhost', 11211);
然後連接到MySQL資料庫
mysql_connect("localhost", "test", "testing123") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
接著創建查詢,然後設置一個標識特定行為的key。
$query = "select id from example where name = 'new_data'";
$querykey = "KEY" . md5($query);
腳本首先查詢緩存,如果結果不存在,則腳本再向原始資料庫查詢。一旦從原始資料庫查詢到結果,則腳本在Memcache中存儲查詢的結果,另外還可以設置緩存的有效期,即表示在這個有效期內,查詢結果一直保持在緩存中(有效期一般是600秒)。
當首次運行腳本時,數據將會從MySQL資料庫中獲取到,此後這些數據會存儲到緩沖中,這樣第二次查詢時,數據就是從緩存中獲取的。
10分鍾後,緩存會被再次清空,再次運行腳本,數據就會從資料庫中獲取。
$result = $meminstance->get($querykey);
if (!$result) {
$result = mysql_fetch_array(mysql_query("select id from example where name = 'new_data'")) or die('mysql error');
$meminstance->set($querykey, $result, 0, 600);
print "got result from mysql\n";
return 0;
}
print "got result from memcached\n";
return 0;
?>
以下是整個的腳本代碼:
<?php
$meminstance = new Memcache();
$meminstance->pconnect('localhost', 11211);
mysql_connect("localhost", "test", "testing123") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$query = "select id from example where name = 'new_data'";
$querykey = "KEY" . md5($query);
$result = $meminstance->get($querykey);
if (!$result) {
$result = mysql_fetch_array(mysql_query("select id from example where name = 'new_data'")) or die('mysql error');
$meminstance->set($querykey, $result, 0, 600);
print "got result from mysql\n";
return 0;
}
print "got result from memcached\n";
return 0;
?>
運行腳本的執行結果:
# php memtest.php
got result from mysql
# php memtest.php
got result from memcached
# php memtest.php
got result from memcached
3. lamp架構提高伺服器並發要注意哪些問題
對於大流量、大並發量的網站系統架構來說,除了硬體上使用高性能的伺服器、負載均衡、CDN等之外,在軟體架構上需要重點關注下面幾個環節:使用高性能的操作系統(OS)、高性能的網頁伺服器(Web Server)、高性能的資料庫(Databse)、高效率的編程語言等。下面我將從這幾點對其一一討論。
操作系統
Linux操作系統有很多個不同的發行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一個發行版都有自己的特色,比如RHEL的穩定,Ubuntu的易用,基於穩定性和性能的考慮,操作系統選擇CentOS(Community ENTerprise Operating System)是一個理想的方案。
CentOS(Community ENTerprise Operating System)是Linux發行版之一,是RHEL/Red Hat Enterprise Linux的精簡免費版,和RHEL為同樣的源代碼,不過,RHEL和SUSE LE等企業版,提供的升級服務均是收費升級,無法免費在線升級,因此要求免費的高度穩定性的伺服器可以用CentOS替代Red Hat Enterprise Linux使用。
LAMP網站架構圖
Web伺服器、緩存和PHP加速
Apache是LAMP架構最核心的Web Server,開源、穩定、模塊豐富是Apache的優勢。但Apache的缺點是有些臃腫,內存和CPU開銷大,性能上有損耗,不如一些輕量級的Web伺服器(例如nginx)高效,輕量級的Web伺服器對於靜態文件的響應能力來說遠高於Apache伺服器。
Apache做為Web Server是負載PHP的最佳選擇,如果流量很大的話,可以採用nginx來負載非PHP的Web請求。nginx是一個高性能的HTTP和反向代理伺服器,Nginx以它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。Nginx不支持PHP和CGI等動態語言,但支持負載均衡和容錯,可和Apache配合使用,是輕量級的HTTP伺服器的首選。
Web伺服器的緩存也有多種方案,Apache提供了自己的緩存模塊,也可以使用外加的Squid模塊進行緩存,這兩種方式均可以有效的提高Apache的訪問響應能力。Squid Cache是一個Web緩存伺服器,支持高效的緩存,可以作為網頁伺服器的前置cache伺服器緩存相關請求來提高Web伺服器的速度,把Squid放在Apache的前端來緩存Web伺服器生成的動態內容,而Web應用程序只需要適當地設置頁面實效時間即可。如訪問量巨大則可考慮使用memcache作為分布式緩存。
PHP的加速使用eAccelerator加速器,eAccelerator是一個自由開放源碼PHP加速器,優化和動態內容緩存,提高了性能PHP腳本的緩存性能,使得PHP腳本在編譯的狀態下,對伺服器的開銷幾乎完全消除。它還有對腳本起優化作用,以加快其執行效率。使PHP程序代碼執效率能提高1-10倍。
具體的解決方案有以下幾種:
1、squid + Apache + PHP + eAccelerator
使用Apache負載PHP,使用squid進行緩存,html或圖片的請求可以直接由squid返回給用戶。很多大型網站都採用這種架構。
2、nginx/Apache + PHP(fastcgi) + eAccelerator
使用nginx或Apache負載PHP,PHP使用fastcgi方式運行,效率較高。
3、nginx + Apache + PHP + eAccelerator
此方案綜合了nginx和Apache的優點,使用Apache負載PHP,nginx負責解析其他Web請求,使用nginx的rewrite模塊,Apache埠不對外開放。
資料庫
開源的資料庫中,MySQL在性能、穩定性和功能上是首選,可以達到百萬級別的數據存儲,網站初期可以將MySQL和Web伺服器放在一起,但是當訪問量達到一定規模後,應該將MySQL資料庫從Web Server上獨立出來,在單獨的伺服器上運行,同時保持Web Server和MySQL伺服器的穩定連接。
當資料庫訪問量達到更大的級別,可以考慮使用MySQL Cluster等資料庫集群或者庫表散列等解決方案。
總的來說,LAMP架構的網站性能會遠遠優於Windows IIS + ASP + Access(例如月光博客)這樣的網站,可以負載的訪問量也非常大,國內的大量個人網站如果想要支撐大訪問量,採用LAMP架構是一個不錯的方案。
綜上所述,基於LAMP架構設計具有成本低廉、部署靈活、快速開發、安全穩定等特點,是Web網路應用和環境的優秀組合。