GNU/Linux >> Linux の 問題 >  >> OpenSuse

OpenSUSE Leap 15.3にPHPとNginx(LEMP)をインストールしてセットアップする方法

PHPは、Web開発を対象とした汎用スクリプト言語です。これは、Webで人気のあるプログラミング言語の1つです。 WordPressなどの人気のあるツールはphpを使用してコーディングされています。 Facebookのような大企業もphpを多用しています。

Nginxは、リバースプロキシ、ロードバランサー、メールプロキシ、HTTPキャッシュとしても使用できるWebサーバーです。これは、最大のパフォーマンスと安定性を実現するように設計されたWebサーバーとして始まりました。 Nginxは、リソースの使用率が軽量で、最小限のハードウェアで簡単に拡張できるため、リリース以来人気が高まっています。 Nginxは静的コンテンツをすばやく提供することに優れており、動的リクエストをそれらの目的により適した他のソフトウェアに渡すように設計されています。

関連コンテンツ

  • OpenSUSE Leap 15.3にPHPとApache(LAMPスタック)をインストールしてセットアップする方法
  • Rocky Linux /Centos8にApachePHP7.4(LAMP)スタックをインストールする方法
  • Ubuntu 20.04にPHPとApache(LAMPスタック)をインストールしてセットアップする方法
  • Ubuntu 20.04にPHPとNginx(LEMP)をインストールしてセットアップする方法
  • Debian 11にPHPとApache(LAMPスタック)をインストールしてセットアップする方法
  • Debian 11にPHPとNginx(LEMP)をインストールしてセットアップする方法
  • Rocky Linux / Alma Linux 8にPHPとNginx(LEMP)をインストールしてセットアップする方法

目次

  1. サーバーが最新であることを確認する
  2. OpenSUSELeap15.3へのPHPのインストール
  3. OpenSUSELeap15.3へのNginxのインストール
  4. OpenSUSELeap15.3へのphp-fpmのインストール
  5. 単純なサイトの作成と仮想ホストの構成
  6. 構成のテスト

1。サーバーが最新であることを確認する

先に進む前に、サーバーが最新であることを確認することをお勧めします。これを実現するには、これらのコマンドを使用してください

sudo zypper refresh
sudo zypper update -y

2。 OpenSUSELeap15.3へのPHPのインストール

PHPは、デフォルトのOpenSUSEリポジトリで利用できます。このブログを書いている時点でのPHPの最新バージョンはPHP7.4です。

次のコマンドを使用して、PHPといくつかの一般的なパッケージをインストールします。

sudo zypper install -y \
    php \
    php-cli

インストールされているPHPのバージョンを確認してください

~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...


Information for package php7:
-----------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : php7
Version        : 7.4.6-3.29.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary        : Interpreter for the PHP scripting language version 7
Description    :
    PHP is a server-side HTML embedded scripting language designed
    primarily for web development but also used as a general-purpose
    programming language.

    This package contains the standard implementation of PHP, namely Zend
    PHP. Included are the PHP command-line binary and the configuration
    file (php.ini). This package must be installed in order to use PHP.
    Additionally, extension modules and server modules (e.g. for Apache)
    may be installed.

    Additional documentation is available in package php-doc.

次のコマンドを使用して、インストールされているphpのバージョンを確認します。

~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

3。 OpenSUSELeap15.3へのNginxのインストール

PHPコンテンツを提供するためにNginxを使用します。 Nginxは、安定した高性能Webサーバーであり、リソースの消費量が非常に少ないため、PHP-FPMに最適です。 Nginxには、イベントに基づいてはるかにスケーラブルな非同期アーキテクチャがあります。

NginxはデフォルトのUpenSUSEリポジトリで利用できます。次のコマンドを使用してインストールします:

sudo zypper install -y nginx

インストールされているnginxを確認します

~> zypper info nginx
Loading repository data...
Reading installed packages...


Information for package nginx:
------------------------------
Repository     : Main Repository
Name           : nginx
Version        : 1.19.8-3.6.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 2.2 MiB
Installed      : Yes
Status         : up-to-date
Source package : nginx-1.19.8-3.6.1.src
Summary        : A HTTP server and IMAP/POP3 proxy server
Description    :
    nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
    It has been running on many heavily loaded Russian sites for more than two years.

インストールされたNginxサービスはデフォルトでは開始されません。サービスを開始するには、次のコマンドを使用します:

sudo systemctl start nginx

次のコマンドを使用して、サービスが稼働していることを確認します。

~> sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-12-20 18:56:15 UTC; 36s ago
    Process: 31740 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 31741 (nginx)
      Tasks: 2 (limit: 4587)
     CGroup: /system.slice/nginx.service
             ├─31741 nginx: master process /usr/sbin/nginx -g daemon off;
             └─31742 nginx: worker process

Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Started The nginx HTTP and reverse proxy server.

起動時にサービスを有効にするには、次のコマンドを使用します:

sudo systemctl enable nginx

4。 OpenSUSELeap15.3へのPHPFPMのインストール

PHP-FPM(FastCGI Process Managerの頭字語)は、非常に人気のある代替PHP(Hypertext Processor)FastCGI実装です。 PHP-FPMは、PHPFastCGIの最も一般的な代替実装です。トラフィックの多いWebサイトに非常に役立つ追加機能があります。 PHP-FPMでNginxを使用すると、メモリ消費レベルでのパフォーマンスが向上します。

PHP-FPMを使用する場合、PHPは個別のサービスとして実行されます。このPHPバージョンを言語インタープリターとして使用することにより、要求はTCP/IPソケットを介して処理されます。 Nginx WebサーバーがHTTPリクエストのみを処理し、PHP-FPMがPHPコードを解釈するようにします。 2つの別々のサービスがあるという事実は、効率を高めるための鍵です。

次のコマンドを使用してphp-fpmをインストールします:

sudo zypper install -y php-fpm

デフォルトの設定ファイルをコピーする

sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

デフォルトでは、サービスは開始されません。次のコマンドを使用してphp-fpmを起動します:

sudo systemctl start php-fpm

次のコマンドを使用してステータスを確認します:

~> sudo systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-12-20 08:56:16 UTC; 21s ago
   Main PID: 24608 (php-fpm)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 4587)
     CGroup: /system.slice/php-fpm.service
             ├─24608 php-fpm: master process (/etc/php7/fpm/php-fpm.conf)
             ├─24609 php-fpm: pool www
             └─24610 php-fpm: pool www

Dec 20 08:56:16 ip-10-2-40-44 systemd[1]: Starting The PHP FastCGI Process Manager...
Dec 20 08:56:16 ip-10-2-40-44 systemd[1]: Started The PHP FastCGI Process Manager.

起動時にphp-fpmを有効にするには、次のコマンドを使用します:

sudo systemctl enable php-fpm

5。簡単なサイトの作成と仮想ホストの構成

Nginxを使用すると、仮想ホストを使用して複数のサイトにサービスを提供できます。仮想ホストの概念により、1つのシステムまたはWebサーバー上に複数のWebサイトを配置できます。サーバーは、ホスト名によって区別されます。 Webサイトへの訪問者は、ホスト名またはIPアドレスによって正しい仮想ホストにルーティングされます。仮想ホスティングにより、1台のサーバーを共有する企業はそれぞれ独自のドメイン名を持つことができます。

この例では、仮想ホストにドメインsite1.citizix.comを使用しますが、選択したドメインを自由に使用できます。使用するドメインのDNSは、サーバーのIPアドレスを指すようにすでに構成されている必要があることに注意してください。確認:

dig -t A site1.citizix.com

ディレクトリの作成とサンプルコンテンツの追加

nginxのデフォルトページは、/ var/www/htmlのコンテンツを提供するデフォルトの仮想ホストとして構成されています 。 /var/www にサイトのディレクトリを作成することをお勧めします そこからサービスを提供するためのベストプラクティス以来、ディレクトリ。

次のコマンドを使用して、サイトのディレクトリを作成しましょう。

sudo mkdir /var/www/site1.citizix.com

簡単なindex.phpを作成しましょう 当サイトから提供するページ。次のコマンドを使用しない場合、これを機能させるにはvimをインストールする必要があります:

sudo zypper install -y vim

ファイルを編集します:

sudo vim /var/www/site1.citizix.com/index.php

ファイルにコンテンツを追加します:

<?php phpinfo(); ?>

仮想ホスト(サーバーブロック)の作成

Nginxサーバーブロックを使用して、構成の詳細をカプセル化し、単一のサーバーで複数のドメインをホストできます。サイト(site1.citizix.com)の仮想ホストを作成します。

Nginx仮想ホストの構成は、ディレクトリ/etc/nginx/conf.d/に保存されます 。私たちのサイトの構成を作成しましょう:

sudo vim /etc/nginx/conf.d/site1.citizix.com.conf

次のコンテンツを追加します

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name site1.citizix.com;

    access_log /var/log/nginx/site1.citizix.com.log;
    error_log  /var/log/nginx/site1.citizix.com.log;

    root /var/www/site1.citizix.com;
    index index.php;

    if ($host !~* ^(site1.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_read_timeout 600;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

構成を適用するためにnginxおよびphp-fpmサービスを再起動しましょう

sudo systemctl restart php-fpm
sudo systemctl restart nginx

6。構成のテスト

構成をテストするには、ブラウザを開き、設定したドメインを読み込みます。私の場合はhttp://site1.citizix.comです。 PHP情報ページが表示されます。

DNS設定をまだ構成していない場合、または単にサイトを公開したくない場合は、コンピューターのhostsファイルを変更できます。これを行うには、ローカルコンピューターのCLIで次のコマンドを使用します

sudo vim /etc/hosts

次に、実際のサーバーのIPアドレスに続けて、構成しているドメイン名を追加します。例:

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

これで、ファイルを保存して、Webブラウザ内からアクセスできるようになります。

結論

Nginx仮想ホストまたはserver ブロックは、同じオリジンサーバーにWebサイトを追加するための優れた方法です。サイトの特定のニーズに合わせて仮想ホスト構成ファイルを変更し始めると、特定のサイトの構成の可能性はほぼ無限に広がります。

このガイドでは、OpenSUSELeap15.3でphpコンテンツを提供するように仮想ホストを設定する方法を学びました。


OpenSuse
  1. openSUSE12.1にPHP-FPMとMySQLを使用してNginxをインストールする方法

  2. OpenSUSELeap15.3でPodmanをインストールして使用する方法

  3. Debian 11にPHPとNginx(LEMP)をインストールしてセットアップする方法

  1. Ubuntu 20.04にPHPとNginx(LEMP)をインストールしてセットアップする方法

  2. OpenSUSE Leap 15.3にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

  3. Rocky Linux / Alma Linux 8にPHPとNginx(LEMP)をインストールしてセットアップする方法

  1. Nginxをプロキシとしてインストールおよび設定する方法OpenSUSELeap15.3

  2. OpenSUSELeap15.3にMariadb10をインストールして構成する方法

  3. OpenSUSELeap11にSquidProxyをインストールして設定する方法