swoole 建立httpserver 服务[通俗易懂]

swoole 建立httpserver 服务

大家好,又见面了,我是全栈君。

1.上代码:http_server.php文件

<?php
/**
 *User: lxw
 *Date: 2020-01-16
 */

/*$http = new Swoole\Http\Server("127.0.0.1", 9501);

$http->on('request', function ($request, $response) {
    var_dump($request->get, $request->post);
    $response->header("Content-Type", "text/html; charset=utf-8");
    $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>");
});

$http->start();*/

$http = new swoole_http_server('0.0.0.0', 8811);

$http->on('request', function ($request, $response) {
//    print_r($request->get);
    $response->end("ss".json_encode($request->get));
//    $response->end("<h1> http server</h1>>");
    //end :发送html响应体,并结束请求处理,  end操作后将向客户端浏览器发送html内容
    //end 只能调用一次,如果需要向客户端发送多次数据,请使用write
});
//开启服务
$http->start();

2.服务端:启动服务

swoole 建立httpserver 服务[通俗易懂]

3.客户端:浏览器,谷歌浏览器带上子域名前缀www

http://www.httpserver.com:8811/?m=222

swoole 建立httpserver 服务[通俗易懂]

4.补充httpserver.com 在NGINX中配置

server
    {
        listen 8811;
        #listen [::]:80 default_server ipv6only=on;
        server_name httpserver.com  www.httpserver.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/newproject/swoolechat/swoole-src/examples/server;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;

        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location / {
            if (!-e $request_filename){
                rewrite ^/(.*)$ /index.php?s=/$1 last;
            }
        }
                location ~ /\.
        {
          deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }

5.如果出现拒绝访问:考虑下防火墙

如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables 

增加规则

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8811 -j ACCEPT

或,参数顺序前后没区别

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8811 -j ACCEPT

swoole 建立httpserver 服务[通俗易懂]

重新启动iptables ,使其生效

swoole 建立httpserver 服务[通俗易懂]

======================================================

额外补充:

nignx 与swoole hhtp-server 不能同时开启,两者只能开启其一;两者不能共存.

swoole 建立httpserver 服务[通俗易懂]swoole 建立httpserver 服务[通俗易懂]

两者切换,ctrl+c 取消swoole-http-server 服务器,service nginx restart 重启NGINX 服务器;

swoole 建立httpserver 服务[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111941.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • log4j2.xml配置文件详解_log4j配置日志文件目录

    log4j2.xml配置文件详解_log4j配置日志文件目录log4j.xml配置文件详解一log4j.xml配置<?xmlversion=”1.0″encoding=”UTF-8″?><!DOCTYPElog4j:configurationSYSTEM”log4j.dtd”><log4j:configuration><!–将日志信息输出到控制台–>&lt…

  • ununtu14安装csitools_ubuntu 16.04 安装

    ununtu14安装csitools_ubuntu 16.04 安装相关包的下载网址:http://www.netfilter.org/projects/iptables/downloads.html1、解压进入目录#tar-vxjfipset-6.24.tar.bz2#cd cdipset-6.24/2、初始化ipset编译环境,需要automake,autoconf,pkg-config和libtool的支持。#./autog

  • Microsoft store应用商店无法加载页面代码: 0x80131500

    Microsoft store应用商店无法加载页面代码: 0x80131500Microsoftstore应用商店无法加载页面代码:0x80131500出错后我在微软官网查找问题原因,以下设置都可能解决问题:原文建议先尝试更换网络连接,比如连接个人手机热点,再使用MicrosoftStore进行尝试。如果您连接了VPN或下载了第三方防火墙应用,建议断开VPN,卸载第三方防火墙应用。①调整网络连接…

  • es6 模板字符串_模板字符串如何实现

    es6 模板字符串_模板字符串如何实现es6的模板字符串个人觉得是很好用的,尤其简化了字符串拼接这块,下面说下它是如何使用的首先,模板字符串是增强版的字符串,使用反引号“来包括字符串,如果需要拼接上变量,那拼接的格式是使用${}包裹变量即可举个例子看下最基本的用法,可以看出来跟普通字符串拼接比较起来简洁容易了很多2:模板字符串的另一优点是,空格和缩进都会保留在输出中,之前的字符串换行的话需要拼接换行符,缩进需要使用缩…

  • ubuntu安装nginx教程_ubuntu服务器安装教程

    ubuntu安装nginx教程_ubuntu服务器安装教程ubuntu系统安装nginx

  • httpclient3与httpclient4访问的一些区别[通俗易懂]

    httpclient3与httpclient4访问的一些区别[通俗易懂]httpclient3访问如下:HttpClientclient=newHttpClient();GetMethodmethod=newGetMethod(url);intstatusCode=client.executeMethod(method);method.getResponseBody();在3中httpclient是类。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号