这里是文章模块栏目内容页
Windows系统下cygwin64 配置swoole+php+nginx环境

cygwin64 配置swoole+php+nginx环境


Swoole 是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎,为 PHP 提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和客户端模块,可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。


为方便windows开发环境下体验swoole的功能,推荐采用cygwin64来部署。

1、首先下载cygwin64。

从官网 http://cygwin.com/install.html 下载setup-x86_64.exe

点击运行安装包,选择默认的资源镜像源。

除了选择需要安装到磁盘哪个目录外,其他选项都采用默认即可。

镜像源,也就是它的download sites是 http://cygwin.mirror.constant.com 

这个资源镜像源的地址,每次安装新的库时,要保持和之前的一致。

然后就可以像在 linux里面一样,在它的包和库管理窗口 Select Packages里面按照 view的类型为 category 选择要安装的工具包,知道具体的包名时,通过search 搜索包名更快,这些包名,基本上和linux环境的包名一致。

因为swoole 在cywin64 上需要编译安装。

所以要在cywin64 的包管理器中 Devel开发类包中勾选需要安装 的

gcc、make、autoconf 等包,勾选安装php分类全部包,当然要选择php7.3版本。


用同样的方法,安装nginx 包。不推荐在cygwin环境编译安装nginx和php,而是直接采用包管理器安装。

步骤2

Cygwin64 Terminal 是一个命令行窗口,这个命令行基本类似linux的命令。

nginx的安装和启动 。


首先在cygwin下搜索nginx并安装(不建议编译安装,官方有封装好服务),安装cygrunsrv(设置Windows服务的基础),安装好后 以管理员身份运行Cygwin nginx服务文件为/etc/rc.d/init.d/nginx,在Cygwin下是可执行程序。


/etc/rc.d/init.d/nginx  {start|stop|status|install|uninstall|restart|condrestart}


先不着急执行install命令,

先执行cygserver-config并输入yes接受默认值即可,然后执行如下命令

/etc/rc.d/init.d/nginx install

此时服务安装好了,不着急启动,不然服务可能会无法启动,因为缺少必要的文件夹,所以要先创建必要的文件夹/var/log/nginx和/var/lib/nginx/tmp,然后执行/etc/rc.d/init.d/nginx start即可启动服务,结束!


步骤3 ,编译安装swoole 。


编译步骤参考swoole的流程,在Cygwin64 Terminal 上进行命令操作。

当编译失败时,看提示缺少哪些包,再在Cygwin 的包管理器中勾选安装即可。

步骤很多,也可能遇到一些不一样的问题,但是swoole是可以成功安装的。


然后把 swoole 作为 php的扩展,配置到php.ini文件中。此文件在 /etc/php.ini 文件。


然后是通过nginx 的配置一个代理到 swoole的服务端口。


nginx的配置文件在 /etc/nginx/nginx.conf 里面。


cygwin 的nginx 配置,可以参考 http://www.siyueweb.cn/index.php?c=show&id=364

文章内容,实现了nginx 代理到 thinkphp-swoole 运行的端口20108的 websocket服务上。

它是一个websocket 的 聊天服务 crmchat的开源工具。


好了本文内容全部结束。感谢你的阅读,希望对你有所帮助。

 


更多栏目