VPS
メモリ:2GB
月額1,530円~
CPU 3Core
NVMe SSD 150GB

から、

 

に移転成功した。朝から5時間ぐらいかかって落ち着いた感じ。

移転の動機は、年間支出削減。
8,544円/年 で、さらに、30%をキャッシュバックのキャンペーンだったから。同一の会社だがサービスグレードの違いのみの新規追加VPS契約した。

 

まずs1 からs2(移転先サーバー 192.168.1.2)にSSHログインできるようにする。

 

# s1でSSH鍵生成(まだなければ)
ssh-keygen -t rsa -b 4096
# Enterキーを3回押してデフォルト設定

# s2に公開鍵をコピー(コンソール経由で)
# s1の公開鍵を表示
cat ~/.ssh/id_rsa.pub

# s2で受け入れ設定(コンソール経由で実行)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 上記で表示された公開鍵を貼り付け
echo "ssh-rsa AAAAB3NzaC1yc2E... root@s1" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# s1から接続テスト

ssh root@192.168.1.2 'hostname && whoami'

 

元サーバーのデーターを圧縮転送する。

 

tar cpzPf - \
--exclude="/dev/*" \
--exclude="/proc/*" \
--exclude="/sys/*" \
--exclude="/tmp/*" \
--exclude="/run/*" \
--exclude="/var/log/*" \
--exclude="/swapfile" \
/ | ssh root@192.168.1.2 'cd / && tar xpzPf -'

 

移転先サーバーで進捗状況の確認したければ:

# 別ターミナルで進捗監視
ssh root@s2 'df -BM && echo && du -sm /*"'

 

移行後のサービス再起動・設定調整

 

# ホスト名変更
hostnamectl set-hostname s2.****.net

# hosts ファイル更新
sed -i 's/s1/s2/g' /etc/hosts
sed -i 's/192.168.1.1 /192.168.1.2/g' /etc/hosts

# hosts ファイル確認
cat /etc/hosts

 

Phase 6: サービス起動順序

# 1. MariaDB起動
systemctl stop mariadb
rm -f /var/lib/mysql/mysql.sock
systemctl start mariadb
systemctl status mariadb

# 2. PHP-FPM起動
systemctl start php-fpm
systemctl status php-fpm

# 3. Nginx起動
systemctl start nginx
systemctl status nginx

# 4. Postfix起動
systemctl stop postfix
rm -rf /var/spool/postfix/private/* /var/spool/postfix/public/*
systemctl start postfix
systemctl status postfix

# 5. Dovecot起動
systemctl start dovecot
systemctl status dovecot

# 6. その他サービス
systemctl start webmin
systemctl start monit

 

ポート・サービス確認

# 重要ポートの確認
netstat -tlnp | grep -E ':(80|443|25|587|993|110|995|10000)'

# 期待される出力例:
# :80 (nginx)
# :443 (nginx)
# :25 (postfix)
# :587 (postfix submission)
# :993 (dovecot imaps)
# :110 (dovecot pop3)
# :995 (dovecot pop3s)
# :10000 (webmin)

 

データベース確認

# MySQLログイン確認
mysql -u root -p

# データベース一覧
SHOW DATABASES;

# WordPress データベース確認
USE wordpress1; # または実際のDB名
SHOW TABLES;
SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');
EXIT;

 

動作テスト

# 1. Web動作確認(IPアドレスでアクセス)
curl -I http://192.168.1.2
curl -I https:/192.168.1.2

# 2. メール送信テスト
echo "Migration test from s2" | mail -s "Test from new server" root

# 3. メール受信テスト(外部から)
telnet 192.168.1.2 25
# > EHLO test
# > QUIT

# 4. IMAP/POP3テスト
telnet 192.168.1.2 993
telnet 192.168.1.2 110

 

最後に、DNS切り替え

 

 

 

 

 

 

 

  • GCPからGCPへの移転方法AWS, Azure 等の他のクラウドサーバーからGCP(Google Cloud Platform)に移転する方法はよく論じられているが、GCPのAアカウントからBアカウントに移転するにはどうしたらよいのだろうか? Compute Engine のVMインスタンスを、他のGCP アカウントのCompute Engine に移転又はコピーするにはどうしたらよいのだろうか? プロジェクトの共有 試行錯誤の上、たどり着いたのがプロジェクトの共有であった。GCPのトップページ、ダッシュボードの最初にプロジェクト情報のカードがあり、其の中に「このプロジェクトにユーザーを追加」という項目がある。そこをクリックして、他のGCPアカウントのGma...
  • またまたこのサイトのSSL証明書が期限切れになった。 Kusanagi の自動更新ができていない。 それで手動であれこれしてみても、こんなエラーが出る。# kusanagi update cert Challenge failed for domain makotoiwasaki.com Challenge failed for domain www.makotoiwasaki.com Attempting to renew cert (makotoiwasaki.com) from /etc/letsencrypt/renewal/makotoiwasaki.com.conf produced an unexpected error: Some challenges hav...
  • Google の Indexing API を使うと、新しい投稿記事を瞬時にGoogleの検索エンジンに登録できる。 WordPress のプラグインとしてインデックスAPIが利用できる。使い方は英語だが、この通り: ⏱️ Get Google To Index Your Website Instantly Using the Indexing API ⚡Take a look at how you can use Google's new indexing API & to get your website's pages and content crawled instantly instead of waiting for Google to...
  • Yoast SEO を停止して、Rank Math SEO プラグインを使ってみたらGoogle の検索結果に表示される記事抜粋スニペットの文字数が短過ぎに見えてびっくりした。#1 Yoast Alternative You Deserve - Rank Math SEO vs. Yoast SEORank Math SEO plugin for WordPress is hands down the best Yoast alternative WordPress plugin. And the best thing is, Rank Math is completely FREE!Rank Math
  • WP_CRON を停止して、Linux の crontab に移行する設定をこれまでに何度も試みたがうまくいかなかった。 毎日バックアップされるはずの、UpdraftPlus プラグインのクロンが動いていない。やっと成功した設定方法を記録しておく。wp-config.php に次の行を追加する。define('DISABLE_WP_CRON', true);/var/spool/cron  に、  httpd という名前のファイルを作成し、次の1行を追加する。 所有者を httpd.www など、httpd nginx サーバーの稼働ユーザー名と同じにする。nginx.conf に書いてある。root@s4:/v...
  • Kusanagi WordPress プラットフォームでは Fcache とBcache がある。 Fcache とはNginx ヱブサーバーのキャッシュ機能であり、Kusanagi の独自機能ではない。Nginx のアクセスログを眺めていると、  BYPASS MISS EXPIRED のみで、HITが殆どない。 トップ頁、アーカイブリストの頁ではHIT、 個別投稿頁では、BYPASS MISS EXPIRED ばかりでHITがない。Kusanagi fcache on とすると、fcache は有効になったかのように思えるが、本当にキャッシュが効いているのかどうかはログで確認しないとわからない。まず、Wordpressの編集画面にログインし...
  • HTTPD アクセスログの日本語化 Nginx,  Apache ヱブサーバーのアクセスログを見ると、日本語URLはエンコードされていて読めない。 そこで、デコードして表示させる。 ログのファイル名が ssl_access.log だとすると、tail -f ssl_access.log| perl -ne 'use URI::Escape; print uri_unescape($_);' tail -f access.log | php -R 'echo urldecode($argn)."\n";'で、日本語URlが読める状態で出力される。 Apacheのログをデコードする方法 - Life with ITプログラマ x ...
  • ヱブサイトの再構築中には、スタイルシート、style.css を頻繁に調整更新する。 CSSを追加、編集する度に再読み込みを繰り返して、変更の反映を確認していた。 これで編集者は反映を確認できるのだが、一般閲覧者はわざわざ再読み込みしたり、キャッシュを削除したりするはずはないので、変更が反映されていない崩れたデザインを見ているかもしれない。わざわざリロードしたりキャッシュを削除したりしなくても変更が確実に反映されるような設定方法を発見した。wp_enqueue_scripts で CSS、JS の読み込みを管理している場合には、次のようにfunctions.php に記述する。// 子テーマのstyle.cssを最後に読み込む add_acti...

サーバー カテゴリ人気記事 Views most

タグ関連記事

閲覧履歴