ホームページ 運用・保守 Nginx Nginx-rtmp はライブ メディアのリアルタイム ストリーミング効果をどのように実現しますか?

Nginx-rtmp はライブ メディアのリアルタイム ストリーミング効果をどのように実現しますか?

May 12, 2023 pm 08:43 PM
nginx rtmp

0. はじめに

この間、ipcamera プロジェクト サーバーを構築しています。ビデオ ポイントツーポイント コールの場合、クライアントはデバイス上でリアルタイムのオーディオおよびビデオ ストリームを表示します。トラフィックを節約するために、侵入は p2p 経由で行われます。しかし、NAT 装置の理由と ipv4 の枯渇のため。一部のデバイスはライブ ストリームをポイントツーポイントで送信できません。したがって、サーバー転送が必要です。ここでは、プロトタイプを迅速に実装するために、現在の主流のストリーミング メディア プロトコルも参照します。多くの人が rtmp プロトコルを使用していることがわかりました。

以下の図は全体設計図ですが、複数のプラットフォームを統合するために、独自の rtmp ストリーミング メディア サーバーを構築し、クラウド ベンダー saas の rtmp ストリーミング メディア サービスを利用します。ただし、一部の非ストリーミング メディア データが送信され、一部のバイナリ ファイルを送信する必要がある場合があるため、カスタム メディア転送サービスが必要です。

以下は、私の実際のプロジェクトで使用したアーキテクチャ実装のフローチャートです。

Nginx-rtmp はライブ メディアのリアルタイム ストリーミング効果をどのように実現しますか?

 1. 客户端a无法进行p2p穿透,请求业务服务器要进行转发。
 2. 业务服务器根据客户端a,请求类型,返回对应的转发服务器地址和对应的房间号roomid/token等信息
 3. 上述请求类型,可以是请求自建rtmp流媒体服务,购买于云厂商rtmp流媒体服务或者自定义协议媒体转发服务
 4. 客户端a得到业务服务器返回的媒体服务器地址和roomid/token
 5. 通过信令服务器或者mqtt服务器,把对应的媒体服务器地址和roomid/token告诉另一端客户端b
 6. 客户端a和客户端b同时进入相同房间room,客户端a进行推流,客户端b进行拉流
 7. 其他媒体信息,如编解码格式,清晰度,播放,暂停,拍照等命令,通过上述信令或mqtt服务器进行命令控制
ログイン後にコピー

1. nginx

rtmp ストリーミング メディア サーバーをコンパイルします。srs、 red5、wowoza、fms など。リアルタイム ストリーム転送を実装するために nginx の rtmp プラグインを使用しています。

nginx-rtmp-module をダウンロードします

nginx を再コンパイルします

--prefix=/opt/nginx --with-stream --with-http_ssl_module --with-stream_ssl_module --with-debug --add-module=../nginx-rtmp-module
ログイン後にコピー

2. nginx.conf を設定します

基本的な nginx 設定、Iここでは紹介しません。さらに詳しく知りたい場合は、私の他のブログで紹介されているので参照してください。ここでは、rtmp セグメントの定義のみを紹介します。

rtmp{
  server{
    listen 8081;
    access_log logs/rtmp_access.log;
    on_connect http://127.0.0.1:8080/v1/rtmp/on_connect;
    application rtmp {
      live on;
      notify_method get;
      on_play http://127.0.0.1:8080/v1/rtmp/on_play;
      on_publish http://127.0.0.1:8080/v1/rtmp/on_publish;
      on_done http://127.0.0.1:8080/v1/rtmp/on_done;
      on_play_done http://127.0.0.1:8080/v1/rtmp/on_play_done;
      on_publish_done http://127.0.0.1:8080/v1/rtmp/on_publish_done;
      on_record_done http://127.0.0.1:8080/v1/rtmp/on_record_done;
      on_update http://127.0.0.1:8080/v1/rtmp/on_update;
      notify_update_timeout 10s;
    }
    application vod {
      play /opt/openresty/video;
    }
  }
}
ログイン後にコピー

3.http 非同期通知コールバック

nginx-rtmp-module プラグインは、rtmp プロトコルの一部のコマンドのイベント通知を実装します。ここでは、単純な springboot プロジェクトを使用して、rtmp コールバックを受信する http サービスをすばやく構築します。

 package com.wunaozai.rtmp.notify.controller;
import javax.servlet.http.httpservletrequest;
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
@restcontroller
@requestmapping(value="/v1/rtmp/")
public class rtmpnotifycontroller {
  @getmapping(value="/on_connect")
  public string onconnect(httpservletrequest request){
    debug(request, "on_connect");
    return "on_connect";
  }
  @getmapping(value="/on_play")
  public string onplay(httpservletrequest request){
    debug(request, "on_play");
    return "on_play";
  }
  @getmapping(value="/on_publish")
  public string onpublish(httpservletrequest request){
    debug(request, "on_publish");
    return "on_publish";
  }
  @getmapping(value="/on_done")
  public string ondone(httpservletrequest request){
    debug(request, "on_done");
    return "on_done";
  }
  @getmapping(value="/on_play_done")
  public string onplaydone(httpservletrequest request){
    debug(request, "on_play_done");
    return "on_play_done";
  }
  @getmapping(value="/on_publish_done")
  public string onpublishdone(httpservletrequest request){
    debug(request, "on_publish_done");
    return "on_publish_done";
  }
  @getmapping(value="/on_record_done")
  public string onrecorddone(httpservletrequest request){
    debug(request, "on_record_done");
    return "on_record_done";
  }
  @getmapping(value="/on_update")
  public string onupdate(httpservletrequest request){
    debug(request, "on_update");
    return "on_update";
  }
  private string debug(httpservletrequest request, string action){
    string str = action + ": " + request.getrequesturi() + " " + request.getquerystring();
    system.out.println(str);
    return str;
  }
}
ログイン後にコピー

4. 実行効果

(1) nginx と springboot を起動します

(2) 以下は springboot の出力情報です (簡単に確認できます) (3) クライアントはプッシュストリーミングを実行します。ここでのプッシュソフトウェアは、これを使用します。

Nginx-rtmp はライブ メディアのリアルタイム ストリーミング効果をどのように実現しますか? (4) モバイル端末、 WeChat アプレットで Tencent Video Cloud を使用しています。このアプレットには rtmp test

## (5) nginx-rtmp logNginx-rtmp はライブ メディアのリアルタイム ストリーミング効果をどのように実現しますか?

on_connect: /v1/rtmp/on_connect app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178269841&call=connect
on_publish: /v1/rtmp/on_publish app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=publish&name=room&type=live
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=update_publish&time=10&timestamp=3999&name=room
on_done: /v1/rtmp/on_done app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=done&name=room
on_publish_done: /v1/rtmp/on_publish_done app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=publish_done&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178305623&call=connect
on_publish: /v1/rtmp/on_publish app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=publish&name=room&type=live
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=10&timestamp=7296&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=20&timestamp=17248&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=30&timestamp=27328&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=40&timestamp=37280&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=50&timestamp=47296&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=60&timestamp=57312&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=70&timestamp=67264&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178380351&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=557&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=557&call=play_done&name=room&pass=12345
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=557&call=done&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=80&timestamp=77344&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178388202&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=563&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=563&call=done&name=room&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=563&call=play_done&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=90&timestamp=87360&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178396146&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=569&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=569&call=done&name=room&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=569&call=play_done&name=room&pass=12345
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178403666&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=100&timestamp=97311&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=update_play&time=10&timestamp=105504&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=110&timestamp=107199&name=room
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=done&name=room&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=play_done&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=120&timestamp=117344&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=fmle/3.0%20(compatible%3b%20fmsc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=130&timestamp=122815&name=room
ログイン後にコピー

5. RTMP 認証方法

一般的な商用利用の場合、他人による使用防止やセキュリティ上の理由から、RTMP は認証される必要があります。認証が特殊な場合は、nginx-rtmp-module のソースコードを修正してから変更することができます。実際には、データベースなどにクエリを実行し、0 を返すかどうかを決定する認証関数を追加することになります。成功の場合は -1、失敗の場合は -1。

上記のメソッドに加えて、前述の http コールバックという単純なメソッドも使用できます。 http コールバックによって返された http ステータス コードが 2xx の場合、それは成功を意味します。 5xx ステータス コードが返された場合は、失敗を示します。その場合、サーバーは rtmp 接続を切断するだけです。

rtmp://rtmp.wunaozai.com/rtmp_live/room?username=username&password=password

にあります 実装に関しては、まだここにはありませんが、実際には Springboot プロジェクトの各リクエストについて、パラメーターを判断するだけです。後日機会があれば詳しく書いてredisデータベースと紐付けて部屋番号機能を実装したいと思います。でも、実際には難しくないので、おそらくもう書きません。たとえ全体のプロセスがスムーズに進んだとしても、書かなければならないコードはまだたくさんあるので、ブログにあまり多くのコードを投稿するのは良くありません。ブログで最も重要なことはアイデアを提供することです。実際の実装はプロジェクト内で実装する必要があります。

6. その他

ここでは、いくつかの設定手順と例を示します

1 113.74.127.195 [05/aug/2018:16:18:08 +0800] publish "rtmp" "room" "" - 2646572 687 "" "fmle/3.0 (compatible; fmsc/1.0)" (1m 46s)
 2 113.74.127.195 [05/aug/2018:16:19:49 +0800] play "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 3 113.74.127.195 [05/aug/2018:16:19:57 +0800] play "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 4 113.74.127.195 [05/aug/2018:16:20:05 +0800] play "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 5 113.74.127.195 [05/aug/2018:16:20:13 +0800] play "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 6 113.74.127.195 [05/aug/2018:16:30:39 +0800] play "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
 7 113.74.127.195 [05/aug/2018:16:30:54 +0800] play "rtmp" "room" "pass=12345" - 413 647163 "" "" (12s)
 8 113.74.127.195 [05/aug/2018:16:31:08 +0800] publish "rtmp" "room" "" - 4961955 409 "" "fmle/3.0 (compatible; fmsc/1.0)" (1m 30s)
 9 113.74.127.195 [05/aug/2018:23:06:47 +0800] publish "rtmp" "room" "" - 425763 529 "" "fmle/3.0 (compatible; fmsc/1.0)" (13s)
10 113.74.127.195 [05/aug/2018:23:08:29 +0800] play "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
11 113.74.127.195 [05/aug/2018:23:08:37 +0800] play "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
12 113.74.127.195 [05/aug/2018:23:08:45 +0800] play "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
13 113.74.127.195 [05/aug/2018:23:09:05 +0800] play "rtmp" "room" "pass=12345" - 413 926026 "" "" (17s)
14 113.74.127.195 [05/aug/2018:23:09:30 +0800] publish "rtmp" "room" "" - 7061016 409 "" "fmle/3.0 (compatible; fmsc/1.0)" (2m 20s)
ログイン後にコピー

以上がNginx-rtmp はライブ メディアのリアルタイム ストリーミング効果をどのように実現しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Apr 21, 2024 am 07:22 AM

Tomcat サーバーが外部ネットワークにアクセスできるようにするには、以下を行う必要があります。 外部接続を許可するように Tomcat 構成ファイルを変更します。 Tomcat サーバー ポートへのアクセスを許可するファイアウォール ルールを追加します。 Tomcat サーバーのパブリック IP を指すドメイン名を指す DNS レコードを作成します。オプション: リバース プロキシを使用して、セキュリティとパフォーマンスを向上させます。オプション: セキュリティを強化するために HTTPS を設定します。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

nginxの起動コマンドと停止コマンドとは何ですか? nginxの起動コマンドと停止コマンドとは何ですか? Apr 02, 2024 pm 08:45 PM

Nginx の開始コマンドと停止コマンドは、それぞれ nginx と nginx -s quit です。 start コマンドはサーバーを直接起動し、stop コマンドはサーバーを正常にシャットダウンして、現在のすべてのリクエストを処理できるようにします。その他の使用可能な停止信号には、停止およびリロードがあります。

nginx へようこそ!それを解決するにはどうすればよいですか? nginx へようこそ!それを解決するにはどうすればよいですか? Apr 17, 2024 am 05:12 AM

「nginx へようこそ!」エラーを解決するには、仮想ホスト構成を確認し、仮想ホストを有効にし、Nginx をリロードする必要があります。仮想ホスト構成ファイルが見つからない場合は、デフォルト ページを作成して Nginx をリロードすると、エラー メッセージが表示されます。が消え、ウェブサイトは通常のショーになります。

ウェブサイトにアクセスする際のnginxの問題を解決する方法 ウェブサイトにアクセスする際のnginxの問題を解決する方法 Apr 02, 2024 pm 08:39 PM

Web サイトにアクセスすると nginx が表示されます。その理由としては、サーバーのメンテナンス、サーバーのビジー状態、ブラウザーのキャッシュ、DNS の問題、ファイアウォールのブロック、Web サイトの構成ミス、ネットワーク接続の問題、Web サイトのダウンなどが考えられます。次の解決策を試してください: メンテナンスが終了するまで待つ、オフピーク時間にアクセスする、ブラウザのキャッシュをクリアする、DNS キャッシュをフラッシュする、ファイアウォールまたはウイルス対策ソフトウェアを無効にする、サイト管理者に連絡する、ネットワーク接続を確認する、または検索エンジンを使用するWeb アーカイブを使用して、サイトの別のコピーを見つけます。問題が解決しない場合は、サイト管理者にお問い合わせください。

phpmyadminの登録方法 phpmyadminの登録方法 Apr 07, 2024 pm 02:45 PM

phpMyAdmin に登録するには、まず MySQL ユーザーを作成して権限を付与し、次に phpMyAdmin をダウンロード、インストール、構成し、最後に phpMyAdmin にログインしてデータベースを管理する必要があります。

Nodejsプロジェクトをサーバーにデプロイする方法 Nodejsプロジェクトをサーバーにデプロイする方法 Apr 21, 2024 am 04:40 AM

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環境を準備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。

Dockerコンテナ間で通信する方法 Dockerコンテナ間で通信する方法 Apr 07, 2024 pm 06:24 PM

Docker 環境でのコンテナ通信には、共有ネットワーク、Docker Compose、ネットワーク プロキシ、共有ボリューム、メッセージ キューの 5 つの方法があります。分離とセキュリティのニーズに応じて、Docker Compose を利用して接続を簡素化するか、ネットワーク プロキシを使用して分離を強化するなど、最も適切な通信方法を選択します。

See all articles