Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Cấu hình Apache Reverse Proxy cho Máy chủ Laravel Echo Hosting trên sản xuất

Cuối cùng cũng có nó.

Mặc dù trang web của tôi vẫn phải có SSL, nhưng giải pháp là lấy Apache để chuyển hướng /socket.io tới http://localhost:6001/socket.io đã được định cấu hình cho redis . Sau đó, sử dụng 2.2.3 phiên bản của socket io .

Vì vậy, laravel-echo-server.json của tôi không được định cấu hình cho SSL.

Đây là laravel-echo-server.json của tôi :

{
   "authHost": "https://domainName.com",
   "authEndpoint": "/broadcasting/auth",
   "clients": [
      {
        "appId": "xxxxxxx",
        "key": "xxxxxxxxxxx"
      }
   ],
   "database": "redis",
   "databaseConfig": {
      "redis": {},
      "sqlite": {
          "databasePath": "/database/laravel-echo-server.sqlite"
      }
   },
   "devMode": false,
   "host": null,
   "port": "6001",
   "protocol": "http",
   "socketio": {},
   "sslCertPath": "",
   "sslKeyPath": "",
   "sslCertChainPath": "",
   "sslPassphrase": "",
   "subscribers": {
       "http": true,
       "redis": true
   },
   "apiOriginAllow": {
   "allowCors": true,
   "allowOrigin": "*",
   "allowMethods": "GET, POST",
   "allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
}

}

Cách tôi sử dụng laravel-echo-server.json:

import Echo from "laravel-echo";
window.io = require('socket.io-client');
// Have this in case you stop running your laravel echo server
if (typeof io !== 'undefined') {
  window.Echo = new Echo({
    broadcaster: 'socket.io',
    host: window.location.hostname,
  });

}

Và cấu hình apaxhe của tôi trong SSL virtualhost của tôi cho miền của tôi:

RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/socket.io            [NC]
RewriteCond %{QUERY_STRING} transport=websocket    [NC]
RewriteRule /(.*)           ws://localhost:6001/$1 [P,L]

ProxyPass        /socket.io http://localhost:6001/socket.io
ProxyPassReverse /socket.io http://localhost:6001/socket.io 

Ngoài ra, nó sẽ yêu cầu trình quản lý quy trình Node js để giữ laravel-echo-server chạy bộ. Vì vậy, tôi đã tạo echo-server.json và đặt mã sau.

{
  "name": "apps",
  "script": "laravel-echo-server",
  "args": "start"
}

Tiếp theo, tôi cài đặt pm2 Quản lý chế biến. npm install pm2 -g và bắt đầu dịch vụ của tôi pm2 start echo-server.json --name="apps" .

Cuối cùng, tôi sử dụng pm2 list để xem tất cả các dịch vụ của tôi và pm2 startup để giữ cho các dịch vụ của tôi hoạt động.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Giao dịch và xem sao kê trong Redis

  2. Redis TimeSeries có phải là công cụ phù hợp để nắm bắt các cây nến trong giá cổ phiếu không

  3. Thư viện ứng dụng khách Redis đề xuất để sử dụng từ Scala

  4. F # Nhiều thuộc tính CLIMutable DataContract

  5. Làm thế nào để sử dụng Redis trong một chương trình C ++?