热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx的,PHP5.5和尔康在OpenShift

这似乎是云部署环境都风靡一时这些年-从AWS到谷歌的AppEngine,WindowsAzure中以DigitalOcean,每月更雨后春笋般冒出来。所有这些环境中,它能够部署您需要的软件是非常重要的

这似乎是云部署环境都风靡一时这些年 - 从AWS到谷歌的App Engine,Windows Azure中以DigitalOcean,每月更雨后春笋般冒出来。 所有这些环境中,它能够部署您需要的软件是非常重要的。

在本教程中,改编自一步的试验和错误的程序步骤duythien ,并与他满心的祝福,我们将讨论在另一个环境Phaclon的安装步骤: OpenShift 。 该过程是血淋淋的 - OpenShift不会使我们很容易部署定制环境 - 但回报是值得的。

起步

就一个帐户OpenShift 。 它们提供了一个免费的层 ,我们将采取的优势。

由于通常情况下,与云环境,OpenShift有自己的工具了。 按照RHC工具安装程序 。 我选择了“spphalcon”作为命名空间的最后阶段rhc setup步骤。

在https://openshift.redhat.com/app/console/applications选择“创建您的第一个应用程序现在”,然后选择“自己动手” -该选项应该是在屏幕的底部。

给应用程序的名称 - 在这一点上,你会发现你以前在高等法院规则设置中定义的命名空间是体现在你的应用程序的公共URL。

注:在OpenShift“服务器”被称为墨盒。

创建和复制的应用程序

当你点击“创建应用程序”,然后等待几分钟,下一个屏幕会告诉你如何下载和修改代码为您的应用程序的说明。

现在使用这些指令克隆的代码。

一个辅助回购

当克隆完成后,进入该文件夹与cd phalcon和克隆另一个仓库内的第一个:

 git clone https://github.com/duythien/openshift-diy-nginx-php

进入这个新创建的文件夹,并复制.openshift文件夹的父文件夹-包含您以前克隆的主应用程序代码的文件夹。 您可能会被要求覆盖某些文件 - 接受所有覆盖。

 cd openshift-diy-nginx-php cp -R .openshift ../

我们还需要刷新权限,按照对原始指令帮手回购协议 :

 git update-index --chmod=+x -- $(git ls-files .openshift/action_hooks/*)

您可以删除openshift-DIY-nginx的 - PHP的目录下,我们不再需要它了。 我们只需要它.openshift子文件夹。

现在添加修改,提交和推送:

 git add -A git commit -am 'Added .openshift folder' git push

什么被启动后,此步骤称为一个构建过程,和你的DIY应用程序将依次读取的内容被停止.openshift文件夹,并做出相应的反应。 在我们的例子中,它是关于构造一个nginx的服务器环境。 这个构建过程可能需要一段时间,有一些人报告了一个多小时的漫长等待。 这是因为所有我们正在安装的软件正在建立从源代码,而不是通过包管理器。

有因超时在生成过程中也得到了OpenShift断开的报告。 如果发生这种情况,只需进行任意更改一个README文件或一些其他类似的微不足道,提交,并再次推。

当编译完成后,您可以通过创建一个确保一切工作web文件夹中的应用程序的根目录(在本地),和一个index.php文件里面的内容:

 

犯,推,你应该能够在浏览器中打开你的应用程序的URL和看到PHP的信息屏幕。

尔康

现在到了困难的部分,一些铁杆的两轮牛车如下得到尔康启动和运行。

SSH到您的墨盒按照您的应用程序的仪表板,或找出SSH的网址与步骤rhc domain show 。

然后输入app-root/runtime/repo和克隆该文件夹中的cphalcon库中。

 cd app-root/runtime/repo git clone http://github.com/phalcon/cphalcon.git

找到PHP的bin目录的位置。 它通常是在$OPENSHIFT_RUNTIME_DIR/php5/bin 。 尝试CD-ING进去,看看它是否工作。 如果一切正常,进入build先前克隆cphalcon目录。

 cd && cd app-root/runtime/repo/cphalcon/build

打开install有像vi或vim的文本编辑器文件,并替换所有引用phpize与$OPENSHIFT_RUNTIME_DIR/php5/bin/phpize或任何位置,你发现你自己的应用程序,如果不相同,以我的。 该引用的phpize应该在文件的底部。 此外,添加选项--with-php-cOnfig=$OPENSHIFT_RUNTIME_DIR/php5/bin/php-config的配置行。 基本上,你应该更换此块:

 #Clean current compilation if [ -f Makefile ]; then make clean phpize --clean fi #Perform the compilation phpize && ./configure --enable-phalcon && make && make install && echo -e "\nThanks for compiling Phalcon!\nBuild succeed: Please restart your web server to complete the installation"

与此

 #Clean current compilation if [ -f Makefile ]; then make clean $OPENSHIFT_RUNTIME_DIR/php5/bin/phpize --clean fi #Perform the compilation $OPENSHIFT_RUNTIME_DIR/php5/bin/phpize && ./configure --enable-phalcon --with-php-cOnfig=$OPENSHIFT_RUNTIME_DIR/php5/bin/php-config && make && make install && echo -e "\nThanks for compiling Phalcon!\nBuild succeed: Please restart your web server to complete the installation"

我们在这里做的是确保在phpize从刚安装php5.5是由明确指出,我们要那台运行。 这样一来,cphalcon被建为我们的PHP版本,与我们的PHP配置。

在此之后,只要运行./install 。 须藤不允许在OpenShift墨盒,但你的SSH用户将接近根,你可以得到。

让我们将它添加到php.ini文件现在。

 cd $OPENSHIFT_RUNTIME_DIR vim etc/php5/php.ini

找到在哪里扩展列块。 使用vim的模式取景器:按正斜杠(/),然后键入“扩展名=”和回车键,这将带您到块在下面的截图。 新增“扩展名= phalcon.so”到块的结束,而你在那里,向下滚动远一点,并添加你的时区为好。

我们现在需要重新启动我们的墨盒重新加载这些变化。 为此,您需要在冲压ctl_app restart而SSHed的箱子。

编辑:你可能会这样说像后遇到问题

 "PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/extensions/phalcon.so' - /path/to/extensions/phalcon.so: undefined symbol: output_globals in Unknown on line 0".

要修复它,重新编译尔康以下提供的说明在这里 ,或者换句话说,执行下列操作:

 cd cphalcon/build/64bits make clean phpize --clean /path-to-php/bin/phpize ./configure --with-php-cOnfig=/path-to-php/bin/php-config make && make install

感谢阿列克谢Bakulin这个提示!

重新检查你的应用程序的URL,你应该看到尔康在PHP信息屏幕现在。

配置Nginx的

最后一步是配置了Nginx的URL重写,所以我们可以部署一个尔康的应用程序。 我们将部署Phalconphp.com网站,但随时修改这些设置应用到自己的应用程序。

 vim $OPENSHIFT_RUNTIME_DIR/nginx/conf/nginx.conf

寻找与模式取景器服务器模块(模式搜索的是“服务器{”)。 在root下,改变//web部分是//website/public 。 根据index ,把index.php作为第一个选项,而不是最后。 向下滚动了一下,按照Nginx的安装说明下location @rewrites替换

 location @rewrites { rewrite ^(.*)$ /index.php/$1 last; }

 location @rewrites { rewrite ^/(.*)$ /index.php?_url=/$1; }

克隆Phalconphp.com网站进入回购文件夹,当它完成后,再次重新启动墨盒:

 cd && cd app-root/runtime/repo git clone http://github.com/phalcon/website ctl_app restart

访问应用程序的公共URL,瞧,你有一个运行Phalconphp.com克隆的OpenShift。

结论

安装费尔康(或任何其他PHP扩展)在OpenShift显然是既不容易,也不乐趣 - 但看到自己DIY的应用程序只有0.1版本,这个过程势必会变得更加容易。 现在,我希望这介绍的自定义OpenShift的环境勾起了你的胃口够玩你自己的。 打开openshift文件夹,并剖析了行动挂钩 - 还有很多需要学习,如果你管理的自动化,我们刚刚经历了一个钩的过程中,不要让我知道,我会更新与完全学分制的文章。

留下您的反馈在下面的评论!


推荐阅读
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
author-avatar
mobiledu2502903113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有