どうも!ゆうです。
自宅待機時間が増えたので、プログラミングを始めたところ、大ハマり中です(笑)
PC上でPythonを動かすことはできていますが、良いPCではないので複数のプログラミングが同時に動くと停止してしまうようになりました。
なので、契約しているXSERVER上で環境構築を試みましたが、約半年間、失敗しまくりだったので、忘れないように記録します。
環境
Mac OS Catalina 10.15.7 64bit 2.5 GHz デュアルコアIntel Core i5
Python 3.9.5(vscodeで作成)
SSHログイン
まずは、xserver内でターミナルのような操作を行うための環境構築を行います。
XSERVERでのSSH設定
エックスサーバーが出している記事通りに操作すれば、トラブルなく設定できました。
https://www.xserver.ne.jp/manual/man_server_ssh.php
MacでFinderのサイドバーにホームフォルダを表示させる
次は、Macのターミナル上でSSHログインのための設定を行います。
① Finderを開いて、Macのデスクトップメニューバーの「Finder」→「環境設定」
② 環境設定の上部のタブから「サイドバー」を選択し、サイドバーに表示する項目からホームフォルダにチェックを入れて閉じる
Macで隠しフォルダ・ファイルを表示させる
Finderのサイドバーからホームを選択し、「command + shift + .」を同時に押す
と、ニョキッと出てきます。
MacでSSHフォルダの設定
① ターミナルを開いて、.sshフォルダを作成
ターミナルで次のコマンドを入力
mkdir ~/.ssh
② 秘密鍵ファイルを作成
ターミナルで次のコマンドを入力
mv ~/downloads/サーバーID.key ~/.ssh/id_rsa
③ .sshフォルダのアクセス権限を設定
ターミナルで次のコマンドを入力
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の公開鍵認証用ペアの生成で入力した「パスフレーズ」を入力
(空でもOK)
⑥ 生成した公開鍵をXSERVERに登録
⑴ 先ほど生成した「id_rsa.pub」を「テキストエディット」で開き、全てをコピー
⑵ XSERVERの「SSH設定」内の「公開鍵登録・更新」に貼り付け
⑶ 「確認画面へ進む」→「登録する」をクリック
SSHログイン
次のコマンドを入力し、パスフレーズを入力して、接続できればOK
ssh -l サーバーID -p 10022 サーバーID.xsrv.jp
簡単なコマンドで接続できるように設定
⑴ テキストエディットで次を記述して、デスクトップに保存
Host xsrv
HostName サーバーID.xsrv.jp
Port 10022
User サーバーID
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
⑵ .sshフォルダに移動させる
ターミナルで次のコマンドを入力
mv ~/desktop/config ~/.ssh
SSHログイン
ターミナルで次のコマンドを入力し、パスフレーズを入力
ssh xsrv
仮想環境(Pipenv)にログイン
① Linux版Anacondaをダウンロード
Anaconda公式サイトから、Linux版をダウンロード
② ファイルマネージャからアップロード
エックスサーバーにログインして「ファイル管理」をクリック
③ 上部の「アップロード」をクリック
④ ダウンロードしたファイルをアップロード
⑤ SSHログイン
⑥ アップロードしたAnacondaをインストール
sh Anaconda3-2021.05-Linux-x86_64.sh
これで、Anaconda内包のPythonとcondaが利用可能です。
⑦ ライブラリをインストールするためのpipをインストール
conda install pip
⑧ pipenv(仮想環境)をインストール
⑴ pipenvをインストール
pip install pipenv
⑵ 一旦、ターミナルを終了(⌘Q)して、SSHに再ログインでインストールを反映させます。
⑨ pipenvの仮想環境にログイン
SSHにログインした状態で、次のコマンドを入力。
pipenv shell
PC上で動いていたPythonをXSERVERにアップロード
① ファイルマネージャからアップロード
エックスサーバーにログインして「ファイル管理」をクリック
② 上部の「アップロード」をクリック
③ ダウンロードしたファイルをアップロード
分かりやすくするために、フォルダを作った中でもOK
Pythonを常駐で動かす
通常は、SSH接続が切れたりするとPythonも止まってしまいますが、次のコマンドで動かし続けることができます。
⑴ pipenv(仮想環境)にログイン
⑵ Pythonファイルが保存されたフォルダに移動
cd Pythonファイルを保存したディレクトリ名
⑶ プログラムを動かす
nohup python3 Pythonのファイル名.py > 出力用ファイル名.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コマンドの表示(⑵)の左から2つ目の数字がプロセスIDなので、それを指定して停止できます。
今後
次回から、同じプログラムを動かす場合の手順もメモ。
⑴ SSHログイン
ssh xsrv
⑵ パスフレーズ入力
⑶ pipenvで仮想環境にログイン
pipenv shell
少しずつ、プログラミングを理解してきている気がして、とても楽しいです!
無料でこんなに楽しめることをこれまで知らなかったなんて、今後の人生が楽しみです。
コメント