在 Ubuntu 18.04 上部署 ReactPhp

ReactPhp deploying on Ubunutu 18.04

您好,我在本地计算机上使用 ReactPHP 使用 REST Api 我想将它部署在开发服务器上,

我在 DO 上添加了一个新的子域,与 nginx 放置了一个 conf,为 php index.php 我的 ReactPHP 应用程序的服务器根文件设置了一个正在进行的进程。

允许端口 8000。

现在我无法访问我的 api 路线 我的服务器日志显示 Listening on tls://127.0.0.1:8000 作为 $loop->run();

上的默认回显

点击子域的路由时它说

<html>

<head>
    <title>502 Bad Gateway</title>
</head>

<body bgcolor="white">
    <center>
        <h1>502 Bad Gateway</h1>
    </center>
    <hr>
    <center>nginx/1.14.0 (Ubuntu)</center>
</body>

</html>

我的 nginx 配置文件

server { 
    listen 80;
    server_name test.example.com;
    root /var/www/api; 
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
        proxy_pass             http://127.0.0.1:8000;
        proxy_set_header Host  $host;
        proxy_read_timeout     60;
        proxy_connect_timeout  60;
        proxy_redirect         off;

        # Allow the use of websockets
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    } 


    listen 443 ssl http2; 
    #ssl info removed
}

经过一些错误和试验使其正常工作

server { 
listen 80;
server_name test.example.com; 

location / {
    proxy_pass             http://127.0.0.1:8000;
    proxy_set_header Host  $host;
    proxy_read_timeout     60;
    proxy_connect_timeout  60;
    proxy_redirect         off;

    # Allow the use of websockets
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
} 

location /favicon.ico { alias /path/to/favicon.ico; }

listen 443 ssl http2; 
#ssl info removed

}

几点

  • 从服务器删除 root
  • 删除索引{我们不需要索引,因为 ReactPhp 有自己的服务器}
  • 将 proxy_pass 端口与您的 ReactPhp 服务器端口匹配
  • 最好使用 nginx 通过代理提供 SSL { as ReactPhp Docs}
  • 502 Bad Gateway { 发生这种情况是因为当时我的服务器没有 运行}