6

digitalocean でドロップレットを作成しました。使用できる vps_ip があります。
私の家では、インターネットに接続する方法は、ルート + モデム + adsl です。
自宅のローカル PC にワードプレスを構築しました。
ネット接続時のネット状態は以下の通りです。

WAN:
MAC:ommitted for privacy
IP :public_ip PPPoE
subnet mask:255.255.255.255
gateway:153.0.68.1
DNS:114.114.114.114 223.5.5.5

LAN
MAC:ommitted for privacy
IP :192.168.1.1
subnet mask:255.255.255.0
DHCP:active

ifconfig
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0                                                                    

私の目標は、vps_ip digitalocean がくれた自宅の PC で私の wordpress サイトにアクセスできるようにすることです。

CrypticDesigns に感謝します。
https://www.digitalocean.com/community/questions/how-to-map-my-local-ip-192-168-1-100-with-my-vps_ip ?
CrypticDesigns の助けを借りて問題を解決しました。

ローカル ネットワーク:
ルーターで、ポート 80 とプライベート IP 192.168.1.100 をネットワークの外側にポート転送します。

パブリック ドロップレット システムの場合:

sudo apt-get install nginx
sudo nano /etc/nginx/sites-available/default
server {
    listen *:80;
    server_name vps_ip;
    rewrite .* http://publlic_ip$request_uri permanent; 
}
sudo service nginx restart

vpsip にアクセスすると、誰でも私のワードプレスを閲覧できるようになりました。
WAN の IP アドレスが約 30 分ごとに変更されることが重要です。30 分後はどうでしょうか。
publicip が変更され、構成ファイル /etc/nginx/sites-available/default が機能しません。
問題を改善したい。 1.自宅 のPCでコマンドcurl ipinfo.io/ipを実行すると、パブリックIPを取得できます
。 30 分ごとに crontab に書き込みます。 2. vpsip を送信し、/etc/nginx/sites-available/default の publicip の値を変更して、 nginx を再起動します。




プロセスを自動化するためにシェルコマンドで2つのステップを表現するにはどうすればよいですか?

4

4 に答える 4

1

「dyndns」をグーグルで検索すると、「動的ドメイン名」を無料で提供する複数のプロバイダーが見つかります。そのうちの1つにサインアップする必要があります。

動的ドメイン名を動的 IP アドレスと同期させるクライアントはたくさんあります。選択した dyndns プロバイダーには、そのサービスに適したクライアントに関して必要なすべての情報が含まれている可能性があります。自宅のコンピューターでクライアントを実行するだけで、動的ドメイン名は常に動的 IP を指します。一部のホーム ルーターでも動的ドメイン名を更新できるため、クライアントを実行する必要さえありません。

次に、動的ドメイン名 (IP ではなく) を指すように nginx 構成を変更します。

于 2015-08-22T22:48:59.623 に答える
1

これに直面する方法はたくさんあります。私にとって、これは、追加のソフトウェアをインストールしたり、動的 DNS サイトに登録したりする必要がない、最も単純な方法です。

一時的な問題かどうかはわかりませんが、ipinfo.io がうまくいかなかったので、解決策として別のサービスを使用しています。必要に応じて変更してください。

まず、ローカル PC で、リモートの/etc/nginx/sites-available/default ( publlic_ipと呼んだもの) にある IP を/tmp/oldIPに書き込みます。次のような IP だけです。

20.20.20.20

これは一度だけ行う必要があります。次に、次のスクリプトを任意の場所に保存し、実行権限を付与して cron に追加します。

#!/bin/bash

VPS_IP= #fill this 
VPS_USER= #fill this
MyOldIP=$(cat /tmp/oldIP)
MyIP=$(curl http://bot.whatismyipaddress.com)

if [ $MyOldIP != $MyIP ] ; then
  ssh $VPS_USER@$VPS_IP "sudo sed -i 's/$MyOldIP/$MyIP/' /etc/nginx/sites-available/default" \
  && ssh $VPS_USER@$VPS_IP sudo service nginx restart
fi
于 2015-08-29T06:19:06.440 に答える