openshift搭建nginx+php5.2+zend+mysql伺服器教程

來源:互聯網
上載者:User
關鍵字 伺服器

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

近日申請了openshift的paas空間,很霸氣的支援n種語言,至於用不用得上就是兩說了,空間申請的教程不在本文之列,有興趣的同志可以再本站稍後放出的另一篇文章中給出詳細介紹, 本文是建立在你已經取得openshift帳號以及空間許可權的基礎上,並且已經完成openshift管理軟體的下載和安裝,好了,廢話不多說,好戲開場。

本文其實集合了若干關於建立openshift的博文,再集合了本人一些特殊的需求,比如zend支援,和php版本此次為5.2.17,5.3版本的不用討論直接一條命令就可建立,在命令提示符cmd視窗輸入:rhc app create php5.3 name,其中name為你想建立的應用名稱,以後功能變數名稱就會以此開頭,之後進入web管理介面添加mysql資料庫。

首先搭建nginx1.2伺服器,以下操作均在ssh命令視窗下執行:

cd $OPENSHIFT_DATA_DIR

wget HTTP://nginx.org/download/nginx-1.2.2.tar.gz

tar zxf nginx-1.2.2.tar.gz

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.bz2

tar jxf pcre-8.31.tar.bz2

#開始編譯nginx

makedir nginx1.2

cd nginx-1.2.2

./configure --with-pcre=$OPENSHIFT_DATA_DIR/pcre-8.31 --prefix=$OPENSHIFT_DATA_DIR/nginx1.2

make

make install

cd $OPENSHIFT_DATA_DIR

#配置NGINX

vim nginx1.2/conf/nginx.conf

編輯下端內容:

HTTP { ...

server {

listen 127.7.192.129:8080;

server_name 127.7.192.129;

...

}

...

}

listen和server_name的IP和埠分別由echo $OPENSHIFT_DIY_IP、echo $OPENSHIFT_DIY_PORT

得到

location / {

root html;

index index.php index.html index.htm;

}

要更改網站根目錄請修改root html(html為網站根目錄路徑,修改為實際路徑即可),並在index中添加index.php,伺服器就會自動識別以php結尾的主頁,不然有可能會出現404錯誤,其中html由$ OPENSHIFT_REPO_DIR/diy得到;

要啟用nginx對php的支援去掉以下片段的注釋,並

location ~ .php$ {

root $OPENSHIFT_REPO_DIR/diy;

fastcgi_pass $OPENSHIFT_DIY_IP:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

$OPENSHIFT_REPO_DIR, $OPENSHIFT_DIY_IP都要填寫自己的具體值,埠號預設9000也可任意指定,夠大即可,不過要記住哦,下面的配置會用到。

另外在啟動NGINX前 請killall ruby,不然會因埠佔用而失敗

首先在$OPENSHIFT_DATA_DIR/nginx.1.2目錄中建立start.sh和restart.sh,使用命令

vim start.sh #輸入以下內容後,esc鍵退出編輯,輸入:wq即可保存退出(包含冒號)。

start.sh 內容為

#!/bin/bash

# start nginx

killall ruby

$OPENSHIFT_DATA_DIR/nginx1.2/sbin/nginx

Start.sh建立完畢後,

vim restart.sh #輸入以下內容,esc鍵退出編輯,輸入:wq即可保存退出(包含冒號)。

restart.sh 內容為

#!/bin/bash

# restart nginx

killall ruby

killall nginx

$OPENSHIFT_DATA_DIR/nginx1.2/sbin/nginx

千萬別忘記賦予start.sh和restart.sh可執行許可權:

chmod +x start.sh restart.sh

在~/app-root/repo/.openshift/action_hooks目錄中的start末尾加入

$OPENSHIFT_DATA_DIR/nginx1.2/start.sh

至此nginx搭建完畢,在nginx1.2路徑輸入命令restart.sh,輸入一個不存在url,如果看到nginx的404頁面說明你成功了。

本文連結:HTTP://www.kxzhp.com/info/2013/11/26/9.html

下面開始編譯php5.2.17,至於5.2詳細版本隨各位取捨了,17是5.2的最後一個版本。

wget HTTP://museum.php.net/php5/php-5.2.17.tar.gz

wget HTTP://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz

mkdir PHP5.2

tar zxf php-5.2.17.tar.gz

gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1

cd php-5.2.17

./configure --with-mysql=/var/lib/openshift/user/mysql --prefix=$OPENSHIFT_DATA_DIR/PHP5.2 --enable-fpm

--enable-mbstring --with-zlib --enabl

e-xml --enable-bcmath --with-curl --with-gd --enable-zip --enable-sockets --with-libdir=lib64 --with-png

-dir=/usr --with-jpeg-dir=/usr --with-config-file-path=$OPENSHIFT_DATA_DIR/PHP5.5/etc --with-pcre --enable-fastcgi

#要將mysql中的user換成自己的id!編譯大概需要半小時左右時間,取決於你的網速

make

make install

#又是半小時 到一個小時不等 = = ,下面是將檔php.ini-dist檔拷貝並重命名為php.ini檔

cp php.ini-dist $OPENSHIFT_DATA_DIR/PHP5.2/etc/php.ini

下面要配置php-fpm,本文連結:HTTP://www.kxzhp.com/info/2013/11/26/9.html

vim $OPENSHIFT_DATA_DIR/PHP5.2/etc/php-fpm.conf

標籤listen_address是配置fastcgi進程監聽的IP位址以及埠,預設是127.0.0.1:9000。

$OPENSHIFT_DIY_IP:9000 ,$OPENSHIFT_DIY_IP要填自己的具體值,埠要跟在nginx中配置php的埠一致。

標籤allowed_clients用於設置允許訪問FastCGI進程解析器的IP位址。 如果不在這裡指定IP位址,Nginx轉發過來的PHP解析請求將無法被接受。

127.0.0.1,$OPENSHIFT_IP_DIY,$OPENSHIFT_IP_DIY填寫自己的具體值,一定要添加自己的ip值,不然還是會無法解析php腳本,出現404錯誤。

並在$OPENSHIFT_DATA_DIR/nginx1.2/restart.sh中加入

$OPENSHIFT_DATA_DIR /PHP5.5/sbin/php-fpm restart

執行 restart.sh,nginx+php配置大功告成。

最後要加入Zend optimizer擴展,以支援用Zend加密過的程式,

cd $OPENSHIFT_DATA_DIR

wget HTTP://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

tar zxf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so $OPENSHIFT_DATA_DIR/PHP5.2/ ZendOptimizer.so

vi $OPENSHIFT_DATA_DIR/PHP5.2/etc/php.ini

在檔末尾添加

[ZendOptimizer]

zend_optimizer.optimization_level=1

zend_extension="$OPENSHIFT_DATA_DIR/PHP5.5/ZendOptimizer.so"

這裡的$OPENSHIFT_DATA_DIR要填寫自己具體的路徑,執行nginx1.2中的restart.sh,上傳探針驗證zend optimizer安裝是否

成功,本文探針位址HTTP://diy11-kxzhp.rhcloud.com/tz.php

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.