アリクラウドサーバ+ ubantu +は、基本的なサーバの設定プロセスをnodejs

MACのコンピュータ環境のすべてのステップ

まず、環境を構成

図1に示すように、リモート・サーバに接続されています。

1、アリクラウドECSサーバーを購入し、私はubantu 14.0.4を使用します(64ビット)、購入パスワードの時刻が記録され設定されていない場合は、ECSでコンソールを変更することができる
クラウドプラットフォームに2、アリブラウザ- > ECSコンソール- >インスタンスのリストの
インスタンスを情報3、表示:(オス)、独自のIPを記録47.xxx.xxx.xxx
4、管理をクリックして、あなたはどのようなインスタンス名を変更することができ、デフォルトでは文字化けの貧しい人々の認識の文字列です。あなたは自分の心の中に取ることができます。
5、ローカルでターミナルを開き:$のssh [email protected] ECSサーバのパブリックIPリモートアクセスを入力して、リモートサーバubantuのパスワードを入力してください

以下の情報は、[はい]を選択して、リモートサーバーのパスワードパスワードの入力を求められる場合があります。Ubuntuのへようこそを参照してください。証明接続に成功

wjw$ ssh [email protected]
The authenticity of host '47.xxx.xxx.xxx (47.xxx.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:Nq44XG9TtdnZ7yNE6P0k0S2FOGmiz/sdSkmu2j7ze2k.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '47.xxx.xxx.xxx' (ECDSA) to the list of known hosts.
[email protected]'s password: 

Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-93-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Welcome to Alibaba Cloud Elastic Compute Service !

Last login: Sun Jun  2 15:22:59 2019

サーバーのアップグレードキットをインストールするには2、

$ sudoのapt-getの更新コマンドを使用して、1、

# sudo apt-get update

。。。
Reading package lists... Done

2、必要なパケットの設置工事

$ sudo apt-get install git vim openssl build-essential libssh-dev wget curl

中東は、[はい]を選択し、入力のように、パッケージをインストールするためのディスク領域が占有どのくらいのを思い出させます

私たちは、ノードのバージョンを管理するための3、インストールNVM(ノードバージョンマネージャ)、

githubの検索NVMで
https://github.com/nvm-sh/nvm
、インストールはページに合わせてコマンドを直接のように、我々は、カールがインストールされている第二のステップインストールコマンドを見つける
//raw.githubusercontent:カール-O- HTTPSを。 COM / NVM-SH / NVM / v0.34.0 / install.sh | bashの

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13226  100 13226    0     0   7074      0  0:00:01  0:00:01 --:--:--  7076
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 278, done.
remote: Counting objects: 100% (278/278), done.
remote: Compressing objects: 100% (249/249), done.
remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0
Receiving objects: 100% (278/278), 142.36 KiB | 0 bytes/s, done.
Resolving deltas: 100% (33/33), done.
Checking connectivity... done.
=> Compressing and cleaning up git repository

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

サーバーをインストールした後を有効にする私たちのNVMコマンドを作る、それを再接続する必要があります。
ケースnodeJS#のNVMのlsコマンドのバージョンを確認します

$ [email protected] 

...

root@Jarvis:~# nvm ls
            N/A
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)

3、インストールnodeJS

$ nvm install node
#或者
$ nvm use v12.3.1
# 也可以用 以下命令 来指定默认版本
$ nvm alias default v112.3.1
# 最后 查看版本情况
$ nvm ls

root@Jarvis:~# nvm ls
->      v12.3.1
default -> node (-> v12.3.1)
node -> stable (-> v12.3.1) (default)
stable -> 12.3 (-> v12.3.1) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0 (-> N/A)
lts/dubnium -> v10.16.0 (-> N/A)
root@Jarvis:~# 

4、サービス・ノードを作成します

1、文書のコピーは、ポート番号3010修正、サンプルコードの公式サイトをnodeJS
2.サーバーののルートディレクトリにserver.jsファイルを作成します
$ VIM server.js
ペーストのサンプルコードを:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3010;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

3、保存を実行
$はノードserver.js
//ファイアウォール設定ubantu
$ sudoのviの/etc/iptables.up.rules
vimの入力を

-A INPUT -s 127.0.0.1 -p tcp --destination-port 3010 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -s 127.0.0.1 -p tcp --soruce-port 3010 -m state --state ESTABL
ISHED -j ACCEPT 
~                

すべてのiptablesのは、以前にサーバーを設定されていないので、オープン/etc/iptables.up.rulesファイルが空であるので、あなたは、コマンドラインで次のコマンドを実行することができます
iptablesのを無効にします

$sudo iptalbes -F
$sudo iptables -X
$sudo iptables -Z
$sudo iptables -P INPUT ACCEPT
v$sudo iptables -P OUTPUT ACCEPT
$sudo iptables -P FORWARD ACCEPT
$sudo modprobe -r ip_tables

そして、有効

# 本地进程 lo 的 INPUT 和 OUTPUT 链接,eth0 的 INPUT 链
$sudo iptables -A INPUT -i lo -j ACCEPT
$sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -jACCEPT
$sudo iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j LOG
$sudo iptables -A OUTPUT -o lo -j ACCEPT
#开放SSH端口22
iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
#开放Web端口80
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
#开放FTP端口21、20
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#删除FTP端口21、20
iptables -D INPUT -p tcp --dport 20 -j ACCEPT
iptables -D INPUT -p tcp --dport 21 -j ACCEPT

#允许loopback(不然会导致DNS无法正常关闭等问题)
IPTABLES -A INPUT -i lo -p all -j ACCEPT  (如果是INPUT DROP)
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT (如果是OUTPUT DROP)

#保存iptables规则
iptables-save > /etc/iptables.up.rules

$sudo modprobe ip_tables

#修改 /etc/network/interfaces ,添加下面末尾2行脚本
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/network/iptables.up.rules
post-down iptables-save > /etc/network/iptables.up.rules

iptables.up.rulesファイルでは、あなたがCOMMITの一番上の行に必要なルールを追加することができます

# Generated by iptables-save v1.4.21 on Sun Jun  2 17:45:31 2019
*filter
:INPUT ACCEPT [1:40]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [465:67402] 
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -m state --state INVALID,NEW -j LOG
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Sun Jun  2 17:45:31 2019

その後、保存し
WQ:

リロードiptablesの
$ sudoをiptablesの-復元</etc/iptables.up.rules

不要なサービスをオフにします

sudo ufw stop
sudo service nginx stop

オープンserver.jsは、nodeコマンドを使用してサービスを実行します

root@Jarvis:~# node server.js 
Server running at http://127.0.0.1:3010/

別の端末上のリモートサービスを再起動
し、コマンドラインを入力します。
http://127.0.0.1:3010カールディスカバリサービスが正常に開始されました

root@Jarvis:~# curl http://127.0.0.1:3010
Hello, World!
root@Jarvis:~# 

//ノードのデフォルトのバージョンと使用バージョンとして指定された
$ NVM利用v10.16.0 && NVMエイリアスデフォルト v10.16.0

おすすめ

転載: www.cnblogs.com/wjw-blog/p/10963327.html
おすすめ