openshift搭建nginx+php5.2+zend+mysql服务器教程
  0 条讨论   发布日期: 12月 06, 2013   文章位于: 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 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都要填写自己的具体值,端广州SEO的口号默认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页面说明你成功了。
  本文链接:.kxzhp/info/2013/11/26/9.html
  下面开始编译php5.2.17,至于5.2详细版本随各位取舍了,17是5.2的最后一个版本。
  wget museum.php/php5/php-5.2.17.tar.gz
  wget 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,本文链接:.kxzhp/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 downloads.zend/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安装是否
  成功,本文探针地址diy11-kxzhp.rhcloud/tz.php

Comments are closed.

欢迎订阅本站

网站已运行: 11年2月19日23时12分43秒