タグ付けされた質問 「socket」

ソケットは、送信側と受信側を持つ抽象的なネットワーク構造です。最近のほとんどのオペレーティングシステム(OS)には、デバイス表現と、ソケットに対応するプログラミングツールがあります。


7
TIME_WAITでソケットを強制的に閉じる方法は?
Linuxで特定のプログラムを実行すると、時々クラッシュします。その後すぐに開くと、最初に行ったように49200ではなくソケット49201でリッスンします。netstatは、49200がTIME_WAIT状態にあることを示しています。 ソケットをTIME_WAIT状態からすぐに強制的に移行するために実行できるプログラムはありますか?
113 linux  networking  unix  tcp  socket 

7
Unixソケットの代わりにTCPでMySQLを強制的に接続する方法は?
mysqlトラフィックを分析したいと思います。現在、すべてのmysqlリクエストはMySQL unixソケットに送信されます。 unix 2 [ ACC ] STREAM LISTENING 3734388 15304/mysqld /var/run/mysqld/mysqld.sock MySQLがループバックではなくネットワークソケットを使用するように、そのソケットを無効にしようとしています。and ファイルsocket内のすべてのディレクティブをコメント化して、MySQLを再起動しましたが、違いはありませんでした。my.cnfdebian.cnf MySQL unixソケットを無効にしてMySQLをネットワーク経由で強制するにはどうすればよいですか? 追加情報:で実行MySQL 5.1していubuntu 10.04ます。 質問の精度 多くの人がネットワークソケットを有効にすることを提案したので、バインドアドレスが既に有効になってbind-address = 127.0.0.1おり、リッスン接続が利用可能であることを指摘して、私の質問を明確にしたいと思います。 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 15601/mysqld それでも127.0.0.1:3306、webapp(DrupalのWebサイト)からの接続は試行されません。 答えで更新 確かに、問題はmysqliDrupalが使用しているコネクタに起因しているようです(.ht_config.php興味のある人向け)。設定された: mysqli://drupal:***@localhost/drupal、変更localhostし127.0.0.1て問題を修正しました(つまり、Drupalは現在ネットワークソケットに接続しています)。

6
UNIXソケット接続のもう一方の端を見つける方法は?
UNIXソケットを介した多くのオープン接続を持つプロセス(dbus-daemon)があります。これらの接続の1つはfd#36です。 =$ ps uw -p 23284 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND depesz 23284 0.0 0.0 24680 1772 ? Ss 15:25 0:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session =$ ls -l /proc/23284/fd/36 lrwx------ 1 depesz depesz 64 2011-03-28 15:32 /proc/23284/fd/36 -> socket:[1013410] =$ netstat …
44 linux  unix  netstat  socket  dbus 

3
UnixソケットとTCP / IPホスト:ポート
サーバー(Ubuntu、FWIW)でサービスをセットアップするときに、Unixソケットファイルとtcp / ip localhost:portを使用することの長所と短所を誰かに説明していただけますか? この特定のインスタンスでは、Python WSGIサーバー(uWSGI)用ですが、一般的なことに興味があります(たとえば、両方の方法でMySQLをセットアップできることを知っています)。 tcp / ipを使用することは、サービスを他のマシンに公開できることを意味しますが、サービスにローカルにアクセスする際にパフォーマンスのトレードオフがあるかどうかだけに興味があります。 乾杯。
42 linux  unix  tcpip  socket 


5
上流のUNIXソケットへのnginxスループットを増やす必要があります— Linuxカーネルのチューニング?
私は、次のように、上流のUnixソケットへのプロキシとして機能するnginxサーバーを実行しています: upstream app_server { server unix:/tmp/app.sock fail_timeout=0; } server { listen ###.###.###.###; server_name whatever.server; root /web/root; try_files $uri @app; location @app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } } 一部のアプリサーバープロセスは、リクエスト/tmp/app.sockが利用可能になったときに順番にプルします。ここで使用している特定のアプリサーバーはUnicornですが、この質問に関係があるとは思いません。 問題は、ある程度の負荷を超えると、nginxは十分な速度でソケットを介してリクエストを取得できないように見えることです。設定したアプリサーバープロセスの数は関係ありません。 私はnginxエラーログにこれらのメッセージの洪水を受け取っています: connect() to unix:/tmp/app.sock failed (11: Resource temporarily unavailable) while connecting …

7
ローカルポートまたはソケットファイルをリモートソケットファイルに転送する
簡単な質問-2つのLinuxボックスを実行します。1つは自分のデスクトップで、もう1つはVPSです。VPS側のセキュリティ上の理由から、MySQLへのソケット接続を選択しました(/var/run/mysqld/mysql.sock)。私はこのようにトンネルできることを知っています:ssh -L 3307:127.0.0.1:3306 user@site.comリモートSQLサーバーを設定してポートをリッスンする場合、私が知りたいのは次のようなことです:ssh -L /path/to/myremotesqlserver.sock:/var/run/mysqld/mysql.sockそれにより、2つのポートではなく2つのソケットをトンネリングしますか? 完全に受け入れられる解決策は、ローカルポートをリモートソケットファイルに転送することでもありますが、可能であれば、リモートボックスでtcpサーバーを実行しないようにしています。 (そして、はい、tcpの方が簡単だとわかっています)。

4
Linuxで障害が発生したときにサービスを自動的に再起動する方法
Windowsでは、サービスが失敗した場合/失敗した場合の動作を設定できます。Linux(特にCentOS)で同じことを達成する標準的な方法はありますか? 私の質問の大部分は、たとえばTIME_WAIT、FIN_WAIT1などの状態で、開いたままになっているソケットをどのように処理するかです。 現時点で開発中のサービスがクラッシュした場合、ソケットがリッスンポートをクリアまたは変更するのを待ってから、手動で再起動できます。 ご協力いただきありがとうございます。
23 linux  service  socket 

6
mysqld.sockには何を含める必要がありますか、なぜ持っていないのですか?
サーバーフォールトで回答できるため、 この質問はStack Overflowから移行されました。 8年前に移行され ました。 /var/run/mysqld/mysqld.sockMySQL 5.1をインストール(または再インストール)したときに、コンピューターにソケットファイルが存在しない理由を誰もが知っていますか? 現在、mysqldでサーバーを起動しようとすると、などのエラーCan't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connectが表示されますが、その名前(ubuntuフォーラムで提案されている)で空のファイルを作成することはできませんでした。 少し前にnattyにアップグレードするまで、mysqlとpostgresの両方が正常に機能していました。私は何が起こっているのかを理解しようとして両方のデータベースを歩いて何時間も費やしました。postgresをあきらめることはできますが、mysqlの作業コピーなしでは作業できません。 最も奇妙な部分:私はKubuntuを使用していますが、KDEはmysqlを使用してユーザーのアクセス許可などを保存していると理解しています。奇妙なアクセス許可の問題は発生していません。これは(何らかの形で)MySQLが実際に動作していることを意味しますか? たぶん、これらのソケットファイルはnattyの別の場所にあるのでしょうか?OSを新鮮に再インストールする方が簡単でしょうか?この時点で、私は私の時間を無駄にすることを止める提案を受け入れています。

6
ネットワークエラー:使用可能なバッファスペースがありません
しばらく正常に動作した後、Windows XP SP3マシンの1つは、一部の(!)新しいTCP / IP接続をもう開きません。 PuttyによればNetwork Error: no buffer space available、IEは新しい接続を開かないが、たとえばネットワークドライブマッピングは引き続き機能し、新しい接続を確立することもできます。 netstatは、通常よりも多くのオープン接続を表示しません。pingおよびDNSルックアップは正常に機能します。 任意のヒント?

3
netstatではなくlsofによって検出されたソケット
明らかにソケットを開くことにより、ファイル記述子が不足しているアプリケーションがありますが、これらのソケットが何をするのか正確にはわかりません。これらはlsof出力に次のように表示されます java 9689 appuser 1010u sock 0,5 263746675 can't identify protocol java 9689 appuser 1011u sock 0,5 263746676 can't identify protocol java 9689 appuser 1012u sock 0,5 263746677 can't identify protocol java 9689 appuser 1014u sock 0,5 263746678 can't identify protocol java 9689 appuser 1015u sock 0,5 263746679 can't identify …
19 linux  networking  tcp  udp  socket 

1
MySQLソケットを使用する場合とhost:portを使用する場合
多くのアプリケーションでは、ユーザー名、パスワードホスト、ポートを使用してMysqlに接続できます。一部では、host:port。の代わりにソケットを設定できます。 一方の方が他方よりも明確な利点はありますか?ソケットは、MySQLが同じマシン上にある場合にのみ機能すると想像できます。そうですか?もしそうなら、接続する代わりにそのソケットを使用するよりも利点がありますlocalhost:3306か? 私はネットワークとソケットの詳細についてあまり詳しくないので、いくつかの重要な情報が完全に欠落しているかもしれません。もしそうなら、私が欠けているものを説明してもらえますか?

3
Dockerボリュームを介してUNIXソケットを共有しています-許可が拒否されました
php5-fpmボリュームを介してソケットをnginxWebサーバーと共有しようとしています。Fpmとnginxは異なるコンテナで実行されており、fpmからソケットファイルを配置する共有ボリュームを介して動作させたいです。 2014/04/13 10:53:35 [crit] 33#0: *1 connect() to unix:/container/fpm/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.8.2, server: docker.dev, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/container/fpm/run/php5-fpm.sock:", host: "docker.dev" 許可を777に設定し、グループをphp5-fpm.socketに変更しようとしましたwww-data。 fpmコンテナのDockerfile FROM ubuntu:13.10 RUN apt-get update RUN apt-get upgrade -y RUN apt-get install -y php5-cli php5-common RUN apt-get install -y …
18 nginx  socket  docker 

4
UNIXソケット経由でNginx proxy_pass Node.js HTTPサーバーを設定するにはどうすればよいですか?
UNIXドメインソケットを介してNode.js HTTPサーバーに接続するようにNginxサーバーを構成しようとしています。 Nginx構成ファイル: server { listen 80; location / { proxy_pass http://unix:/tmp/app.socket:/; } } (http://wiki.nginx.org/HttpProxyModule#proxy_passによる) Node.jsスクリプト: var http = require('http'); http.createServer(function(req, res) { console.log('received request'); req.end('received request\n'); }).listen('/tmp/app.socket'); 今、私が電話しようとすると curl http://localhost/ curlで502 Bad Gatewayエラーページのみが表示され、Node.jsプロセスでは何も表示されません。 私は何か間違っていますか? 編集: Quantaのソリューションを試した後、Node.jsプロセスがソケットへの接続を正しく確立するため、間違いはNginxの設定に関係する必要があります。 私もこの方法でNginxを設定しようとしました: upstream myapp { server unix:/tmp/app.socket; } server { listen 80; location / …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.