服務してピットに入ります.――自分のオンラインサイトを作ることから始まります.
6764 ワード
前身の2年をして、サービスに対して知っているのはとても少なくて、ずっといくつかサービスの知識を学びたいです.いくつかのビジネスの言語を学んだ後、私は自分のオンラインサイトを立ち上げることから自分のビジネスを実践する道を始めるつもりです.
考え方サービスエンド言語と彼のWebフレームを勉強しています.私はフロントエンドをしています.JavaScriptは多く使うので、Node.jsを選択して、Expressを選択しました.ローカルで「ハローワールド」のページを走ればいいです. ドメイン名を買います.godaddy.comで買ったのです.zagjiabin.meは初めて3.5美刀です. クラウドコンピューティングサービスを購入する.簡単に言えば、クラウドサーバーを買って、コードを実行します.私はaws EC 2を選びました.無料コースがあります.一年目は基本的にお金がかかりません. クラウドコンピューティングサービスがあれば、自分の仮想ホストを配置することができます.オペレーティングシステムを選択して、基本的なソフトウェアをインストールします. 私たちのコードを仮想ホストに配置し、サービスを開始する. ドメイン名を使ってバーチャルホストにアクセスできます. httpsでアクセスできるようにしてください. みんなが使うかもしれないWebフレームワークは、ドメイン名サービス業者とクラウドコンピューティングサービス業者が違っていますが、上のアイデアは共通しています.
起動EC 2の例
まずawsアカウントを登録してEC 2サービスのホームページに入ります.以下のように、赤色エリアの「Launch Instance」をクリックして、インスタンスの作成を開始します.クリックしたらホストテンプレートを選択するページに進みます.私が選んだのはUbuntuです.以下の図です.クリックしてホストの設定を選択して、デフォルトでは無料のタイプを選択して、「Review and Launch」をクリックしてください.「Lunch」をクリックします.クリックした後、鍵のペアを作成してください.その後、私たちはsshでホストに登録する時、このような秘密鍵のペアが登録証明書として必要です.「Create a new key pair」を選択して、それをネーミングして、ダウンロードしてローカルに保存します.これらを終えたら、ページで「Lunch Instance」をクリックします.
セキュリティポリシーと静的IPの設定
今は私達のホストのセキュリティポリシーはデフォルトではssh訪問だけを受け入れています.httpアクセスを開く必要があります.また、ホストには、アクセス可能な静的IPを割り当てる必要があります.
まずEC 2のコンソールに入ると、私たちが実行している例が見られます.左サイドバーの「Security Groups」と「Elastic IPs」に注意してください.この2つのオプションは、それぞれ「セキュリティポリシー設定」と「静的IP設定」に対応しています.上の図で選択された例は私達が作成したばかりで、右にスライドして、使用中の「Security Group」を確認して、この「Security Group」の設定項目にクリックして入ることができます.上の「アクション」ボタンをクリックして、「Edit Inbound Rules」を選択し、図の弾みフレームをはじき、「Add Rule」をクリックし、Typeは「All Traffic」を選択し、Sourceは「Anywhere」を選択します.「保存」ボタンをクリックして保存します.
「Elastic IPs」ページに入り、「Allocate new address」をクリックして、新しい静的IPアドレスを申請します.図のように、申請が成功したら、私達はこのIPを私達のホストと関連付ける必要があります.私たちが作成したIPを選択して、上の「アクション」をクリックして、「Asociate address」をクリックします.次のページに進みます.ヒントに従って関連するホストを選択し、「Asociate」をクリックします.予期しない場合は、私たちのホストは、そのネットワークの静的なIPがあります.
リモートホストにsshで接続する
Ngixのインストール
sshがリモートホストに接続された後、下記のコマンドを実行してINGIxをインストールします.
ドメイン名を使ってホームページにアクセスする
この段階で私たちは静的IPを使って私たちのホームページにアクセスできます.しかし、ブラウザにIPアドレスを入力して、私たちのホームページを訪問するのは全然クールではないです.私たちは前に買ったドメイン名を役に立ちます.aws Route 53コンソールに入ります.「Hosted zones」オプションページを選択します.
「Create Hosted Zone」をクリックしてください.
ドメイン名を入力して、「クリアー」をクリックしてください.
「Create Record Set」をクリックします.Name欄は記入せず、ValueはIPアドレスを記入します.「クリアー」をクリックします.次に、上の図の左側に出入りする第一条、すなわち、主ドメイン名に対応するIPアドレスを作成します.第二条をよく見てください.TypeはNSです.中のValueの中の4つの住所は私達のドメイン名のDNSサーバーの住所です.ブラウザにメインドメイン名を入力すると、DNSサービスは中の4つのサーバーにドメイン名対応のIPアドレスを調べに行きます.
また、ドメイン名をGodaddyで購入する場合、ドメイン名のサービスプロバイダはすでにこのドメイン名にDNSサーバアドレスを指定しています.godaddy.com DNSサーバアドレスを図中の対応する4つのアドレスに変更する必要があります.下の図です
今はブラウザにドメイン名を入力すれば、NFinxの歓迎ページが表示されます.Godaddyが購入したドメイン名は、aws EC 2ホストと関連しており、主にDNSサーバアドレスの関連にある.興味のある友達はここを見てもいいです.
HTTPSを有効にする
Chromeブラウザであなたのドメイン名を訪問すると、彼は「このサイトは安全な接続を提供できません」とヒントを与えるかもしれません.なぜなら、ChromeがHTTPSを使ってすべてのドメイン名にアクセスすることを強制するからです.今は市場のすべてのサイトがHTTPSであり、安全な暗号化を行っていないのはもう少なくなりました.私たちは以下の簡単な手順で自分のサイトのためにHTTPSを有効にします.sshをリモートホストに接続し、次の一連のコマンドを実行します.
次に私たちはNgixの構成を変更したいです.
ファイルを保存して、次のコードを実行して、ドメイン名を自分のドメイン名に変えます.
Node.jsサービスを開始します.
最後に、私たちはウェブサービスの構築を開始する必要があります.まずNgixの構成を修正します.次のように、その中の4つのドメイン名をあなたのドメイン名に変えます.server{listen 80;listen[:]:80;server_namezagjiabin.me;return 301 https://servermne$request庸;;;
server{listen 443 ssl http 2 default userver;listen[:]:443 ssl http 2 default_server;serverame zageband.me;location/proxyclasshttp://localhost:3000;
shlgucertificate/etc/let sencrypt/live/zingjiabain.me/fullchain.pem;ssluctificateuukey/etc/letsencrypt/live/hengjiab.me/prvkey.pem;ssluuprotocolsTLSv 1+Svcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccf/letttttttS 128:EECDH+AES 256:RSA+AES 256:EECDH+3 ES:RSA+3 ES:MD 5;ssl session shared:SSL:5;ssl session_timeout 1 h;aduheader Strict-Tirandsport-Security“max-age=1568000”always;菗菗鎗は図のようにファイルを保存してから、NFBxを再起動する.
次の章はExpress+MongoDBで個人のブログを書く方法を説明したいです.次の章があれば.
参照セットニングUp with Amazon EC 2 Getting Startd with Amazon EC 2 Linux Instance セッティングUp An HTTPS Server With Node、Amazon EC 2、NGINX And Let’s Ecrypt How do I route my GoDaddy domame to my Amazon EC 2 web server? 転載先:https://juejin.im/post/5bdde4e86fb9a049c9651d53
考え方
起動EC 2の例
まずawsアカウントを登録してEC 2サービスのホームページに入ります.以下のように、赤色エリアの「Launch Instance」をクリックして、インスタンスの作成を開始します.クリックしたらホストテンプレートを選択するページに進みます.私が選んだのはUbuntuです.以下の図です.クリックしてホストの設定を選択して、デフォルトでは無料のタイプを選択して、「Review and Launch」をクリックしてください.「Lunch」をクリックします.クリックした後、鍵のペアを作成してください.その後、私たちはsshでホストに登録する時、このような秘密鍵のペアが登録証明書として必要です.「Create a new key pair」を選択して、それをネーミングして、ダウンロードしてローカルに保存します.これらを終えたら、ページで「Lunch Instance」をクリックします.
セキュリティポリシーと静的IPの設定
今は私達のホストのセキュリティポリシーはデフォルトではssh訪問だけを受け入れています.httpアクセスを開く必要があります.また、ホストには、アクセス可能な静的IPを割り当てる必要があります.
まずEC 2のコンソールに入ると、私たちが実行している例が見られます.左サイドバーの「Security Groups」と「Elastic IPs」に注意してください.この2つのオプションは、それぞれ「セキュリティポリシー設定」と「静的IP設定」に対応しています.上の図で選択された例は私達が作成したばかりで、右にスライドして、使用中の「Security Group」を確認して、この「Security Group」の設定項目にクリックして入ることができます.上の「アクション」ボタンをクリックして、「Edit Inbound Rules」を選択し、図の弾みフレームをはじき、「Add Rule」をクリックし、Typeは「All Traffic」を選択し、Sourceは「Anywhere」を選択します.「保存」ボタンをクリックして保存します.
「Elastic IPs」ページに入り、「Allocate new address」をクリックして、新しい静的IPアドレスを申請します.図のように、申請が成功したら、私達はこのIPを私達のホストと関連付ける必要があります.私たちが作成したIPを選択して、上の「アクション」をクリックして、「Asociate address」をクリックします.次のページに進みます.ヒントに従って関連するホストを選択し、「Asociate」をクリックします.予期しない場合は、私たちのホストは、そのネットワークの静的なIPがあります.
リモートホストにsshで接続する
ssh -i ~/.ssh/ubuntu_key_pair.pem [email protected]
上のコマンドのうち、-iの後にあるのは、あなたのホストの秘密鍵のパスです.最後の[email protected]で、3.16.856.11は私達のホストの静的IPで、uuntuはホストのユーザー名です.uuntuシステムをホストテンプレートとして選択します.デフォルトはこのユーザ名です.接続が成功したら、次の図のようになります.意外でなければ、今は自分のホストを操作できます.Ngixのインストール
sshがリモートホストに接続された後、下記のコマンドを実行してINGIxをインストールします.
sudo wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
wgetはLinuxシステムでファイルをダウンロードするソフトウェアツールです.aptはLinuxシステムのソフトウェア管理パッケージです.このステップは、おそらくNginnxの署名をapptの署名ライブラリに追加します.インストールを防ぐための権限がありません.sudo nano /etc/apt/sources.list
下の2行をファイルの下に追加します.deb http://nginx.org/packages/ubuntu xenial nginx
deb-src http://nginx.org/packages/ubuntu xenial nginx
source.listファイルは、アプリのインストールと更新ソフトのアドレスを記録しています.このステップは、アプリがどこからNgixをインストールするかを教えるのに相当します.source.listファイルを保存し、次のコマンドを実行します.sudo apt-get update
sudo apt-get install nginx
このステップはNgixをインストールします.sudo service nginx start
このステップは、Linuxの下にNgixをインストールすることについてNgixを起動します.ここを参照して上記の操作を完了した後、ブラウザで私たちの静止IPにアクセスして、次のページを見ることができます.ドメイン名を使ってホームページにアクセスする
この段階で私たちは静的IPを使って私たちのホームページにアクセスできます.しかし、ブラウザにIPアドレスを入力して、私たちのホームページを訪問するのは全然クールではないです.私たちは前に買ったドメイン名を役に立ちます.aws Route 53コンソールに入ります.「Hosted zones」オプションページを選択します.
「Create Hosted Zone」をクリックしてください.
ドメイン名を入力して、「クリアー」をクリックしてください.
「Create Record Set」をクリックします.Name欄は記入せず、ValueはIPアドレスを記入します.「クリアー」をクリックします.次に、上の図の左側に出入りする第一条、すなわち、主ドメイン名に対応するIPアドレスを作成します.第二条をよく見てください.TypeはNSです.中のValueの中の4つの住所は私達のドメイン名のDNSサーバーの住所です.ブラウザにメインドメイン名を入力すると、DNSサービスは中の4つのサーバーにドメイン名対応のIPアドレスを調べに行きます.
また、ドメイン名をGodaddyで購入する場合、ドメイン名のサービスプロバイダはすでにこのドメイン名にDNSサーバアドレスを指定しています.godaddy.com DNSサーバアドレスを図中の対応する4つのアドレスに変更する必要があります.下の図です
今はブラウザにドメイン名を入力すれば、NFinxの歓迎ページが表示されます.Godaddyが購入したドメイン名は、aws EC 2ホストと関連しており、主にDNSサーバアドレスの関連にある.興味のある友達はここを見てもいいです.
HTTPSを有効にする
Chromeブラウザであなたのドメイン名を訪問すると、彼は「このサイトは安全な接続を提供できません」とヒントを与えるかもしれません.なぜなら、ChromeがHTTPSを使ってすべてのドメイン名にアクセスすることを強制するからです.今は市場のすべてのサイトがHTTPSであり、安全な暗号化を行っていないのはもう少なくなりました.私たちは以下の簡単な手順で自分のサイトのためにHTTPSを有効にします.sshをリモートホストに接続し、次の一連のコマンドを実行します.
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
・sudo apt-get install python-certbot-nginx
上の命令は複雑に見えるので、よく分かりません.私は簡単にCrbotソフトウェアをインストールすると理解します.次に私たちはNgixの構成を変更したいです.
sudo nano /etc/nginx/conf.d/default.conf
「serveryuname」の「localhost」をあなたのドメイン名に置き換えます.次のようにファイルを保存して、次のコードを実行して、ドメイン名を自分のドメイン名に変えます.
sudo certbot --nginx -d zangjiabin.me
成功したら、HTTPSでドメイン名を訪問できます.Node.jsサービスを開始します.
最後に、私たちはウェブサービスの構築を開始する必要があります.まずNgixの構成を修正します.次のように、その中の4つのドメイン名をあなたのドメイン名に変えます.server{listen 80;listen[:]:80;server_namezagjiabin.me;return 301 https://servermne$request庸;;;
server{listen 443 ssl http 2 default userver;listen[:]:443 ssl http 2 default_server;serverame zageband.me;location/proxyclasshttp://localhost:3000;
shlgucertificate/etc/let sencrypt/live/zingjiabain.me/fullchain.pem;ssluctificateuukey/etc/letsencrypt/live/hengjiab.me/prvkey.pem;ssluuprotocolsTLSv 1+Svcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccf/letttttttS 128:EECDH+AES 256:RSA+AES 256:EECDH+3 ES:RSA+3 ES:MD 5;ssl session shared:SSL:5;ssl session_timeout 1 h;aduheader Strict-Tirandsport-Security“max-age=1568000”always;菗菗鎗は図のようにファイルを保存してから、NFBxを再起動する.
sudo nginx -s reload
上の配置ファイルは、主にすべてのHTTP要求をHTTPS要求に変更し、最後にすべての要求を地元のlocalhost:3000サービスに転送するという意味です.つまり、私たちのWebサービスは最終的にロカホスト:3000で実行されます.次に私達はloalhost:3000にウェブサービスを確立します.次の二つの操作を実行して、私たちの作業リストを作成します.mkdir /home/ubuntu/app
cd /home/ubuntu/app
Node.jsバージョン管理ツールnvmをインストールします.curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
インストールが成功したら、実行します.nvm ls-remote --lts
最近の長期サポートバージョンを確認します.このバージョンのNode.jsをインストールします.nvm install v8.12.0
次のコードを実行してexpress-generatorをインストールしてexpressアプリケーションを生成します.npm install express-generator -g
ExpressはNode.jsに基づいて開発されたWebフレームです.以下のコード生成Expressアプリケーションを実行します.express myapp
cd myapp
npm install
・npm run start
このように起動されたサービスには現在のインターフェースが閉じられないという問題があります.一旦サービスが終了したら、Nodeサービスをバックグラウンドで実行させるようにします.npm install forever -g
forever start bin/www
ここにあなたのドメイン名を訪問すると、Expressのデフォルトページが表示されます.あなたのサイトが成功しました.次の章はExpress+MongoDBで個人のブログを書く方法を説明したいです.次の章があれば.
参照