mitosearch本番環境構築手順

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

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
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
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:3003 #でポート番号から調べられる

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で固めてからコピーした。

/var/lib/snapd/snap/bin/certbot renew --post-hook "systemctl restart httpd.service"

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

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

git clone https://suikoucalender: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@github.com/suikoucalender/mitosearch_related_files

  • mitosearch本番環境構築手順.1707431881.txt.gz
  • 最終更新: 2024/02/08 22:38
  • by suikou