SW-X框架 的安装与部署

简介: SW-X 支持启动5种服务,分别为:HTTP服务(API请求)WebSocket服务(长连接请求)MQTT服务(物联网通信)RPC服务(微服务)Tcp服务(自管理 Tcp Server)

官网地址:SW-X框架-专注高性能便捷开发而生的PHP-SwooleX框架

SW-X 依赖于PHP-Swoole扩展,所以在运行SW-X之前,我们需要先安装Swoole扩展。

1、安装Swoole4.8.0

wget http://pecl.php.net/get/swoole-4.8.0.tgz
tar -zxvf swoole-4.8.0.tgz
cd swoole-4.8.0
phpize
# 注意:这里的php安装目录要改成你项目所在的
./configure --with-php-config=/www/server/php/73/bin/php-config --enable-openssl
make
make install
# 修改php.ini,末尾加上下面这句
extension=swoole.so
# 查看扩展是否安装成功
php -m

2、拉取 SW-X 源码最新版

SW-X的安装支持两种方式:

一、官网有提供所有历史版本的源码下载,可直接下载解压:

SW-X框架-历史版本列表

二、也可以通过 composer 命令拉取

composer create-project swoolex/swoolex

下面我们来演示下composer的部署过程:

# 创建项目地址(按照你自己的项目管理路径)
mkdir -p /var/www/html/swoolex/
# 进入该目录
cd /var/www/html/swoolex/
# 拉取SW-X
composer create-project swoolex/swoolex

3、修改服务端口

SW-X的启动,依赖端口挂载,官方默认使用 9502 端口。

如果需要修改端口,只需要打开 /config/server.php 文件修改 port 参考即可。

如果你是云服务器,需要到安全组开放对应的端口,否则启动后无法正常访问服务。

如果安全组开放后,服务还是不能正常访问,可以查看服务器是否开启了防火墙:

# 查看防火墙状态
systemctl status firewalld
# 直接关闭防火墙(测试使用,如果是正式建议单独开放端口,否则会很危险)
systemctl stop firewalld
# 开放某个端口
firewall-cmd --zone=public --add-port=9502/tcp --permanent

4、启动SW-X的HTTP服务

SW-X 支持启动5种服务,分别为:

  1. HTTP服务(API请求)
  2. WebSocket服务(长连接请求)
  3. MQTT服务(物联网通信)
  4. RPC服务(微服务)
  5. Tcp服务(自管理 Tcp Server)

具体的服务启动方式,参考官方文档,服务启动章节:HTTP - Web开发 | SW-X框架

下面我们来启动一个HTTP服务:

# 先进入项目根目录下
cd /var/www/html/swoolex/
# 使用php-cli命令启动服务(注意,这里php全局命令是对应我安装了swoole扩展的版本,如果你是多版本可以指定绝对路径)
php sw-x http

上面命令启动后是会进入框架流程,Ctrl+C会直接关闭服务,如果需要守护进程启动服务,只需要末尾加上 -d

# 守护进程方式启动服务
php sw-x http -d

启动后的CMD界面如下:

浏览器访问:http://外网IP:9502

就能看到框架HTTP服务,初始化的界面:

最后:

开源不易,希望看到本教程的技术大佬们,可以给我一个star,你们的支持是SW-X坚持下去的动力:

https://github.com/swoolex/swoolex


相关文章
|
5月前
|
安全 Shell 数据安全/隐私保护
【内网安全】 横向移动&IPC&AT&SC命令&Impacket套件&CS插件&全自动
【内网安全】 横向移动&IPC&AT&SC命令&Impacket套件&CS插件&全自动
198 0
|
6月前
|
存储 异构计算
System Generator学习——使用 AXI 接口和 IP 集成器(三)
System Generator学习——使用 AXI 接口和 IP 集成器
80 3
|
6月前
|
算法 数据安全/隐私保护 异构计算
System Generator学习——使用 AXI 接口和 IP 集成器(一)
System Generator学习——使用 AXI 接口和 IP 集成器
73 3
|
6月前
|
存储
System Generator学习——使用 AXI 接口和 IP 集成器(二)
System Generator学习——使用 AXI 接口和 IP 集成器
83 2
|
存储 消息中间件 NoSQL
PHP 基于 SW-X 框架,搭建RPC微服务支持
SW-X的微服务也可用于优化FPM业务,底层使用了TCP通讯协议,支持基于AES的数据加解密支持,官方提供了Swoole/FPM下的RPC客户端,并提供了纯基于Redis存储管理的RPC服务中心。
|
存储 前端开发 中间件
|
前端开发 JavaScript API
PHP 基于 SW-X 框架,搭建高性能API架构(五)
本章节学习在SW-X框架中,如何过滤404请求,并使用注解限制请求类型,使用Validate验证器组件过滤表单数据。
|
缓存 中间件 API
PHP 基于 SW-X 框架,搭建高性能API架构(四)
中间件属于AOP切面编程的衍生,SW-X中的中间件可以通过绑定路由地址,实现控制器无切入的关联绑定。在中间件中,可以进行请求拦截(前置操作)、或者请求缓存销毁(后置操作)等业务。
PHP 基于 SW-X 框架,搭建高性能API架构(三)
在SW-X中,Restful组件是对API返回值结构的封装支持。 \x\Restful类支持定义返回值的结构、Code->Msg关联、返回值强类型转换、抛出的数据类型转换、响应的请求头定义(跨域支持)。
|
前端开发 API PHP
PHP 基于 SW-X 框架,搭建高性能API架构(二)
开发阶段中,对swoole项目启动自动热更新代码是很有必要的,不然每次更新了代码,都需要手动reload一次服务。SW-X的热重载除了对框架配置文件、公共函数、Swoole-Event事件无效外,其他文件的修改都有效。