安装Swoole - 面向生产环境的 PHP 异步网络通信引擎

2020-02-07 08:44栏目:龙竞技官网
TAG:

MixPHP 是一款基于 Swoole 的常驻内存型 PHP 高性能框架。

1.1. 程序下载

PHP下载:进入PHP官网下载网址: x86 Thread Safe (2011-Mar-22 13:27:32)” (如图1),弹出保存对话框,保存在硬盘目录下(如图2)。

图片 1

图1

图片 2

图2

Non Thread Safe:非安全线程。Thread Safe与之相反。

Zip:压缩包。

Installer:安装包。

Debug Pack:调试包。

 

MySQL下载:进入MySQL官网下载网址: thanks,just take me to the downloads!” (如图3)。选择最新镜像“mysql-installer-5.5.13.0.msi” (如图4),弹出保存对话框,保存在硬盘目录下(如图5)。

图片 3

图3

图片 4

图4

图片 5

图5

 

Nginx下载:进入Nginx官网下载网址: “nginx/Windows-1.0.4 pgp” (如图6),弹出保存对话框,保存在硬盘目录下(如图7)。

图片 6

图6

图片 7

图7

1.       将下载好的nginx包解压到自定义的目录,我这里是D:WEBSERVER

2.       打开解压目录里的conf目录,编辑nginx.conf文件。Nginx的配置文件非常简练。

找到

location / {

            root   D:/webserver/wwwroot;

            index  index.html index.htm;

        }

这个是你网站根目录所在的路径,默认存放在nginx目录下的html目录,我这里修改成了D:/webserver/wwwroot;index是网站默认主页的格式。

 

3.然后再找到

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        location ~ .php$ {

            root           D:/webtest/wwwroot;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  D:/webtest/wwwroot$fastcgi_script_name;

            include        fastcgi_params;

        }

127.0.0.1:9000是你的fastcgi所监听的端口,fastcgi的配置一定要和这里的一致,将以下几行前面的#去掉,如上配置所示,下面fastcgi_script_name的配置,一定要和你网站的根目录保持一致,此处是fastcgi所执行脚本的路径。

4.nginx配置好之后,我们来配置一下php,首先将下载好的php程序解压到自定义的目录,此处是D:/webserver/php,

5.解压完之后,将php.ini-dist重命名为php.ini,然后打开编辑。

Php的默认配置大家可以参考以前的配置,这里我要再加一条,找到; cgi.fix_pathinfo=0,将其修改为1,并将前面的;去掉,使其生效, 这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。 

6.好了,都配置完了,去开启体验一下把,nginx的启动直接双击nginx.exe就OK了

Fastcgi的启动需要这样启动,用命令 php-cgi.exe -b 127.0.0.1:9000 -q ,大家进到DOS窗口启动一下就行了,因为上面我们不是说了吗,要让php-cgi所监听的端口和nginx.conf里保持一致。

7.通过上面我们看到fastcgi启动以后,会一直停留在DOS窗口,这里我们用一个小工具让其隐藏一下就可以了。

8.首先下载一个 RunHiddenConsole.exe,然后执行RunHiddenConsole.exe D:webserverphpphp-cgi.exe -b 127.0.0.1:9000 -q ,这样就可以了。

9.这里我从网上找了几个批处理,供大家参考一下,

Start:启动批处理

@ECHO OFF

echo Starting PHP_Fast_Cgi

RunHiddenConsole.exe D:webserverphp-cgi.exe -b 127.0.0.1:900

主义此处不能启动nginx,不过可以拉个nginx.exe的 快捷方式啦

Stop:关闭批处理

@echo off

echo Stopping nginx...

taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...

taskkill /F /IM php-cgi.exe > nul

exit

这里可以关闭nginx和php-cgi

Restart重新启动批处理

@ECHO OFF

call stop.bat

call start.bat

EXIT

10,启动好了,大家去体验一下把

-==========================================================================================

图片 8

MixPHP 同时支持多种环境中执行:

Windows下Nginx+PHP5(FastCgi)安装配置详解

Nginx作为一款支持PHP的轻量级WEB服务器,在PHP网站建设中收到越来越多的应用,最近在Windows平台上安装配置了Nginx+PHP5的运行环境,非常方便,现详细介绍下Windows下Nginx配置PHP5的基础教程,Nginx配置PHP是以FastCgi方式配置的。

下载Nginx

Nginx可以在多种操作系统上安装配置,我使用的是Windows,所以需要下载Nginx Windows版本,点击下载Nginx。我下载的是nginx/Windows-0.8.53版本。

安装Nginx

下载完Nginx后,需要在Windows中安装Nginx,Nginx Windows版本的安装非常方便,只要解压缩后,将文件拷贝到C盘根目录下即可,我的Nginx安装目录为C:nginx-0.8.53。

安装配置PHP

我使用的是PHP5.2,你可以可以使用PHP5.3,只要PHP版本支持FastCgi方式(有php-cgi.exe)即可,PHP安装配置教程推荐参考:Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程

配置Nginx支持运行PHP

首先需要打开C:nginx-0.8.53,找到C:nginx-0.8.53conf目录下的nginx.conf,以记事本打开,

配置Nginx支持PHP第一步

设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。

配置Nginx支持PHP第二步

设定WEB服务器目录,类似于PHP.INI配置文件中的document_root,Nginx配置文件中的原有信息如下

location / {
root   html;
index  index.html index.htm;
}

修改Nginx配置如下

location / {
root   D:/PHPWeb;
index  index.php index.html index.htm;
}

这里需要注意,路径分隔符请使用”/”而不要使用Windows中的””以防歧义。

配置Nginx支持PHP第三步

在Nginx配置文件中找到

#location ~ .php$ {

#    root           html;

#    fastcgi_pass   127.0.0.1:9000;

#    fastcgi_index  index.php;

#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

#    include        fastcgi_params;

#}

去处#并添加WEB目录,即

location ~ .php$ {

root           D:/PHPWeb;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  D:/PHPWeb$fastcgi_script_name;

include        fastcgi_params;

}

这里需要注意,需要将

fastcgi_param  SCRIPT_FILENAME   /scripts$fastcgi_script_name;

中的/scripts修改为之前设定的WEB目录,否则会报HTTP 404错误。

配置Nginx支持PHP第三步

修改PHP.INI配置文件中的cgi.fix_pathinfo = 1,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 PHP 文件。

至此,Nginx支持运行PHP的基础配置工作就好了。

接下来我们需要启动PHP FastCgi和Nginx服务以便运行PHP程序,方法如下

1、首先下载RunHiddenConsole.exe
2、启动PHP FastCgi,在CMD模式下输入

RunHiddenConsole C:/php52iis/php-cgi.exe -b 127.0.0.1:9000 -c C:/windows/php.ini

注意你的PHP安装目录,以及php.ini配置文件所在的位置。

3、启动Nginx服务,即在CMD模式下输入

C:/nginx-0.8.53/nginx.exe

至此Windows下配置Nginx以支持运行PHP的基础配置方法就完成了,你可以通过phpinfo函数查看到此时运行PHP的WEB服务器变成了Nginx。

版权声明:本文为博主原创文章,未经博主允许不得转载。


seoole.jpg

  • Nginx + mix-httpd (使用到 Swoole,性能超强)
  • Apache (未使用 Swoole)
  • Nginx + php-fpm (未使用 Swoole)

一、前言

最近由于工作需要,将应用里的部分功能需要推送系统,发现PHP的一个扩展插件swoole。由于经验不足,安装遇到了不少的坑,决定记录下来。

PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。

Swoole底层内置了异步非阻塞、多线程的网络IO服务器。PHP程序员仅需处理事件回调即可,无需关心底层。与Nginx/Tornado/Node.js等全异步的框架不同,Swoole既支持全异步,也支持同步。

除了异步IO的支持之外,Swoole为PHP多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。

Swoole从2.0版本开始支持了内置协程,可以使用完全同步的代码实现异步程序。PHP代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。

Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

以上多种环境中,后面两种都是传统 MVC 框架最常用的部署方式,MixPHP 同时也支持该种方式,但是该种方式无法使用到 Swoole 特性,只是为了方便开发而使用的

二、Linux系统安装swoole

源码编译安装

(1). 下载你要安装的软件包,解压得到目录(如:swoole)

下载地址:

  • https://github.com/swoole/swoole-src/releases

  • http://pecl.php.net/package/swoole

  • http://git.oschina.net/swoole/swoole

(2). 进入软件包目录(cd swoole-src-2.0.12)

图片 9

(3). 执行phpsize命令(/usr/local/php/bin/phpize)

图片 10

image

注: 此图为参考图

(4). 进行配置(./configure --with-php-config=/usr/local/php/bin/php-config #指定安装在哪个PHP)

注:如果系统缺少phpize命令,且你使用的是预编译的RPM包,那么一定要安装适当的PHP开发版本,因为它们一般都包含phpize命令连同合适的头文件来编译PHP及其扩展。

(5). 编译安装
  make
  makeinstall

(6). 安装成功出现如下提示:

图片 11

image

扩展存放位置:

图片 12

image

(7). 修改PHP配置文件(vim /usr/local/php/etc/php.ini)
加入:extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/swoole.so";或直接: extension = "swoole.so";(注意前面不要加分号,如果已有extension_dir, 则不需要再写)

图片 13

image

(8). 重启服务器
pkill-9 nginx ; /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
用phpinfo()在浏览器中查看PHP配置清单,ok, 到此安装已完成。

PECL安装
swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装swoole

(1).一行命令就搞定

pecl install swoole

(2).配置php.ini

extension=swoole.so 

注:以上都可以通过php -m或phpinfo()来查看是否成功加载了swoole,如果没有可能是php.ini的路径不对,可以使用php -i |grep php.ini来定位到php.ini的绝对路径。
![image](http://upload-images.jianshu.io/upload_images/2449059-1a46d6a5f9874788.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

MixPHP 在多种环境中迁移,代码无需修改,是无缝迁移的。

三、win安装swoole

Windows 下安装 swoole 具体步骤:

Swoole,原本不支持在Windows下安装的,所以我们要安装Cygwin来使用。在安装Cygwin下遇到了很多坑,百度经验上的文档不是很全,所以我把自己安装Cygwin和Swoole写下来相当于对自己的沉淀吧。

由于大部分用户开发是在 Windows 中进行,因此 开发阶段 我们推荐使用 Apache 部署方案,因为更简单快速,下面整体演示一下 MixPHP 的 Apache 环境搭建。

首先准备工具:

Cygwin 官方地址:http://www.cygwin.com/

swoole 官方下载地址:https://github.com/swoole/swoole-src/releases

去官网下载 win 版本的 Apache,官网链接中给出了 5 个站点可下载,选择其中一个即可。

下载Swoole和Cygwin

图片 14

image

http://httpd.apache.org/docs/current/platform/windows.html#down
下载Cygwin,我的是64位的(注意请检查自己的版本)

图片 15

image

图片 16

image

注意:网页中有 VC** 等版本,注意该版本代表 Visual C++ 的编译库的版本号,这里的版本号要与 PHP 的版本号一至。

1、安装Cygwin

图片 17

image

选 择安装的软件包,这里需要安装gcc、php、php开发工具、autoconf、pcre-devel,其它默认,这里注意的是,在上方的搜索栏搜索 后,在下边找到对应的软件包选中,点击下一步按钮开始安装。(注意:下方的截图是我安装后界面,点击的位置一样,后边的图标可能不一样哦)

  1. 解压至指定安装目录。
先在搜索gcc

图片 18

image

图片 19图1

php

图片 20

image

  1. 使用CMD安装为系统服务。
pcre-devel

图片 21

image

使用下面命令将 Apache 安装为系统服务,启动 CMD 窗口需 “以管理员权限运行”。

autoconf

图片 22

image

版权声明:本文由龙竞技官网发布于龙竞技官网,转载请注明出处:安装Swoole - 面向生产环境的 PHP 异步网络通信引擎