• Our team is looking to connect with folks who use email services provided by Plesk, or a premium service. If you'd like to be part of the discovery process and share your experiences, we invite you to complete this short screening survey. If your responses match the persona we are looking for, you'll receive a link to schedule a call at your convenience. We look forward to hearing from you!
  • We are looking for U.S.-based freelancer or agency working with SEO or WordPress for a quick 30-min interviews to gather feedback on XOVI, a successful German SEO tool we’re looking to launch in the U.S.
    If you qualify and participate, you’ll receive a $30 Amazon gift card as a thank-you. Please apply here. Thanks for helping shape a better SEO product for agencies!
  • The BIND DNS server has already been deprecated and removed from Plesk for Windows.
    If a Plesk for Windows server is still using BIND, the upgrade to Plesk Obsidian 18.0.70 will be unavailable until the administrator switches the DNS server to Microsoft DNS. We strongly recommend transitioning to Microsoft DNS within the next 6 weeks, before the Plesk 18.0.70 release.
  • The Horde component is removed from Plesk Installer. We recommend switching to another webmail software supported in Plesk.

Question [Laravel] How to serve the laravel-websockets in Plesk

peteeeeeee

New Pleskian
Server operating system version
CentOS Linux 7.9.2009 Obsidian
Plesk version and microupdate number
Version 18.0.56 Update #4
I am using beyondcode/laravel-websockets and pusher/pusher-php-server to serve web socket with Laravel.

Additional nginx directives
NGINX:
location /app/ {
    proxy_pass http://127.0.0.1:6001;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

I run /opt/plesk/php/8.1/bin/php artisan websockets:serve in ssh, it works fine, but in real work, shouldn't be executed manually like this.

May I know any best practices to serve the web socket in Plesk?
 
Hi

If you need run it as deamon search by supervisord

It should work fine in plesk, but its not supported by plesk officialy.
 
I am using beyondcode/laravel-websockets and pusher/pusher-php-server to serve web socket with Laravel.

Additional nginx directives
NGINX:
location /app/ {
    proxy_pass http://127.0.0.1:6001;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

I run /opt/plesk/php/8.1/bin/php artisan websockets:serve in ssh, it works fine, but in real work, shouldn't be executed manually like this.

May I know any best practices to serve the web socket in Plesk?

Hello,

My Laravel codes are as follows.

/resources/js/bootstrap.js
Code:
import Pusher from 'pusher-js';window.Pusher = Pusher;

window.Echo = new Echo({
broadcaster: 'pusher',
key: import.meta.env.VITE_PUSHER_APP_KEY,
cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1',
wsHost: window.location.hostname,
wsPort: 6001,
wssPort: 6001,
forceTLS: true,
enabledTransports: ['ws', 'wss'],
});

/config/broadcasting.php
Code:
'pusher' => ['driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'host' => '127.0.0.1',
'port' => 6001,
'scheme' => 'https',
'encrypted' => true,
'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
'curl_options' => [
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
]
],
'client_options' => [
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
],
],
});

/config/websockets.php
Code:
'ssl' => [
/*
     * Path to local certificate file on filesystem. It must be a PEM encoded file which
     * contains your certificate and private key. It can optionally contain the
     * certificate chain of issuers. The private key also may be contained
     * in a separate file specified by local_pk.
     */
    'local_cert' => '/usr/local/psa/var/modules/letsencrypt/etc/live/domain.com/fullchain.pem',

    /*
     * Path to local private key file on filesystem in case of separate files for
     * certificate (local_cert) and private key.
     */
    'local_pk' => '/usr/local/psa/var/modules/letsencrypt/etc/live/domain.com/privkey.pem',

    /*
     * Passphrase for your local_cert file.
     */
    'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),
    'verify_peer' => false,
],
websockets are working xammp server but not working centos 7 plesk

How did you get it to work? Can you help me?

I installed supervisor. and I added queue:work and websockets:serve
they are working.

WebSocket connection to 'wss://domain.com:6001/app/aad288c7993ba703e75b?protocol=7&client=js&version=4.3.1&flash=false' failed:

/etc/nginx/nginx.conf

Code:
#user  nginx;
worker_processes  1;

#error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

#pid        /var/run/nginx.pid;

include /etc/nginx/modules.conf.d/*.conf;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    #tcp_nodelay        on;

    #gzip  on;
    #gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    server_tokens off;

    include /etc/nginx/conf.d/*.conf;

    location /app/ {
        proxy_pass http://127.0.0.1:6001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

}
# override global parameters e.g. worker_rlimit_nofile
include /etc/nginx/*global_params;
 
Back
Top