可以

如你安装了Python,可以立马执行一个简单的命令,一个简便的开发服务器就完成了。python -m SimpleHTTPServer

但是PHP,直到php5.4才支持类似的功能

$ php -S 0.0.0.0:8000

PHP 5.4.0 Development Server started at Tue Aug 21 23:21:50 2012

Listening on 0.0.0.0:8000

Document root is /home/tom

Press Ctrl-C to quit.

php本身就可以架一个服务器,Nodejs也可以架一个服务器,那么就不用啥apache啦,nginx啦

基本思路就是Node开启一个服务器作为前台,监听80端口,类似Apache的角色,php开启一个服务器在后台运行。 Node服务将http请求转发给php服务器执行,执行完成后返回给node服务器,node服务器再返回给浏览器

Node承担的是一个中间的代理角色

var fs = require('fs'),

http = require('http'),

spawn = require('child_process').spawn,

phpserver;

phpserver = spawn('php',['-S','0.0.0.0:8000']);

phpserver.stdout.on('data', function (data) {

console.log('stdout: ' + data);

});

phpserver.stderr.on('data', function (data) {

console.log('stderr: ' + data);

});

phpserver.on('exit', function (code) {

console.log('child process exited with code ' + code);

});

process.on('exit',function(){

phpserver.kill('SIGHUP');

});

function handleRequest(request, response) {

var headers = {};

for(var x in request.headers){

headers[x] = request.headers[x];

}

headers['Content-Type']= 'application/x-www-form-urlencoded';

var proxy_request = http.request({

host:'localhost',

port:8000,

method:request.method,

path:request.url,

headers:headers

});

proxy_request.on('response', function (proxy_response) {

response.writeHead(proxy_response.statusCode,proxy_response.headers);

proxy_response.on('data', function(chunk) {

response.write(new Buffer(chunk));

});

proxy_response.on('end', function() {

response.end();

});

});

request.on('data', function(chunk) {

proxy_request.write(new Buffer(chunk));

});

request.on('end', function() {

proxy_request.end();

});

}

http.createServer(handleRequest).listen(80);

保存上面的文件为server.js然后在命令行里执行

node server.js

一个node和php混搭的服务器就搭建成功了

nodejs和python和php_PHP和Nodejs能配合使用吗?相关推荐

  1. python和node_Python和NodeJS绘图对比

    在绘图方面,Python 比 NodeJS 好用,首先 Python 绘图库多,而且 API 强大而完善. NodeJS 还是少点,一些库还没测就放弃了,需要 window 支持,而我需要在后端执行. ...

  2. python nodejs开发web_用nodejs和python实现一个爬虫来爬网站(智联招聘)的信息

    最近研究了一下网站爬虫,觉得python和nodejs都有优点,所以我决定实现一个爬虫,用python来抓取网页的源代码,用nodejs的cheerio模块来获取源代码内的数据.正好我有明年换工作的打 ...

  3. python调用node_node-python:在nodejs中调用python代码

    在npmjs.com中有一个包node-python,顾名思义,是不是就是在node中使用python呢?让我们往下看: (这里是它的地址:https://www.npmjs.com/package/ ...

  4. NodeJS 依赖 Python 自动安装

    在 Windows 10 环境安装 node-v16.13.1-x64.msi 的时候. 会自动安装 Python 依赖. 在 NodeJS 的安装过程中,勾选Authmatically instal ...

  5. nodejs+java+python小区住户防疫健康出入返乡登记管理系统vue+elementui

    分为住户,普通管理员,系统管理员. (1)住户功能: 住户信息 住户注册 图表统计 住户提交健康信息功能 住户提交返乡申请, 住户提交出入申请, 前端技术:nodejs+vue+elementui越来 ...

  6. nodejs和python爬虫 哪个好_nodejs有哪些爬虫框架?

    nodejs有哪些爬虫框架?下面本篇文章给大家介绍几款nodejs爬虫框架.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. node-spider 基于nodejs的通用爬虫框架,得 ...

  7. nodejs 更新_NodeJs(一)我对NodeJs的认知

    欢迎来到我的NodeJs专题系列,更多精彩内容持续更新中,敬请关注! 写在前面 前面我已经分享了100+篇前端相关的技术文章,都是自己平时工作中遇到的一些问题的问题,还有是我平时自学的内容.但是那些前 ...

  8. linux sublime nodejs,Windows环境下sublime的Nodejs插件详细安装图解

    前面的话 搜索了好多文档后,才成功在Windows环境下安装了sublime text3的nodejs插件.为了存档,也为了方便有同样需求的朋友,将其安装过程详细记录如下 安装nodejs 虽然nod ...

  9. asp是什么, javascript和php,asp区别,什么是 JavaScript 引擎, nodejs和vuejs的关系,nodejs和javascript区别

    asp是什么 ASP有两个含义: 一是英文Application Service Provider的缩写,意思是网络应用服务供应商: 另一个是英文Active Server Page的缩写,是微软推出 ...

最新文章

  1. 天猫双十一这十年:从“人肉云计算”到“脉冲计算”经历了什么
  2. Elasticsearch压缩索引——lucene倒排索引本质是列存储+使用嵌套文档可以大幅度提高压缩率...
  3. webpack loader的套路
  4. HTML5 新增结构元素分为主体结构元素和非主体结构元素
  5. 安卓menu页面跳转_微信安卓版7.0.14内测!“发现小程序”页面大改版
  6. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(开发环境介绍)
  7. 使用Windows窗体的C#旋钮控件
  8. 如何用 Python 快速开发一个区块链数据结构?
  9. 分布式 Spring Cloud 基于 Spring Boot 开发一整套
  10. 显卡型号区分 N卡和A卡   N卡与A卡的区别
  11. 计算机多系统启动光盘制作,制作启动光盘,小编教你如何制作光盘启动盘
  12. TeamViewer 远程连接一直显示正在初始化显示参数的解决方案
  13. python蓝牙控制手机打电话_树莓派 python bluetooth,用pybluez控制蓝牙
  14. 关于搭建k8s集群遇到的问题与解决方法
  15. linux系统出现BUG:softlockup- CPU#0 STUCK FOR 23s 或 rcu_sched self-detected stall on cpu 等字样的解决办法
  16. 【数字IC/FPGA】时钟无毛刺切换
  17. 文档习惯之格式篇 用文档逼疯一个人的五种办法
  18. Vultr云主机+Godaddy域名+阿里SSL配置Nginx的https访问(包含docker配置方法)
  19. 网络与信息安全基础知识--网络安全
  20. 补充:特殊句型(虚拟语气、情态动词)

热门文章

  1. SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
  2. JVM可创建的最大线程数
  3. 解决load,get,save 等is not valid without active transaction异常的原因。
  4. html自定义属性冒号,vue中标签上的属性加冒号与不加冒号的区别
  5. linux安装多路径报错,linux多路径软件rdac安装方法
  6. OpenCV 距离变换的笔记
  7. 批量选中删除(包含全选)---jsp,servlet
  8. 台积电要造第一款7nm芯片 明年下半年可投产
  9. 数据库 SQL语法一
  10. 我为什么喜欢用C#来做并发编程