Docker搭建Nginx+swoole环境

7 篇文章 0 订阅
6 篇文章 1 订阅

又是老朋友,Docker的搭建项目,还是并发问题,我们都知道,PHP有一款很好用的扩展,swoole,swoole可以集成到PHP开发环境中,我们只需要安装到PHP扩展里就行,详细步骤看我之前的文章Docker下php容器安装swoole扩展

好了,那我们这次需要用到2个容器,一个普通的Nginx容器,另一个则是已经集成好Swoole的PHP-fpm容器,由于时间关系,我已经把集成好Swoole扩展的PHP容器再打包生成好一个镜像(ekko/swoole)了,可以直接创建一个swoole容器。

创建2个新容器:

docker run -it -d --name swoole-nginx -v /root/docker/swoole/code:/usr/share/nginx/html -v /root/docker/swoole-nginx.conf:/etc/nginx/conf.d/default.conf --network my-net -p 9000:80 nginx
docker run -it -d --name swool -v /root/docker/swoole/code:/usr/share/nginx/html --network my-net -p 8999:8888 ekko/swoole

nginx.conf的配置如下

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html;
        proxy_http_version 1.1;
        proxy_set_header Connection "keep-alive";
        proxy_set_header X-Real-IP $remote_addr;
        if (!-e $request_filename) {
            proxy_pass http://swoole:8888;
        }
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

swoole中server.php代码如下

<?php
$http = new swoole_http_server("0.0.0.0", 8888);

$http->on("start", function ($server) {
    echo "Swoole http server is started at http://wrsndm:8999\n";
});

$http->on("request", function ($request, $response) {
    $response->header("Content-Type", "text/plain");
    echo "swoole already response";
    $response->end("Hello World\n");
});

$http->start();

因为Swoole是不支持fpm的,只支持cli启动,所以去到server.php的目录下,把服务启动

php server.php

接着外网访问http://wrsndm.online:9000/index.html,因为9000是映射到swoole-nginx的80端口,所以实际是经过了nginx,然后反向代理给swoole的8888端口处理了,所以输出了HelloWorld。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值