有人可以帮我有关Nginx上的棘轮库吗

问题描述

我是vps托管的新手,我的网站托管在digitalocean上,我在我的PHP应用程序中使用棘轮库(http://socketo.me)。它可以在localhost上运行,但不能在服务器上运行。

我点击了以下链接,但是当我重新启动Nginx时,它说:“ Nginx.service的作业失败,因为控制进程退出显示错误代码。有关详细信息,请参见“ systemctl status Nginx.service”和“ journalctl -xe”。

How to open wss: or ws: port on my website?

在server.PHP中:

    <?PHP
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;

    require dirname(__DIR__) . '/vendor/autoload.PHP';

    $server = IoServer::factory(
        new HttpServer(
            new WsServer(
                new Chat()
            )
        ),8080
    );

    $server->run();

在我的客户端代码中:

if(window.WebSocket){
       var conn = new WebSocket('wss://mydomain.com');
       ......
       ......
    }

在我的Nginx配置文件(/etc/Nginx/sites-available/mydomain.com )

server {
    server_name mydomain.com www.mydomain.com;
    root /var/www/www.mydomain.com;

    index index.html index.htm index.PHP;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.PHP$ {
        include snippets/fastcgi-PHP.conf;
        fastcgi_pass unix:/var/run/PHP/PHP7.4-fpm.sock;
     }

    location ~ /\.ht {
        deny all;
    }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-Nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


 }
server {
    if ($host = www.mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name mydomain.com www.mydomain.com;
    return 404; # managed by Certbot



}

在我的控制台中显示

“与'wss://mydomain.com/'的WebSocket连接失败:WebSocket握手期间出错:意外的响应代码:200”

注意:我的域有ssl。我是新手,有人可以指导我吗?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...