歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

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

  近日申請了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

Copyright © Linux教程網 All Rights Reserved