最近一段时间,经常看到不少的朋友在问,应该怎么设置才能够让Jexus支持PHP。其实,Jexus在很早之前就已经是可以支持PHP,像Apache或Nginx一样充当PHP的Web服务器的。不过由于没有这个方面的需求,我也一直没有用它这一项功能。

早在前两天,群里一名朋友找到我,他想把一个PHP版的BBS改为.NET版的,问我有没有兴趣,我看了下这个BBS的用途,也乐意的接受了他的邀请。于是问题就来了,这个BBS是PHP版的,我需要先把它挂上服务器,先大概的“玩”一下有些什么功能、好不好使,但是当前手头上,我没有任何可以供PHP运行的环境(早在一年前我就已经没有和LAMP接触了),我需要快速的获得一个PHP的运行环境。

搭建一个新的,这是我唯一的一个选择。如果这是一个新装的系统,并且我只是想单纯的跑PHP的话,我也许会选择经典的LAMP构架(Linux+Apache+Mysql+PHP),但是由于当前的系统中已经存在了一套完整的Linux.NET环境,所以我也不折腾了,直接采用最简单的方式,快速的这个BBS跑起来。

下面开始动手:


我们使用的是最简单最快捷的方式来搭建,因此我选择YUM来安装所需要的所有组建,需要源码安装的朋友可以自行套弄

首先我们先获得我们的PHP环境:

yum install -y php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

接着是MYSQL数据库:

yum install -y mysql-server

Jexus对PHP的支持有三种方式,他们分别是:

  1、使用Jexus自带的CGI去支持

  2、使用PHP的CGI

  3、使用PHP.NET

详细的可以看:http://www.linuxdot.net/bbsfile-3132

在这里,我使用最简单的方式——使用Jexus自带的CGI去支持。

首先我们需要修改PHP.INI文件,由于我们是通过Yum安装的,所以默认的地方是“/etc/php.ini”(自己源码编译的就不是哦)。

找到“cgi.force_redirect=1”这一行,然后把前面的注释去掉,并把“1”改为“0”

保存退出。

然后,我们找到Jexus程序的存放目录,并修改“Jws.conf”文件。

vi /usr/local/jexus/jws.conf

把“php-fcgi.set=/usr/bin/php-cgi,6”前面的注释去除,这样Jexus就就可以通过CGI的方式支持PHP了

保存退出。

等等,这里还有一点没有完成的,要支持PHP,我们还要在挂PHP的那个网站项目的配置文件中指明一下,我们新建一个名为PHP的网站项目

cp /usr/local/jexus/siteconf/default /usr/local/jexus/siteconf/php

然后用VI打开它

修改好我们的端口和根目录配置,然后注意下方红框的地方,把前面的注释去除,再保存退出。

重启下Jexus。

/usr/local/jexus/jws restart

这里我解析一下:如果各位读者像我一样使用Jexus自带的CGI来支持PHP的,请除去前一个CGI的注释(红框那个),如果是用PHP的CGI的请出去下面那个。

我们在根目录中建一个显示phpinfo的文件(懂PHP的人都知道怎么回事),然后浏览器中访问下:

嘿嘿,然后就出来了。很简单,也很快,不过冲一杯咖啡的时间就搞好了,然后我们可以把自己的PHP项目挂上去跑了。


附:最近Mono更新到了3.2.8,有兴趣的读者可以去下载自己编译升级,下载地址如下:http://download.mono-project.com/sources/mono/mono-3.2.8.tar.bz2

如何让我们的PHP在Jexus中跑起来的更多相关文章

  1. 丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  2. 让Mongo在Spring中跑起来

    本文标题为<让Mongo在Spring中跑起来>,旨在Spring中如何成功连接MongoDB并对其进行增删改查等操作,由于笔者也是刚接触,对其中的一些原由也不甚了解,若有错误之处,敬请指 ...

  3. 在Docker中跑Hadoop与镜像制作

      重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像:   Hadoop集群依赖的软件分别为:jdk.ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可: 配置文件准 ...

  4. Canvas画图在360浏览器中跑偏的问题

    问题描述,canvas画图的js代码中编写的是画正方形的代码,结果在360浏览器上变成了长方形,不知道怎么回事,请问各位大神是否遇到过此类问题? <!DOCTYPE html> <h ...

  5. hadoop streaming 中跑python程序,自定义模块的导入

    今天在做代码重构,以前将所有python文件放到一个文件夹下,上传到hadoop上跑,没有问题:不过随着任务的复杂性增加,感觉这样甚是不合理,于是做了个重构,建了好几个包存放不同功能的python文件 ...

  6. [转] VS2015中跑OpenGL红宝书第八版的第一章示例代码,运行

    Ori Article Link OpenGL的东西快忘光了,把角落的第八版红宝书拿出来复习一下 从书中的地址下了个示例代码结果新系统(Win10+VS2015)各种跑不起来,懊恼之后在网上疯狂搜索资 ...

  7. VS2015中跑OpenGL红宝书第八版的示例代码

    OpenGL的东西快忘光了,把角落的第八版红宝书拿出来复习一下 从书中的地址下了个示例代码结果新系统(Win10+VS2015)各种跑不起来,懊恼之后在网上疯狂搜索资料终于跑起来了,记录一下 一.环境 ...

  8. idea中跑mapreduce报错, PATH设置错误

    问题如题,报错: [root@node01 servers]# hadoop jar loginVisit.jar cn.itcast.loginVisit.step1.Step1Main19/07/ ...

  9. iOS中跑马灯效果小结

    时光过得好快,记忆中刚刚从春节返回没有多久,清明.五一已飞逝而过,眨眼已到盛夏季节.不过还好,济南这两年不算太热,刚开始升温几天,一场及时雨总能让温度保持适宜.为了纪念一下青春的尾巴,也为了能有个健康 ...

随机推荐

  1. [原创]mybatis中整合ehcache缓存框架的使用

    mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...

  2. HTML5 语义元素(一)页面结构

    本篇主要介绍HTML5增加的语义元素中关于页面结构方面的,包含: <article>.<aside>.<figure>.<figcaption>.< ...

  3. FragmentTabHost的基本用法

    开通博客以来已经约莫1个月了.几次想提笔写写东西,但总是由于各种各样的原因并没有开始.现在,年假刚结束,项目也还没有开始,但最终促使我写这篇博客的是,看了一篇博友写的新年计划,说是要在新的一年中写50 ...

  4. Shell碎碎念

    1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...

  5. angular 源码分析 1 - angularInit()

    angularjs 是个神奇的框架,由于我的好奇,想了解她的内部工作原理,只能一步一步的走进她,靠近她,和她深入的交流. angularjs 的入口是什么样子的呢?一起掀起她的盖头吧. 在这里我只讲方 ...

  6. JS继承之原型继承

     许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支 ...

  7. scanf类型不匹配造成死循环

        int i = 0; while (flag) { printf("please input a number >>> "); scanf("% ...

  8. RMS Server打开或关闭日志记录

    原文: https://technet.microsoft.com/zh-cn/library/cc732758 在 Active Directory Rights Management Servic ...

  9. TCP的数据传输小结

    TCP的交互数据流 交互式输入 通常每一个交互按键都会产生一个数据分组,也就是说,每次从客户传到服务器的是一个字节的按键(而不是每次一行) 经受时延的确认 通常TCP在接受到数据时并不立即发送ACK: ...

  10. MEF学习

    一.   什么是MEF MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置. 扩 ...