Debian 8でNGINX、PHP-FPM、およびMariaDBをセットアップする

このガイドでは、NGINX、PHP Fast Process Manager、およびMariaDBを利用して、「代替」LAMPスタックをDebian 8に正しくインストールおよび構成する方法を示します。

NGINX

NGINXは「最初にリバースプロキシ、2番目にWebサーバー」です。これは、Apacheに代わる人気があり、成長している代替手段であり、多くのインスタンスで柔軟性とパフォーマンスが向上しています。このチュートリアルでは、それをWebサーバーとして使用します。

お気に入りのSSHクライアントを起動して、サーバーにログインします。Windowsユーザーの場合、「PuTTY」は無料で軽量なSSHクライアントです。LinuxおよびMacユーザーは、オペレーティングシステムにデフォルトで含まれているターミナルを使用できます。このチュートリアルでは、「root」ユーザーとしてサーバーにログインしていると想定します。

まず、すべてが最新であることを確認しましょう。次のように入力して、アップデートを確認してインストールします。

apt-get update && apt-get upgrade

vimで設定ファイルを編集します。Vimはデフォルトではインストールされないので、インストールしましょう!

apt-get install vim

NGINXをインストールします。NGINXの公式リポジトリから最新バージョンのNGINXをインストールしたいと思います。

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

ここで、NGINX構成をいくつか調整する必要があります。構成ディレクトリに移動します。

cd /etc/nginx

簡単なvimレッスン

矢印キーを使用して、テキストドキュメント内を移動します。編集を開始するには、キーボードの「挿入」ボタンを押します。キーボードに挿入ボタンがない場合は、「i」キーを押します。vimの下部に向かって、「INSERT」と表示されていることに気づくでしょう。挿入モードでは、バックスペースで削除したり、入力して新しい文字を挿入したりできます。

私たちnginx.confを開いて見てみましょう:

vi nginx.conf

デフォルトのユーザーを変更して、ワーカープロセスの数を確認し、アクセスログをオフにします。

ディレクティブ「user」と「worker_processes」は上部にあります。以下の値を試してください。

「worker_processes」を、サーバーで使用可能なCPUコアの数に設定する必要があることに注意してください。この例では、NGINXのデフォルトである1があります。

user www-data;
worker_processes 1;

また、I / Oパフォーマンスを向上させるために、アクセスログを無効にすることもできます。「access_log」が見つかるまで、矢印キーを使用して下に移動します。次のように変更します。

access_log off;

そして最後に、「client_max_body_size」を設定して、後でPHPに加えられたいくつかの変更に対応させます。面倒を省いて今すぐやりましょう。「access_log」のすぐ下に追加:

client_max_body_size 12m;

編集が完了したら、キーボードの「Esc」を押します。Vimはファイルの下部に向かって「挿入」と言うことはもうありません。

変更を保存してvimを終了するには、次のキーシーケンスを押します。

SHIFT :(colon)
wq
Press "Enter"

上記のvim kung fuは、変更をディスクに書き込んでvimを終了し、bashシェルに戻ります。

次に、この例ではサイト固有の構成を作成する必要があります。他の設定例も削除します。以下を試してください:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

www.confデフォルトのNGINX構成に大まかに基づいて、短くて簡単なものにしますが、いくつかの微調整を行います。挿入を押すと、以下の例をコピーして貼り付けることができます。

ウェブサイトのルートディレクトリを指すように「root」ディレクティブを編集し、ドメインに対応するように「server_name」を編集することを忘れないでください。

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

これで、このチュートリアルのNGINX構成セクションが完了しました。PHPをインストールした直後に、NGINXを少しだけ再起動します。

PHP-FPM

PHP-FPMはPHP Fast Process Managerです。Apacheとは異なり、NGINXはモジュールとしてPHPを実行しないため、NGINXを使用するときに必要です。これは、NGINXのメモリフットプリントを削減するために行われました。NGINXが何よりもまずリバースプロキシであることを覚えていますか?ここでそれが出てきます。NGINXに送信されたPHPリクエストは、PHP-FPMに送られ、面倒な作業が行われます。

PHP-FPMをインストールしましょう。

apt-get install php5-fpm php5-mysqlnd

PHPスクリプトの要件によっては、デフォルトでは含まれていない他のPHPモジュールをインストールする必要がある場合があります。人気のものがあるphp5-gdphp5-mcrypt。これらは次のコマンドでインストールできます。

apt-get install php5-module_name_here

PHP-FPMがインストールされたので、簡単な編集をいくつか行って、セキュリティと機能を強化します。

cd /etc/php5/fpm
vi php.ini

別のvimレッスンの時間です!php.iniファイルは絶対に巨大です。いくつかの重要な値を探すには、一日かかります。探しているものがわかっているので、検索します。次のように入力します。

/upload_max_filesize

デフォルトでは、2メガバイトに設定されています。ユーザーが2メガバイトを超えるファイルをPHPアプリケーションにアップロードできるようにする場合は、これを変更する必要があります。今のところ10Mはおそらく安全な賭けですが、より高い値も受け入れられます。この設定は構成によって異なります。チュートリアルのために:

upload_max_filesize = 10M

もう1つ目立つセキュリティの欠陥。少し下にスクロールするか、検索します。「allow_url_fopen」を「オフ」にする必要があります。これにより、REMOTELYでホストされているPHPファイル(RFI(Remote File Inclusion)とも呼ばれる)がPHPで実行されなくなります。多くのサーバーがこのようにハッキングされています。

allow_url_fopen = Off

また、「upload_max_filesize」を変更したため、「post_max_size」を変更する必要があります。PHPで処理されるリクエストに関連するオーバーヘッドを考慮する必要があるため、この値は「upload_max_filesize」より少し大きくする必要があります。

「/ post_max_size」でもう一度検索してみましょう。

post_max_size = 12M

PHPファイルのサイズとしてこれらの例よりも大きい値を使用する場合は、NGINX構成に戻って「client_max_body_size」を編集する必要があることに注意してください。

今のところはこれでおしまいです。「Esc」を押して、編集モードになっていないことを確認します。保存してvimを終了します。

SHIFT :(colon)
wq
Press 'Enter'

PHP-FPMのセットアップが完了しました。

MariaDB

NoSQLやMongoDBへの移行が進んでいる世界でも、MySQLを使い続ける方が簡単だと感じる人もいます。これは、多くのWebアプリケーションに特に当てはまります。幸いなことに、Oracle MySQLの「ドロップイン」代替品が多数存在します。Debian 8には、今までにない人気のMariaDBが含まれています。MariaDBは、バージョン5.5に基づくOracle MySQLのフォークです。MariaDBは、すべての意図と目的から、これをMariaDB 10と呼びます。これは、Oracle MySQLの完全な代替品と見なされます。それを中心にMySQLと考え、Oracleのブランド化といくつかの新機能を省きます。

apt-get install mariadb-server

重要: MariaDBの強力なrootパスワードを選択する必要があります。安全な場所に保存してください。MariaDBのインストール中に2回入力する必要があります。

MariaDBの設定を少し調整してみましょう。ネットワークインターフェイスを介して受信するMariaDBを無効にします。代わりに、以前のPHP-FPMと同様に、UNIXソケットのみを使用します。ほとんどのPHPアプリケーションは、ローカルループバックインターフェイスではなく、UNIXソケットを介したデータベースサーバーへの接続をサポートする必要があります。

cd /etc/mysql
vi my.cnf

「bind-address = 127.0.0.1」を探します。その行をコメントアウトします。その上または下に「スキップネットワーキング」を追加します。

#bind-address = 127.0.0.1
skip-networking

MariaDBはこれで完了です!最終的には、主にMyISAMまたはInnoDBストレージエンジンを使用するかどうか、およびサーバーで使用可能なCPUコアとRAMの数に応じて、MariaDB構成を微調整したい場合があります。デフォルトでは、その間に私たちを稼働させます。

このチュートリアルで構成ファイルが変更された各サービスを再起動してみましょう。

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

これで完了です。これですべて完了です。この時点で、完全に機能するLNMP(LEMP)サーバーがオンラインになります。

このガイドは、最小限の調整で上記のサービスを開始するための一般的な経験則として機能することでした。詳細については、上記のパッケージのドキュメントをお読みください。この設定例は「そのまま」で問題なく機能するはずですが、ニーズに合わせて調整を行うことができます。

調査する推奨領域:

  • NGINXのキャッシュ制御の利用と変更。
  • PHP-FPMの「静的」、「動的」、または「オンデマンド」のタスクマネージャー設定。
  • データベースサーバーを最大限に活用するためのMariaDBパフォーマンスチューニング。


Leave a Comment

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

はじめにWeb分散オーサリングおよびバージョン管理(WebDAV)は、リモートでファイルを作成および変更するためのフレームワークを提供するHTTP拡張です。

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

Debian 9にNeos CMSをインストールする方法

Debian 9にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

Debian JessieでCactiをセットアップする

Debian JessieでCactiをセットアップする

はじめにCactiは、RRDデータに完全に基づいたオープンソースの監視およびグラフ作成ツールです。サボテンを通じて、ほぼすべてのタイプのデビックを監視できます

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

Go(Golangとも呼ばれます)は、静的に型付けされ、コンパイルされた、Cのようなプログラミング言語で、Googleによって開発されました。シンプルさと多用途性により、b

Debian 8のFlash 5にPBXをインストールする

Debian 8のFlash 5にPBXをインストールする

PBX In A Flash 5(PIAF5)は、Vultr VPSを本格的なPBXに変えるDebian 8ベースのオペレーティングシステムです。次のような特徴があります。

Ubuntu 16.04およびDebian 9にTermRecordをインストールする方法

Ubuntu 16.04およびDebian 9にTermRecordをインストールする方法

別のシステムを使用していますか?TermRecordはPythonで記述されたシンプルなオープンソースツールで、ターミナルセッションを簡単に共有できる自己完結型に保存できます。

Debian 9にMatomo Analyticsをインストールする方法

Debian 9にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

X-Cart 5をDebian 10にインストールする方法

X-Cart 5をDebian 10にインストールする方法

別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです

MuninでDebianサーバーのステータスを監視する

MuninでDebianサーバーのステータスを監視する

Muninは、マシンのプロセスとリソースを調査する監視ツールであり、Webインターフェースを介して情報をグラフで表示します。フォローインを使用する

サーバーにIPアドレス範囲を追加する(CentOS / Ubuntu / Debian)

サーバーにIPアドレス範囲を追加する(CentOS / Ubuntu / Debian)

はじめにこのチュートリアルでは、CentOS、Debian、またはUbuntuを実行しているLinuxサーバーにIP範囲/サブネット全体を追加するプロセスについて説明します。プロセス

Debian 9のディアスポラでソーシャルネットワークを構築する

Debian 9のディアスポラでソーシャルネットワークを構築する

別のシステムを使用していますか?Diasporaはプライバシーを意識したオープンソースのソーシャルネットワークです。このチュートリアルでは、ディアスポラpoを設定する方法を学びます

Selfoss RSSリーダーをDebian 9 LAMP VPSにインストールする方法

Selfoss RSSリーダーをDebian 9 LAMP VPSにインストールする方法

別のシステムを使用していますか?Selfoss RSSリーダーは、無料でオープンソースのセルフホスト型のWebベースの多目的ライブストリーム、マッシュアップ、ニュースフィード(RSS / Atom)です。

UbuntuまたはDebianでApt-GetをIPv4またはIPv6に強制する

UbuntuまたはDebianでApt-GetをIPv4またはIPv6に強制する

ここVultrでは、デプロイ可能なすべてのVPSでIPv6を有効にするオプションがあります。しかし、これにより、一部のプログラムとコマンドはどちらか一方を優先する場合があります

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、