最近一段时间,经常看到不少的朋友在问,应该怎么设置才能够让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. .NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布

    众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL)系统上的一流开发平台选项.这个团队已经一起工作好几个月了,RHEL对.NET有许多需求.今天在 ...

  2. Android中手机录屏并转换GIF的两种方式

    之前在博文中为了更好的给大家演示APP的实现效果,本人了解学习了几种给手机录屏的方法,今天就给大家介绍两种我个人用的比较舒服的两种方法: (1)配置adb环境后,使用cmd命令将手机界面操作演示存为视 ...

  3. Jquery的事件操作和文档操作

    对于熟悉前端开发的小伙伴,相信对于Jquery一定不陌生,相对于JavaScript的繁琐,Jquery更加的简洁,当然简洁不意味着简单,我们可以使用Jquery完成我们想要实现全部功能,这里为小白们 ...

  4. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  5. jquery屏幕滚动计算事件总结

    获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度: $(docume ...

  6. Java 时间类-Calendar、Date、LocalDate/LocalTime

    1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪 ...

  7. 太多选择——企业如何选择合适的BI工具?

    在没认清现状前,企业当然不能一言不合就上BI. BI不同于一般的企业管理软件,不能简单归类为类似用于提高管理的ERP和WMS,或用于提高企业效率的OA.BPM.BI的本质应该是通过展现数据,用于加强企 ...

  8. Atitit.软件开发的三层结构isv金字塔模型

    Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...

  9. atitit.attilax的软件 架构 理念.docx

    atitit.attilax的软件 架构 理念.docx 1. 预先规划.1 2. 全体系化1 3. 跨平台2 4. 跨语言2 5. Dsl化2 5.1. 界面ui h5化2 6. 跨架构化2 7. ...

  10. jQuery radio的取值与赋值

    取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...