Ubuntu/Linux環境下從零開始Zend Framework 2.0 (ZF2)環境搭建

Allo發表於2012-11-02

緊接上一篇ZF2入門:Windows環境下從零開始Zend Framework 2.0 (ZF2)環境搭建,本次是Linux/Ubuntu環境下從零開始搭建系統並執行一個ZF2專案的全過程

寫日誌的Linux用的是Ubuntu12.04 LTS 32bit版本,為了簡化整個過程,沒有直接編譯,全部採用了apt-get安裝軟體包。另外本次為了更全的覆蓋可能的情況,伺服器採用了Nginx,程式碼部署直接採用Git,Windows下同樣可以借鑑本篇的配置。

日誌直接以root身份執行,普通使用者記得在所有指令前加sudo

一、Nginx + MySQL + PHP5.3環境搭建

Ubuntu12.04 LTS通過apt安裝的預設php版本是5.3.10,php5.4需要編譯安裝,鑑於php5.3.10執行ZF2已經足夠,所以本次就不再考慮php5.4的情況。

apt-get update
apt-get upgrade
apt-get install mysql-server mysql-client nginx php5-fpm php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-mcrypt php5-memcached git git-core

安裝完畢後執行

service nginx start

然後訪問http://localhost應該就可以看到Nginx的Hello World了。

二、部署程式碼

個人習慣將www目錄放在/opt/htdocs,請根據環境目錄不同對應調整下面的路徑及配置:

cd /opt
mkdir htdocs
cd htdocs
git clone git://github.com/zendframework/ZendSkeletonApplication.git zf2
cd zf2
git submodule update --init

短短几行指令,程式碼就已經部署好了。

三、繫結域名

vi /etc/hosts

同樣可以新增任意開發環境用域名:

127.0.0.1       zf2.local
127.0.0.1       www.zf2.local

可以訪問 http://zf2.local 測試是否已經生效。

編輯Nginx配置檔案

vi /etc/nginx/sites-enabled/default

修改為

server {
        listen   80 default;
        index index.html index.htm;
        server_name localhost;

        location / {
                root /opt/htdocs;
                index index.php index.html index.htm;
                try_files $uri $uri/ /index.html;
        }

        location ~ \.php$ {
                include fastcgi_params;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /opt/htdocs$fastcgi_script_name;
        }

}


server {
        listen   80;
        server_name  zf2.local www.zf2.local;
        location / {
                root  /opt/htdocs/zf2/public;
                index index.php index.html index.htm;
                if (!-e $request_filename){
                        rewrite ^/(.*)$ /index.php?$1& last;
                }
        }
        location ~ \.php$ {
                include fastcgi_params;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /opt/htdocs/zf2/public/$fastcgi_script_name;
        }
}

上半段是將Nginx的www根目錄更改為/opt/htdocs。下半段是將zf2.local測試域名繫結到/opt/htdocs/zf2/public

重啟Nginx服務

service nginx restart

在瀏覽器中重新訪問 http://zf2.local 就可以開啟ZendSkeletonApplication測試程式了。

至此,一個Ubuntu下最基本的ZF2專案連同環境已經搭建完畢,可以去修改zf2的專案程式碼去開始一個自己的專案了。其他Linux發行版可以類推,CentOS同樣可以很方便的用Yum安裝。

相關文章