window + nginx-rtmp + php-cgi 服务器搭建
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》
1、首先需要准备的应用程序包。
nginx : nginx-rtmp-win32 或 nginx/Windows-1.0.4 (无rtmp模块)
php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包)
RunHiddenConsole: RunHiddenConsole.zip(用于cmd 非阻塞运行进程)
2、安装与配置。
1)php的安装与配置。
直接解压下载好的php包,到D盘wnmp目录(D:wnmp),这里把解压出来的文件夹重命名成php5。进入文件夹修改php.ini-recommended文件为php.ini,并用Editplus或者Notepad++打开来。找到
扩展目录(去掉注释)
- ;extension_dir = "ext"
mysql 扩展(去掉注释)
- ;extension=php_mysql.dll
- ;extension=php_mysqli.dll
前面指定了php的ext路径后,只要把需要的扩展包前面所对应的“;”去掉,就可以了。这里打开php_mysql.dll和php_mysqli.dll,让php支持mysql。当然不要忘掉很重要的一步就是,把php5目录下的libmysql.dll文件复制到C:Windows目录下,也可以在系统变量里面指定路径,当然这里我选择了更为方便的方法^_^。
到这里,php已经可以支持mysql了。
接下来我们来配置php,让php能够与nginx结合。找到(去掉注释)
- ;cgi.fix_pathinfo=1
这一步非常重要,这里是php的CGI的设置。
2)nginx的安装与配置。
把下载好的nginx-1.0.4的包同样解压到D盘的wnmp目录下,并重命名为nginx。接下来,我们来配置nginx,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到
- worker_processes 1;
- error_log logs/error.log debug;
- events {
- worker_connections 1024;
- }
- rtmp {
- server {
- listen 1936;
- application live {
- live on;
- pull rtmp://live.hkstv.hk.lxdns.com/live/hks live=1 name=1;
- }
- }
- }
- http {
- access_log logs/access.http.log;
- server_tokens off;
- default_type application/octet-stream;
- client_max_body_size 10G;
- sendfile on;
当前目录创建 other.conf
- server {
- listen 7777;
- server_name live_stream;
- root www;
- index index.php;
- location / {
- if (!-e $request_filename) {
- rewrite ^(.*)$ /index.php?s=/$1 last; # rewrite mode
- #rewrite ^(.*)$ /index.php/$1 last; # pathinfo mode
- }
- }
- location ~ \.php$ {
- fastcgi_hide_header X-Powered-By;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_split_path_info ^(.+\.php)(.*)$;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- fastcgi_connect_timeout 300;
- fastcgi_send_timeout 300;
- fastcgi_read_timeout 300;
- }
- }
保存配置文件,就可以了。
nginx+php的环境就初步配置好了,来跑跑看。我们可以输入命令
- X:\wnp\php\php-cgi.exe -b 127.0.0.1:900 -c X:\wnp\php\php.ini
双击nginx.exe
完成!!!
3.批处理脚本控制开关服务器
1.start.cmd
- @echo off
- REM Windows 下无效
- REM set PHP_FCGI_CHILDREN=5
- REM 每个进程处理的***请求数,或设置为 Windows 环境变量
- set PHP_FCGI_MAX_REQUESTS=1000
- echo Starting PHP FastCGI...
- RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini
- echo Starting nginx...
- RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx
2.end.cmd
- @echo off
- echo Stopping nginx...
- taskkill /F /IM nginx.exe > nul
- echo Stopping PHP FastCGI...
- taskkill /F /IM php-cgi.exe > nul
- exit
4.填坑
php 文件无法接收参数,$_GET,$_POST,$_REQUEST,为空
解决办法:other.conf 文件中, “include fast_params” nginx官网示例
- location ~ \.php$ {
- fastcgi_hide_header X-Powered-By;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_split_path_info ^(.+\.php)(.*)$;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- fastcgi_connect_timeout 300;
- fastcgi_send_timeout 300;
- fastcgi_read_timeout 300;
- }
5.参考文献
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
超融合是独立服务器边缘化的“元凶”
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 随着融合以及超融合系统逐渐获得肯定,独立服务器正在边缘化。然而并非所有的传统IT基础设施都会受到这一趋势的影响。 在融合、超融合以及当前超级融合系统与数据中心的汇聚潮流影响下,风靡几十年的独立的服务器似乎处在了要被取代的危险境地。 曾经是IT基础设施典型标志的,该领域主流的硬件和软件组成部分本是泾渭分明的,独立的服务器设备,被那些认为更容易操作当今基于web的基础设施和应用程序的各种各样的融合系统领先了一大截。 “采用那些老旧的独立系统对于我们这样需要快速拓展云端规模的中等规模公司来说是件很郁闷的事情”,来自佛罗里达州的一家大型运输公司的一位不愿具名的采购代理人如是说,“而且你无法分离传统的计算和存储阵列,这就好比在讨论巨大脚印的鞋码(脚印太大,没有这么大的鞋码,因此讨论鞋码毫无意义——译者注)”。 没有人希望独立服务器突然消失,但很少有人看好其未来的前景。根据Gartner公司最近的一份预测,全新独立服务器的出货量将在2020年降低到相当低的水平。 位于新罕布什尔州的技术商业研究公司(Technology Bus...
- 下一篇
大数据时代下的备份与恢复革命
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 【51CTO.com快译】随着全球数据总量的爆炸式增长,我们必须改变对相关信息的保护方式。 过去五年以来,应用程序的规范已经迎来彻底转变。如今,我们需要在应用当中实现更多敏捷性、可扩展性与可用性要求。在如今这个时代,应用的主要趋势开始转向社交平台、移动设备与软件即服务(简称SaaS)。另外,其需要有能力从各种来源处获取批量数据,同时实时处理以提供背景信息或者业务洞穴能力,借此建立竞争优势。为了满足这些新型需求,企业无法再单纯依赖于传统关系型数据库。有鉴于此,一系列新型数据库系统应运而生,其本质上具备分布式与横向扩展特性,能够被部署在商用硬件之上,同时提供可协调的统一性与性能调整机制。更重要的是,为了满足敏捷性需求,云端数据库即服务模式亦得到广泛采用。 为了帮助大家理解这场分布式数据库变革的规模之大,我们整理出了以下图表,可以看到NoSQL类搜索数量正呈现出急剧上升之势。 这意味着数据保护要求已经彻底改变,且受到数据至上时代的大力推动(包括Web规模应用以及分布式数据库)。企业需要收集大量数据并从中获取有价值信息,用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音