mitosearch本番環境構築手順

m128mにmitosearch本番サーバを稼働させる手順

user2で実行させる

まだnodejsをインストールしていなければ

sudo dnf install nodejs -y

MitoSearchのインストールおよび起動

cd /suikou/download9-v251/mitosearch
git clone https://github.com/suikoucalender/mitosearch.git

cd mitosearch/Mitosearch
nano config/config.json
#"port": "3004"に変更 devなら3003、本番環境なら3004
npm start

foreverの登録

sudo npm install -g forever

logdir=/data/suikou-m2/download9-v251/mitosearch/mitosearch
workdir=/data/suikou-m2/download9-v251/mitosearch/mitosearch/Mitosearch
forever start -l $logdir/forever.log -a -o $logdir/out.log -e $logdir/err.log -w --workingDir $workdir --watchDirectory $workdir $workdir/app.js 

起動しているかの確認

forever list

#止めるときはforever listで出てきたpidを引数に
forever stop <pid>
#もしくは
forever stopall
#/etc/systemd/system/mitosearch.service に下記のファイルを作る
[Unit]
Description = mitosearch
After = netwark.target

[Service]
Environment=logdir=/data/suikou-m2/download9-v251/mitosearch/mitosearch
Environment=workdir=/data/suikou-m2/download9-v251/mitosearch/mitosearch/Mitosearch
ExecStart=/usr/local/bin/forever start -a -l ${logdir}/forever.log -o ${logdir}/out.log -e ${logdir}/err.log -w --workingDir ${workdir} --watchDirectory ${workdir} ${workdir}/app.js
ExecStop=/usr/local/bin/forever stop ${workdir}/app.js
Restart=always
RestartSec=10
User=user2
Environment=PATH=/usr/bin:/usr/local/bin
SyslogIdentifier=node-server
Type=forking
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
systemctl daemon-reload #必要に応じて
systemctl start mitosearch
systemctl status mitosearch
systemctl enable mitosearch

#起動しているかの直接の確認は
lsof -i:3004 #でポート番号から調べられる

mitosearch_devのセットアップ

#user2で
cd /suikou/download9-v251/mitosearch
git clone https://github.com/suikoucalender/mitosearch.git mitosearch_dev

#yoshitakeやsuikouユーザで
sudo nano /etc/systemd/system/mitosearch_dev.service
[Unit]
Description = mitosearch_dev
After = netwark.target

[Service]
Environment=logdir=/data/suikou-m2/download9-v251/mitosearch/mitosearch_dev
Environment=workdir=/data/suikou-m2/download9-v251/mitosearch/mitosearch_dev/Mitosearch
ExecStart=/usr/local/bin/forever start -a -l ${logdir}/forever.log -o ${logdir}/out.log -e ${logdir}/err.log -w --workingDir ${workdir} --watchDirectory ${workdir} ${workdir}/app.js
ExecStop=/usr/local/bin/forever stop ${workdir}/app.js
Restart=always
RestartSec=10
User=user2
Environment=PATH=/usr/bin:/usr/local/bin
SyslogIdentifier=node-server
Type=forking
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now mitosearch_dev

metasearchのセットアップ

#user2で
mkdir /suikou/download9-v251/metasearch
cd /suikou/download9-v251/metasearch
git clone https://github.com/suikoucalender/metasearch.git
cd metasearch/metasearch
npm install
nano config/config.json
#passを"pass": "uE7dOLCbHi"

cd script
wget https://github.com/suikoucalender/metasearch/releases/download/0.1/krona_v2.7.1_cv1.sif
wget https://github.com/suikoucalender/metasearch/releases/download/0.1/python3_env_mako_installed.sif
wget https://github.com/suikoucalender/mitosearch_related_files/releases/download/0.01/ncbi_blast_2.13.0.sif

mkdir ../data
cd ../data
ln -s /suikou/download9-v251/backup-m50v251n3/usr/local/yoshitake/* .

#yoshitakeやsuikouユーザで
sudo nano /etc/systemd/system/metasearch.service
[Unit]
Description = metasearch
After = netwark.target

[Service]
Environment=logdir=/suikou/download9-v251/metasearch/metasearch
Environment=workdir=/suikou/download9-v251/metasearch/metasearch/metasearch
ExecStart=/usr/local/bin/forever start -a -l ${logdir}/forever.log -o ${logdir}/out.log -e ${logdir}/err.log -w --workingDir ${workdir} --watchDirectory ${workdir} ${workdir}/app.js
ExecStop=/usr/local/bin/forever stop ${workdir}/app.js
Restart=always
RestartSec=10
User=user2
Environment=PATH=/usr/bin:/usr/local/bin
SyslogIdentifier=node-server
Type=forking
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now metasearch

metasearch_devのセットアップ

#user2で
mkdir /suikou/download9-v251/metasearch
cd /suikou/download9-v251/metasearch
git clone https://github.com/suikoucalender/metasearch.git metasearch_dev
cd metasearch_dev/metasearch
npm install
nano config/config.json
#passを"pass": "uE7dOLCbHi"
#portを3000->3002
"urlをhttps://meta.fs.a.u-tokyo.ac.jp/metasearch->https://meta.fs.a.u-tokyo.ac.jp/metasearch_dev

cd script
wget https://github.com/suikoucalender/metasearch/releases/download/0.1/krona_v2.7.1_cv1.sif
wget https://github.com/suikoucalender/metasearch/releases/download/0.1/python3_env_mako_installed.sif
wget https://github.com/suikoucalender/mitosearch_related_files/releases/download/0.01/ncbi_blast_2.13.0.sif

nano config.sh
#blastdb_pathを編集

mkdir ../data
cd ../data
ln -s /suikou/download9-v251/backup-m50v251n3/usr/local/yoshitake/* .

#yoshitakeやsuikouユーザで
sudo nano /etc/systemd/system/metasearch_dev.service
[Unit]
Description = metasearch_dev
After = netwark.target

[Service]
Environment=logdir=/suikou/download9-v251/metasearch/metasearch_dev
Environment=workdir=/suikou/download9-v251/metasearch/metasearch_dev/metasearch
ExecStart=/usr/local/bin/forever start -a -l ${logdir}/forever.log -o ${logdir}/out.log -e ${logdir}/err.log -w --workingDir ${workdir} --watchDirectory ${workdir} ${workdir}/app.js
ExecStop=/usr/local/bin/forever stop ${workdir}/app.js
Restart=always
RestartSec=10
User=user2
Environment=PATH=/usr/bin:/usr/local/bin
SyslogIdentifier=node-server
Type=forking
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now metasearch_dev

m128mでapacheのインストール

m128mで稼働させたいサービス

  • mitosearch
  • metasearch
  • let's encrypt
  • mitosearchデータ更新用
  • データバックアップ用
sudo dnf install httpd
sudo nano /etc/httpd/conf.d/proxy.conf

ProxyPass /metasearch/  http://localhost:3000/
ProxyPassReverse /metasearch/ http://localhost:3000/
ProxyPass /metasearch_dev/ http://localhost:3002/
ProxyPassReverse /metasearch_dev/ http://localhost:3002/
ProxyPass /mitosearch_dev/ http://localhost:3003/
ProxyPassReverse /mitosearch_dev/ http://localhost:3003/
ProxyPass /mitosearch/ http://localhost:3004/
ProxyPassReverse /mitosearch/ http://localhost:3004/
ProxyPass /mitosearch_private/ http://localhost:3006/
ProxyPassReverse /mitosearch_private/ http://localhost:3006/
sudo systemctl start httpd.service
sudo systemctl status httpd.service
sudo systemctl enable httpd.service
#dummyページ作成
sudo touch /var/www/html/index.html
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install --classic certbot

#m50v251n3から/etc/letsencrypt/をコピーしておく。シンボリックリンクはシンボリックリンクでコピーする必要があるようなので、tarで固めてからコピーした。

echo '<VirtualHost *:80>
  DocumentRoot "/var/www/html"
  ServerName "meta.fs.a.u-tokyo.ac.jp"
</VirtualHost>
' >> /etc/httpd/conf/httpd.conf
  
sudo yum -y install mod_ssl
certbot --apache
#これでhttpsがつながるようになる

#更新のテスト
/var/lib/snapd/snap/bin/certbot renew --dry-run --post-hook "systemctl restart httpd.service"

#cronに下記を登録
/var/lib/snapd/snap/bin/certbot renew --post-hook "systemctl restart httpd.service"
ssh -l yoshitake r251
sudo nano /etc/ufw/before.rules
#下記に変更
#-A PREROUTING -i enp5s0 -p tcp -d 133.11.144.11 --dport 80 -j DNAT --to-destination 192.168.253.160:80
#-A PREROUTING -i enp5s0 -p tcp -d 133.11.144.11 --dport 443 -j DNAT --to-destination 192.168.253.160:443

sudo systemctl restart ufw.service

データベースの自動更新スクリプトの定期実行

user2で

cd /suikou/download9-v251/mitosearch_update
git clone https://suikoucalender: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@github.com/suikoucalender/mitosearch_related_files

crontabでの自動実行

0 4 * * * root rsync -av --progress --delete m32s:/m2/db m32s:/m2/download m32s:/m2/download9 m32s:/m2/tool m32s:/m2/tool9 m32s:/m2/tool-all m32s:/m2/tool9-all /data/suikou-m2/
0 6 * * * yoshitake.kazutoshi rsync -av --progress --delete /suikou/download9-v251/mitosearch r251:/data/backup-m128m
0 0 1 * * user2 bash /suikou/download9-v251/mitosearch_update/mitosearch_related_files/script/mitosearch_db.sh > /tmp/mitosearch_db_$(date "+\%Y\%m\%d-\%H\%M").log 2>&1
0 3 * * 6 root /var/lib/snapd/snap/bin/certbot renew --post-hook "systemctl restart httpd.service" > /tmp/letsencrypt_$(date "+\%Y\%m\%d-\%H\%M").log 2>&1
  • mitosearch本番環境構築手順.1708269033.txt.gz
  • 最終更新: 2024/02/18 15:10
  • by 118.240.79.152