今日はサーバーを再起動しましたが、SSHサーバーが動作を停止しました。 Docker が実行され続け、データベースが起動しましたが、SSH サーバーへの接続がタイムアウトしました。 ファイアウォールではないと確信しています。別の場所にある別のデバイスでテストしてSSHサーバーを再インストールしましたが、何も機能しないようです(構造モードで実行)。ログに重要な内容が見つかりませんでした。ポートは外部的に閉じられているように見えますが、ログはサーバーが稼働していることを示します。 Dockerはポート80、443、53を使用します。デフォルトポートでCassandraデータベースを実行しています。これらはすべて聞いていて、完全に接続できます(言及されたSSHを除く)。 SSHサーバーはカスタムポートで実行されます。 UFWを無効にしてSSHポートを変更してみました。しばらくSSH設定を変更せず、最後の再起動後に正常に動作しました。 いくつかの出力:cat /var/log/auth.log Oct 3 22:03:49 gd-1 sshd[1096]: Server listening on 0.0.0.0 port 30XXX.
Oct 3 22:03:49 gd-1 sshd[1096]: Server listening on :: port 30XXX.
Oct 3 22:17:01 gd-1 CRON[19718]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 3 22:17:01 gd-1 CRON[19718]: pam_unix(cron:session): session closed for user root
Oct 3 22:35:11 gd-1 systemd-logind[644]: Power key pressed.
Oct 3 22:35:11 gd-1 systemd-logind[644]: Powering Off...
Oct 3 22:35:11 gd-1 systemd-logind[644]: System is powering down.
リクエストに応じてより多くの情報を追加する予定ですが、アイデアが不足しています。どんな手がかりがありますか?
リモートLinuxサーバー(私の大学で設定)のポート127.0.0.1:5006に自動的に更新されるリアルタイムPythonプロット(Bokehを使用)が表示されます。通常、ローカルコンピュータでプロットを表示するには、サーバーにSSHで接続し、そのアドレスのポート転送を有効にする必要があります。私の質問は、誰かが私のサーバーのIPアドレス(例:123.12.12.123)とそれを見つけるポートを知らせたときにSSHの問題なしにプロットを表示できるようにするにはどうすればよいですか?これは可能ですか? 修正する: 詳細を実装するために必要なコードです。プロットデータを読み取るには2つのファイルが必要なので、それを含めます。ここ。 '''
Use the ``bokeh serve`` command to run the example by executing: bokeh serve sliders.py
at your command prompt. Then navigate to the URL-http://localhost:5006/sliders
in your browser.
'''
from bokeh.io import curdoc
from bokeh.layouts import column, row
from bokeh.models import Button, ColumnDataSource
from bokeh.plotting import figure
# Callbacks
def update_data():
print("reading new data")
df1 = read_pickle('weeklydata2.pkl')
source.data = ColumnDataSource.from_df(df1)
# Set up data
df =read_pickle('weeklydata1.pkl')
f = dict(OAT='green', SAT='orange', OAH='red')
source = ColumnDataSource(df)
# Set up plot
p = figure(x_axis_type="datetime")
for i in df.columns:
p.line('index',
i,
source=source,
legend_label=i,
line_color=f[i])
p.circle('index',
i,
source=source,
size=10,
color=f[i])
# Set up widgets
button = Button(label='Refresh Plot')
button.on_click(update_data)
inputs = column(button)
curdoc().add_root(row(inputs, p, width=800))
curdoc().title = "Time Series of Temp., Setpoint and Humidity Variables"
これにより出力が生成されます。 2019-11-26 10:53:19,916 Bokeh Server バージョン 1.4.0 を起動 (Tornado 6.0.3 で実行) 2019-11-26 10:53:19,918 ユーザー認証 Hook 未提供(デフォルトで有効) 2019-11-26 10:53:19,921 Bokehアプリケーションは以下で実行されます。http://localhost:5006/datashow 2019-11-26 10:53:19,921 Bokehサーバーの起動、プロセスID:7116 2019-11-26 10:53:23,385 WebSocket接続が開かれました。 2019-11-26 10:53:23,385 サーバー接続が作成されました 新しいデータを読む 新しいデータを読む 2019-11-26 10:54:41,574 WebSocket接続終了:コード=1001、理由=なし 中断する、閉じる 上記のポートでサーバーを実行して、誰でもライブプロットのみを表示し、必要に応じて更新するオプションを持つことを望みます。ここでは、ハードコーディングされた静的データソースを提供する場合にのみ更新が機能します。しかし、何を言っているのか分かりますか?