Xserver SSH接続の設定とAnaconda3のインストール
この記事の目次
サーバーはエックスサーバーがおすすめです!
簡易紹介:こうたろう
1986年生まれ
音大卒業後日本、スウェーデン、ドイツにて音楽活動
その後金田式DC録音のスタジオに弟子入り
プログラミング(C)を株式会社ジオセンスのCEO小林一英氏よりを学ぶ
現在はヒーリングサウンド専門のピアニスト、またスタジオでは音響エンジニア、フォトグラファーなどマルチメディアクリエーターとして活動中
当記事ではプログラマー、音響エンジニアとして知識とスキルをシェアしていきます
関連サイト
SSH接続設定
SSHをon
まずはサーバー側(Xサーバー)でSSHをOnにします。
サーバー管理からアカウント→SSH設定と進み、SSHをOnにします。
パスフレーズの設定
次に公開鍵認証用鍵ペアの生成タブに移動して、パスフレーズを設定します。
これは任意のパスワードでOK。
すると自動で秘密キーのダウンロードが始まります。
keynoteが自動で開くかもしれませんが無視して閉じてください。
.SSHを作成
ホームディレクトリに移動し、隠しファイルを表示させます。
command + shift + .で可視化できます!
mkdir ~/.ssh
でSSHフォルダを作成。
秘密キーファイルを生成
ダウンロードした秘密キーファイルで秘密キーを生成します。
# 秘密キー生成
mv ~/downloads/あなたのサーバーID.key ~/.ssh/id_rsa
生成できたら
chmod 700 ~/.ssh
と
chmod 600 ~/.ssh/id_rsa
を打ち込んで権限を変更します。
公開鍵ファイルを生成
ssh-keygen -t rsa
すると>>> Enter file in which to save the keyと質問されます。
id_rsa
を打ち込みます。
すると>>> Enter passphrase (empty for no passphrase):と質問されます。
ここで先ほどXSERVER内で生成したパスフレーズを入力。
連続で2回入力します。
公開キーをサーバーに登録
ここまでくると、ホームディレクトリにid_rsa (秘密鍵)とid_rsa.pub (公開鍵)の2種類のファイルが生成されています。
この中からid_rsa.pubを開いて(テキストエディットで開いてもコマンドでコピーしてもどちらでもOK)公開鍵をすべてコピーします。
コマンドで行うと
pbcopy < ~/.ssh/id_rsa.pub
コピーした内容を先ほどのXサーバーの公開鍵登録・更新タブを開き、ペースト。
これでSSH接続ができるようになりました。
configファイルもここに格納します。
id_rsaは上書きしても大丈夫です。
接続テストとconfigファイルの生成
ssh -l サーバーID -p 10022 サーバーID.xsrv.jp
こちらを打ち込めばまたまた冒頭で決めたパスフレーズを求められますので入力してエンター。
これでサーバーに接続することができました。
XサーバーにはデフォルトでLinuxが入っていますのでこの段階でLinuxのコマンドを使用することができます。
ただし毎回接続時に打ち込むのが面倒なのでショートカットを生成して簡単に接続できるようにします。
touch ~/.ssh/config
.sshフォルダ内にconfigファイルを生成しショートカットの内容を書き換えます。
# config ファイルの編集
vim ~/.ssh/config
i を押すと編集モードに切り替わります。
そこへ
Host xsrv
HostName あなたのサーバーID.xsrv.jp
Port 10022
User あなたのサーバーID
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
をインサートし保存します。
保存方法は、esc→:wq→エンターです。
これで.sshフォルダ内にconfigファイルが生成されました。
以降はターミナルで
ssh xsrv
を打ち込めばパスフレーズ打ち込みに移り、ログインすることができます。
Anaconda(Python環境)をインストール
Anacondaの公式サイトから最新のLinux版をダウンロードします。
サーバーにAnacondaインストーラーをアップロード
Xサーバーのファイル管理タブからファイルマネージャーに移動し、アップロードタブから先ほどダウンロードしたLinux版アナコンダのシェルをアップロードしてください。
この時、ファイル名の文字コードをUTF-8にしておいてください。
デフォルトではSJISになっている場合があります。
インストールは数分かかります。
Anacondaをインストール
アップロードが完了したらアナコンダをインストールします。
ターミナルから
ssh xsrv
で再びログインします。
sh Anaconda3-2021.11-Linux-x86_64.sh
でインストールできます。
これで言われた通りにインストールを進めていきます。
環境構築終盤
インストールが完了したら一度ターミナルを終了し、Xサーバー側もリロードしておきます。
そして再度ターミナルからログインし、pipなどをインストールしていきます。
ログイン後
# Xサーバーのファイル管理からanaconda3のフォルダへ移動
cd anaconda3
移動したら
conda install pip
でpipをインストールできます。
pipが入っていれば一安心ですね。
mkdir kotarostudio
cd kotarostudio
pip install pipenv
で仮想環境も構築。
ターミナルを一度閉じて、再度ログインし
pipenv shell
で仮想環境に入れます。
ターミナルにて$マークの後ろに括弧でディレクトリの名前が表示されていれば仮想環境に入れていることの確認になります。
pipenv install 使いたいパッケージ
# インストールパッケージの確認
cat Pipfile
# 仮想環境から抜ける
exit
Pythonファイルをアップロード
これでPythonファイルをアップロードし、サーバーで動かし続けることができるようになりました。
常駐させるためには・・・
ここがサーバーで動かす際の最も重要なポイントとなります。
- pipenv(仮想環境)にログイン
- cd でPythonファイルがアップされたフォルダへ移動
- プログラムを開始
- 動いているかをチェック
# Pythonファイルを動かす
nohup python3 test.py &
でプログラムが動きます。
事前にテスト等しているとは思いますが、万が一エラーなどが発生した場合、このテキストファイルの中で確認することができます。
# 出力先の指定
nohup python3 test.py > output1.txt &
# プログラムが動いているかの確認
ps -aux | grep python
ファイル名 95648 0.0 0.0 187948 52840 pts/1 S 21:22 0:00 python3 ファイル名.py
が返ってきたらしっかり動いています。
# プログラムの出力
cat nohup.out
# プログラムの停止
kill 95648
# プログラムが動いているかの確認(停止しているかのチェック)
ps -aux | grep python
まとめ
- XサーバーでSSHをONにする。
- 公開鍵と秘密鍵を生成する。
- 公開鍵をXサーバーに登録する。
- Anacondaをサーバーにインストールする。
これで問題なく接続できるようになりました。
- ssh xsrvでログイン。
- pipenv shellで仮想環境へ。
- Pythonを24時間動かす。
- kill 95648で停止する。
という感じでエックスサーバー内でPythonを24時間動かすことができるようになります。
HerokuやAWS、Raspberry PiなどPythonが動くサーバーを構築する方法は他にもありますが、エックスサーバーでブログなどを作っている方には便利なのではないでしょうか。