tag:crieit.net,2005:https://crieit.net/tags/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC/feed
「サーバー」の記事 - Crieit
Crieitでタグ「サーバー」に投稿された最近の記事
2021-05-17T15:08:06+09:00
https://crieit.net/tags/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC/feed
tag:crieit.net,2005:PublicArticle/17149
2021-05-17T15:08:06+09:00
2021-05-17T15:08:06+09:00
https://crieit.net/posts/8ea24ff9ebb183396a970190798b576f
サーバーのパーツ
<h2 id="サーバを構成するパーツについて"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E6%A7%8B%E6%88%90%E3%81%99%E3%82%8B%E3%83%91%E3%83%BC%E3%83%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">サーバを構成するパーツについて</a></h2>
<p>主に4つのパーツで構成されている。</p>
<p>・CPU<br />
・メモリ<br />
・ディスク<br />
・電源ユニット</p>
<hr />
<h2 id="CPUについて"><a href="#CPU%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">CPUについて</a></h2>
<p>・コンピューター の頭脳と呼ばれる。</p>
<p>CPUを選ぶ際に注目すべき点は主に3つある。</p>
<p>1.クロック周波数と世代<br />
→クロック周波数が高いほど、処理速度は向上する。<br />
だが、現代ではマルチコアが主流なため、CPUのコア数が性能を大きく左右するため、あまり重視されない。そして、同じ周波数でも世代が新しくなるほど性能は向上する。</p>
<p>2.コア数<br />
→CPUの核で処理部分。<br />
2個=デュアルコア<br />
2個=:クアッドコア<br />
10個=メニーコア</p>
<p>3.キャッシュメモリ<br />
→CPUがプログラムを直接低速なディスクやメモリからアクセスすると本来の性能が出せない。<br />
この速度差による性能低下を抑えるため、CPUがアクセスするデータの一部を高速なキャッシュメモリに蓄える。</p>
<hr />
<h2 id="メモリ"><a href="#%E3%83%A1%E3%83%A2%E3%83%AA">メモリ</a></h2>
<p>・主記憶装置<br />
→キャッシュメモリに収まらないデータを格納するための装置。データの読み書き速度は補助記憶装置より早いがキャッシュメモリより遅い。</p>
<p>・補助記憶装置<br />
→容量は多いが、高値。</p>
<p>速度の順は、<br />
キャッシュメモリ>メモリ>ディスク<br />
となる。</p>
<hr />
<h2 id="ディスク"><a href="#%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF">ディスク</a></h2>
<p>・OSやアプリケーションプログラム、データを格納する装置。<br />
キャッシュメモリやメモリと違い、電源を切ってもデータは失われないが、読み書きは低速。</p>
<p>ディスクの種類<br />
■ハードディスク(磁気でデータを記録)</p>
<p>・SATAハードディスク<br />
→ PC用のディスク<br />
・1日8時間程度の稼働を想定。<br />
・安くて大容量だが低速 <br />
・アクセス頻度の低いデータの保存ならサーバーで利用しても問題なし。 </p>
<p>・SASハードディスク<br />
→サーバ用のディスク<br />
・365日24時間の稼働を想定<br />
・SSDより安くSATAより高速<br />
・一般的なサーバに最適</p>
<p>■SSD(半導体でデータを記録)</p>
<p>・SSD(Solid state Drive)<br />
→・SATA、SAS、NVMeの<br />
接続規格に対応したものがある<br />
・ハードディスクよりかなり高価だが<br />
圧倒的に高速<br />
・高速なデータアクセスが要求される用途に最適</p>
<hr />
<p>ただのまとめだが、追加があれば書き足していこうと思う。</p>
TFI
tag:crieit.net,2005:PublicArticle/14237
2017-12-19T06:24:49+09:00
2018-10-24T21:37:00+09:00
https://crieit.net/posts/Systemd-Phoenix
Systemdを使ったPhoenixの本番デプロイ詳細例
<p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/advent-calendar/2017/elixir">Elixir Advent Calendar 2017 - Qiita</a></p>
<p>19日目。</p>
<p>サーバーを準備し、コンテナを使わずに運用できるところまでの準備まで一通りまとめてみた。<br />
Systemdで動作させる。</p>
<p>(以前残したログをまとめているだけなので正確でない可能性あり)</p>
<h3 id="前提"><a href="#%E5%89%8D%E6%8F%90">前提</a></h3>
<ul>
<li>Elixir1.5</li>
<li>Phoenix1.3</li>
<li>Debian</li>
</ul>
<h3 id="初期設定"><a href="#%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A">初期設定</a></h3>
<p>最初だけ本番で調整したものをコミットしたりもするのでgitもちょっと設定。</p>
<pre><code class="sh">sudo apt-get update
sudo apt-get install -y git dbus
sudo timedatectl set-timezone Asia/Tokyo
git config --global user.name "name"
git config --global user.email "email"
</code></pre>
<h3 id="Elixir & Phoneix & Node.js"><a href="#Elixir+%26amp%3B+Phoneix+%26amp%3B+Node.js">Elixir & Phoneix & Node.js</a></h3>
<pre><code class="sh">curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install -y nodejs inotify-tools esl-erlang elixir
mix local.hex --force
mix local.rebar --force
mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez --force
sudo apt-get install --reinstall build-essential
</code></pre>
<h3 id="DB"><a href="#DB">DB</a></h3>
<p>MySQLとかPostgreSQLとか。<br />
普通は別サーバーだろうし省略。</p>
<h3 id="ビルド"><a href="#%E3%83%93%E3%83%AB%E3%83%89">ビルド</a></h3>
<p>ssh-keygenかtokenかでcloneできるように準備。<br />
適当なので環境変数とかユーザーは適宜いい感じにしてもらった方が良いかもしれない。</p>
<pre><code class="sh">git clone ********.git
cd appdir
mix deps.get --only prod
sudo MIX_ENV=prod mix compile
cd assets
npm install
sudo npm install -g brunch
brunch build --production
cd ..
sudo MIX_ENV=prod mix phx.digest
sudo MIX_ENV=prod mix ecto.migrate
sudo MIX_ENV=prod mix phx.server
</code></pre>
<p>とりあえずここまでで動くか確認する。</p>
<h3 id="Let's Encrypt"><a href="#Let%27s+Encrypt">Let's Encrypt</a></h3>
<p>省略。下記の記事に一応詳細は書いてある。</p>
<p><a target="_blank" rel="nofollow noopener" href="http://alphabrend.hatenablog.com/entry/2017/10/10/214222">PhoenixでLet's EncryptによるSSL - アルファブレンド プログラミングチップス</a></p>
<h3 id="Systemd"><a href="#Systemd">Systemd</a></h3>
<pre><code class="sh">sudo vi /etc/systemd/system/myapp.service
</code></pre>
<pre><code class="ini">[Unit]
Description=My app
[Service]
WorkingDirectory=/home/username/appdir
Restart=always
Environment=MIX_ENV=prod HOME=/root
ExecStart=/usr/local/bin/mix phx.server
[Install]
WantedBy=multi-user.target
</code></pre>
<pre><code class="sh">sudo systemctl enable cybozulive
sudo systemctl start cybozulive
</code></pre>
<h3 id="運用"><a href="#%E9%81%8B%E7%94%A8">運用</a></h3>
<p>pull, compile, brunch build, digest, migrate, restart</p>
だら@Crieit開発者
tag:crieit.net,2005:PublicArticle/14291
2016-10-28T05:27:01+09:00
2018-10-25T22:16:08+09:00
https://crieit.net/posts/Linux-Mint18-apache2-4-php7
Linux Mint18でapache2.4とphp7
<p>Linux Mint18でapache2.4とphp7を使うとエラーが起きた。</p>
<p>phpMyAdminを使おうと設置して閲覧すると、phpのソースがそのまま表示された。<br />
phpのモジュールがロードされてないっぽいので調べてみると、<br />
/etc/apache2のmods-availableにはphp7関連ファイルがあるのだがmods-enabledの方にはない。<br />
有効にするにはシンボリックリンクを貼ると良いようなのでphp7.0.loadとphp7.0.confをリンクする。</p>
<p>すると、apacheを再起動時にエラーが発生するようになってしまった。<br />
configtestをしてみると、下記のメッセージが表示されていた。</p>
<pre><code>Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe
</code></pre>
<p>調べてみると、どうもapt-getでインストールしたphpは今回のapacheの設定に合っていないらしい。<br />
なのでMPMをeventからpreforkに変更するため、<br />
mods-enabledからmpm_event.conf, mpm_event.loadを削除し、<br />
代わりにmpm_prefork.conf, mpm_prefork.loadのシンボリックリンクを貼る。</p>
<p>これで再起動で動作した。</p>
だら@Crieit開発者
tag:crieit.net,2005:PublicArticle/14330
2015-10-08T16:10:13+09:00
2018-10-30T16:05:15+09:00
https://crieit.net/posts/XAMPP-mailoutput
XAMPPのmailoutputを閲覧するプログラム
<p>XAMPPのデフォルトのメール送信はmailtodiskになっており、<br />
実際にはメールは飛ばず隣のmailoutputというフォルダに<br />
メールが保存される仕組みになっている。<br />
ローカルで開発を行う際にはテストでメールがいっぱい飛ぶと厄介なので<br />
メールが飛ばないのは意外と便利だったりする。</p>
<p>中身が一部エンコードされていたりするので、<br />
解析して閲覧できるツールを適当に作ってみた。<br />
あくまで自分で使う用。<br />
<a target="_blank" rel="nofollow noopener" href="https://github.com/dala00/MailoutputViewer">MailoutputViewer</a></p>
だら@Crieit開発者
tag:crieit.net,2005:PublicArticle/14440
2010-06-05T09:00:00+09:00
2018-09-27T16:12:48+09:00
https://crieit.net/posts/swfmill-5b0d18bdbf918
さくらサーバーにswfmillをインストール
<p>さくらサーバーにswfmillをインストールした備忘録。<br />
プランはビジネスの安い方。</p>
<p>swfmillをダウンロードしてインストールしますが、<br />
最新バージョンはlite用パッチが上手くきかないので0.2.12を使う。</p>
<blockquote>
<p>|sh|<br />
wget http://swfmill.org/releases/swfmill-0.2.12.tar.gz<br />
tar xzf swfmill-0.2.12.tar.gz<br />
cd swfmill-0.2.12<br />
wget http://lab.klab.org/files/flash/encoding.patch<br />
patch -p1 < encoding.patch<br />
||<br />
configureは自分のディレクトリのパスを指定。<br />
|sh|<br />
./configure –-prefix=/home/username<br />
||<br />
エラーがでるのでソースを修正。<br />
src/gSWFParseXML.cppの31行目<br />
|cpp|<br />
size_t r = iconv(cd, (const char<strong>)&pin, &inbytesleft, &pout, &outbytesleft);<br />
||<br />
src/gSWFWriteXML.cppの31行目<br />
|cpp|<br />
size_t r = iconv(cd, (const char</strong>)&pin, &inbytesleft, &pout, &outbytesleft);<br />
||<br />
libpngのバージョンが合わない場合は下記も修正。<br />
pngは自分で用意するならチェックいらないだろう…という勝手な前提。<br />
src/swft/readpng.cの72行目<br />
|cpp|<br />
// if (!png_check_sig(sig, )<br />
// return 1; /* bad signature */<br />
||<br />
これでmake & make installで、phpから起動してみたらxmlが出力されたところまでは確認。<br />
あとは未確認。</p>
</blockquote>
だら@Crieit開発者