在 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 { 发生这种情况是因为当时我的服务器没有 运行}
您好,我在本地计算机上使用 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 { 发生这种情况是因为当时我的服务器没有 运行}