カテゴリー: サーバ管理

  • Debian 9 Stretch で IP アドレスの固定化

    Debian 9 Stretch で IP アドレスの固定化

    普段は DHCP で問題ないのですが、Raspberry Pi をサーバ用途で使うことが多いため、IP アドレスを固定します。Debian 8 Jessie 以前とは方法が変っているため、注意が必要です。Raspbian で実行しています。

    編集するのは “/etc/dhcpcd.conf” です。今回は有線 LAN のみ設定するので、コメントアウトを外して次のように記述します。

    interface eth0
    static ip_address=192.168.0.100/24
    static routers192.168.0.1
    static domain_name_servers=192.168.0.1 8.8.8.8

    domain_name_servers は基本的に routers と同じにしておけばいいと思いますが、1.1.1.1(Cloudflare) や 8.8.8.8(Google) 等を使ってもいいでしょう。スペース区切りで複数指定できます。

    無線 LAN は interface wlan0 で設定できると思いますが未検証です。

  • Ubuntu 18.04 に apt で Nginx をインストールしたら “[emerg] socket() [::]:80 failed (97: Address family not supported by protocol)”

    Ubuntu 18.04 に apt で Nginx をインストールしたら “[emerg] socket() [::]:80 failed (97: Address family not supported by protocol)”

    IPv4 環境なのに IPv6 の設定があるために発生します。/etc/nginx 下に “:80” の記述があるファイルがないか grep してみます。

    $ grep -R ":80" /etc/nginx/*
    sites-available/default: listen [::]:80 default_server;
    sites-available/default:# listen [::]:80;
    sites-enabled/default: listen [::]:80 default_server;
    sites-enabled/default:# listen [::]:80

    ありました。Debian のお作法的に /etc/nginx/sites-enable/default => /etc/nginx/sites-available/default のシンボリックリンクになっているはずなので sites-available/default を編集します。

    $ sudo vi /etc/nginx/sites-available/default
    .....
    listen 80 default_server;
    - listen [::]:80 default_server;
    + # listen [::]:80 default_server;
    .....

    “listen [::]:80 default_server;” をコメントアウトして保存します。

    Nginx が正常に起動するか確認します。

    $ sudo systemctl start nginx
  • Ubuntu 18.04 で Apache2 の HTTP 待ち受けポートを変更する

    Ubuntu 18.04 で Apache2 の HTTP 待ち受けポートを変更する

    Debian 系統は同様の方法で行えると思います。

    “/etc/apache2/ports.conf” をエディタで開いて “Listen 80” を書き換えます。

    $ sudo vi /etc/apache2/ports.conf
    .....
    - Listen: 80
    + Listen: 8000
    ....

    編集後に Apache2 を再起動して設定を反映します。

    $ sudo systemctl restart apache

    または

    $ sudo apache2ctl reload

  • Ubuntu 18.04 に最新の Docker CE をインストール

    Ubuntu 18.04 に最新の Docker CE をインストール

    公式が用意している apt のリポジトリを登録して、普通に apt install するだけです。

    $ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    gnupg-agent \
    software-properties-common
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    $ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
    $ sudo apt update
    $ sudo apt install docker-ce

    一度、間違えて Debian のリポジトリを登録してしまいましたが、/etc/apt/sources.list を編集して該当行を消せば元に戻せます。

    docker-compose のインストール

    docker-compose の GitHub から最新版をダウンロードして、実行権限を与えます。以下は現時点での最新版 docker-compose 1.23.2 の場合です。

    $ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    $ sudo chmod +x /usr/local/bin/docker-compose

    参考

  • Vultr / WebARENA 最安プランで UnixBench 比較

    いくら軽量化した Linux といえど、最近はメモリ 512MB では物足りなく感じることも増えてきたので、料金ほぼそのままにメモリが倍である WebARENA への引越を検討したのがこの記事のきっかけです。

    Vultr は Cloud Compute $3.5 のインスタンスで Debian 9.8, WebARENA は VPS クラウド 360円のインスタンスで Ubuntu 18.04 です。どちらも CPU の割当ては 1 コアです。メモリは Vultr が 512MB で WebARENA は 1024MB なので倍違います。

    UnixBench の実行

    $ sudo apt update
    $ sudo apt install gcc make perl
    $ curl -O https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
    $ tar xvzf UnixBench5.1.3.tgz
    $ cd UnixBench
    $ ./Run

    Vultr $3.5

    BYTE UNIX Benchmarks (Version 5.1.3)
    System: dev.kuratsuki.net: GNU/Linux
    OS: GNU/Linux -- 4.9.0-8-amd64 -- #1 SMP Debian 4.9.110-3+deb9u6 (2018-10-08)
    Machine: x86_64 (unknown)
    Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
    CPU 0: Virtual CPU a7769a6388d5 (4788.9 bogomips)
    x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
    14:45:02 up 122 days, 7:32, 1 user, load average: 0.11, 0.04, 0.01; runlev el

    Benchmark Run: Sat Mar 16 2019 14:45:02 - 15:13:06
    1 CPU in system; running 1 parallel copy of tests
    Dhrystone 2 using register variables 23742739.1 lps (10.0 s, 7 samples)
    Double-Precision Whetstone 4097.1 MWIPS (10.0 s, 7 samples)
    Execl Throughput 3088.4 lps (29.9 s, 2 samples)
    File Copy 1024 bufsize 2000 maxblocks 544312.7 KBps (30.0 s, 2 samples)
    File Copy 256 bufsize 500 maxblocks 154755.4 KBps (30.0 s, 2 samples)
    File Copy 4096 bufsize 8000 maxblocks 1057265.1 KBps (30.0 s, 2 samples)
    Pipe Throughput 885230.4 lps (10.0 s, 7 samples)
    Pipe-based Context Switching 109034.4 lps (10.0 s, 7 samples)
    Process Creation 7718.8 lps (30.0 s, 2 samples)
    Shell Scripts (1 concurrent) 5671.4 lpm (60.0 s, 2 samples)
    Shell Scripts (8 concurrent) 733.8 lpm (60.0 s, 2 samples)
    System Call Overhead 655215.1 lps (10.0 s, 7 samples)
    System Benchmarks Index Values BASELINE RESULT INDEX
    Dhrystone 2 using register variables 116700.0 23742739.1 2034.5
    Double-Precision Whetstone 55.0 4097.1 744.9
    Execl Throughput 43.0 3088.4 718.2
    File Copy 1024 bufsize 2000 maxblocks 3960.0 544312.7 1374.5
    File Copy 256 bufsize 500 maxblocks 1655.0 154755.4 935.1
    File Copy 4096 bufsize 8000 maxblocks 5800.0 1057265.1 1822.9
    Pipe Throughput 12440.0 885230.4 711.6
    Pipe-based Context Switching 4000.0 109034.4 272.6
    Process Creation 126.0 7718.8 612.6
    Shell Scripts (1 concurrent) 42.4 5671.4 1337.6
    Shell Scripts (8 concurrent) 6.0 733.8 1223.0
    System Call Overhead 15000.0 655215.1 436.8
    ========
    System Benchmarks Index Score 880.3

    WebARENA 360円

    BYTE UNIX Benchmarks (Version 5.1.3)
    System: 6v1ct8z4: GNU/Linux
    OS: GNU/Linux -- 4.15.0-20-generic -- #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018
    Machine: x86_64 (x86_64)
    Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
    CPU 0: Intel Xeon E312xx (Sandy Bridge) (4400.0 bogomips)
    x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
    14:43:30 up 33 min, 1 user, load average: 0.23, 0.33, 0.28; runlevel 5

    Benchmark Run: Sat Mar 16 2019 14:43:30 - 15:11:36
    1 CPU in system; running 1 parallel copy of tests
    Dhrystone 2 using register variables 25630360.2 lps (10.0 s, 7 samples)
    Double-Precision Whetstone 4104.1 MWIPS (9.9 s, 7 samples)
    Execl Throughput 2701.9 lps (30.0 s, 2 samples)
    File Copy 1024 bufsize 2000 maxblocks 238080.4 KBps (30.0 s, 2 samples)
    File Copy 256 bufsize 500 maxblocks 63125.8 KBps (30.0 s, 2 samples)
    File Copy 4096 bufsize 8000 maxblocks 737936.9 KBps (30.0 s, 2 samples)
    Pipe Throughput 301805.1 lps (10.0 s, 7 samples)
    Pipe-based Context Switching 82337.4 lps (10.0 s, 7 samples)
    Process Creation 7315.9 lps (30.0 s, 2 samples)
    Shell Scripts (1 concurrent) 5463.5 lpm (60.0 s, 2 samples)
    Shell Scripts (8 concurrent) 719.2 lpm (60.0 s, 2 samples)
    System Call Overhead 253811.9 lps (10.0 s, 7 samples)
    System Benchmarks Index Values BASELINE RESULT INDEX
    Dhrystone 2 using register variables 116700.0 25630360.2 2196.3
    Double-Precision Whetstone 55.0 4104.1 746.2
    Execl Throughput 43.0 2701.9 628.4
    File Copy 1024 bufsize 2000 maxblocks 3960.0 238080.4 601.2
    File Copy 256 bufsize 500 maxblocks 1655.0 63125.8 381.4
    File Copy 4096 bufsize 8000 maxblocks 5800.0 737936.9 1272.3
    Pipe Throughput 12440.0 301805.1 242.6
    Pipe-based Context Switching 4000.0 82337.4 205.8
    Process Creation 126.0 7315.9 580.6
    Shell Scripts (1 concurrent) 42.4 5463.5 1288.6
    Shell Scripts (8 concurrent) 6.0 719.2 1198.6
    System Call Overhead 15000.0 253811.9 169.2
    ========
    System Benchmarks Index Score 602.3

    結果の比較

    項目VultrWebARENAVultr 基準
    Dhrystone 2 using register variables23742739.125630360.2108.0%
    Double-Precision Whetstone4097.14104.1100.2%
    Execl Throughput3088.42701.987.5%
    File Copy 1024 bufsize 2000 maxblocks544312.7238080.443.7%
    File Copy 256 bufsize 500 maxblocks154755.463125.840.8%
    File Copy 4096 bufsize 8000 maxblocks1057265.1737936.969.8%
    Pipe Throughput885230.4301805.134.1%
    Pipe-based Context Switching109034.482337.475.5%
    Process Creation7718.87315.994.8%
    Shell Scripts (1 concurrent)5671.45463.596.3%
    Shell Scripts (8 concurrent)733.8719.298.0%
    System Call Overhead655215.1253811.938.7%
    System Benchmarks Index Score880.3602.368.4%

    Vultr を基準として見ると、全体的にかなりの性能劣化となりました。メモリ量をとるか処理速度をとるか、悩ましいところです。

  • WebARENA VPS クラウド上の Ubuntu 18.04 でログイン(初期接続)できない

    WebARENA VPS クラウド上の Ubuntu 18.04 でログイン(初期接続)できない

    CentOS は root, Ubuntu は ubuntu でログインします。ページによっては root としか書かれていないので混乱します。

    OSroot ユーザ名
    CentOSroot
    Ubuntuubuntu

    キーペアの作成時、公開鍵に指定するのは ~/.ssh/authorized_keys に記載された ssh-rsa から始る行、丸ごとです。

    $ cat ~/.ssh/authorized_keys
    ssh-rsa AAAA.....(snipped).....8GL5qxX

    Ubuntu での root パスワードはホスト名そのものです。SSH でログインした時に表示されるホスト名、またはコントロールパネルでインスタンス名を確認して先頭の “i-” を除いたものになります。

    参考