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


相关文章
|
12天前
|
安全 Shell 数据安全/隐私保护
【内网安全】 横向移动&IPC&AT&SC命令&Impacket套件&CS插件&全自动
【内网安全】 横向移动&IPC&AT&SC命令&Impacket套件&CS插件&全自动
|
2月前
|
存储 异构计算
System Generator学习——使用 AXI 接口和 IP 集成器(三)
System Generator学习——使用 AXI 接口和 IP 集成器
33 3
|
2月前
|
算法 数据安全/隐私保护 异构计算
System Generator学习——使用 AXI 接口和 IP 集成器(一)
System Generator学习——使用 AXI 接口和 IP 集成器
36 3
|
2月前
|
存储
System Generator学习——使用 AXI 接口和 IP 集成器(二)
System Generator学习——使用 AXI 接口和 IP 集成器
32 2
|
12月前
|
Ubuntu 网络协议 安全
嵌入式Linux开发环境搭建之七---正确设置网络使开发板ping同Ubuntu(使用桥接方式,不推荐)
嵌入式Linux开发环境搭建之七---正确设置网络使开发板ping同Ubuntu(使用桥接方式,不推荐)
673 0
|
存储 消息中间件 NoSQL
PHP 基于 SW-X 框架,搭建RPC微服务支持
SW-X的微服务也可用于优化FPM业务,底层使用了TCP通讯协议,支持基于AES的数据加解密支持,官方提供了Swoole/FPM下的RPC客户端,并提供了纯基于Redis存储管理的RPC服务中心。
|
资源调度
SAP Spartacus 如何借助env-cmd 实现 B2B 和 B2C 功能启动的无缝切换
在之前的 SAP Spartacus 标准开发中,每次我从 Github 上 clone 了最新的代码后,必须手动修改 environment.ts 里的配置值,将 CX_BASE_URL 和 b2b 修改成实际值:
SAP Spartacus 如何借助env-cmd 实现 B2B 和 B2C 功能启动的无缝切换
SAP SD基础知识之与FI集成相关的流程与配置
SAP SD基础知识之与FI集成相关的流程与配置
|
API 网络性能优化
如何新建VPP插件
如何新建一个VPP插件
4868 0
|
网络协议 网络虚拟化 网络架构