GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にHHVMとNginxを使用してWordPressをインストールする方法

HHVM(HipHop Virtual Machine)は、PHPおよびHack言語で記述されたプログラムを実行するためのオープンソースの仮想マシンです。 HHVMはFacebookによって開発されており、現在のPHP7バージョンのほとんどの機能を提供します。サーバーでHHVMを実行するには、FastCGIを使用してHHVMをNginxまたはApache Webサーバーに接続するか、HHVMに組み込まれている「Proxygen」というWebサーバーを使用できます。

このチュートリアルでは、WebサーバーとしてHHVMとNginxを使用してWordPressをインストールする方法を紹介します。オペレーティングシステムとしてCentOS7を使用するため、CentOSの基本的な知識が必要です。

前提条件

  • CentOS7-64ビット
  • root権限

ステップ1-SELinuxを設定してEpelリポジトリを追加します

このチュートリアルでは、SELinuxを強制モードで使用するため、システムにSELinux管理ツールをインストールする必要があります。 setoolsとsetrobleshootを使用してSELinuxポリシーを管理します。

デフォルトでは、SELinuxはCentOS 7で有効になっています。以下のコマンドで確認できます:

sestatus
getenforce

SELinuxが強制モードで有効になっていることがわかります。

次に、setoolsをインストールし、yumコマンドを使用してトラブルシューティングを行います。

yum -y install setroubleshoot setools net-tools

インストールが完了したら、EPELリポジトリをインストールできます。

yum -y install epel-release

ステップ2-Nginxをインストールする

Nginxまたはengine-xは、高性能でメモリ消費量が少ない軽量のWebサーバーです。 CentOSでは、yumを使用してNginxパッケージをインストールできます。 rootユーザーとしてログインしていることを確認してください!

CentOSリポジトリから次のyumコマンドを使用してnginxをインストールします:

yum -y install nginx

次に、Nginxを起動し、systemctlコマンドを使用して起動時に起動できるようにします。

systemctl start nginx
systemctl enable nginx

Nginxがサーバーで実行されていることを確認するには、ブラウザでサーバーのIPアドレスにアクセスするか、以下に示すようにcurlコマンドを使用して結果を取得します。

curl 192.168.1.110

ここで私のウェブブラウザでそれを確認します:

ステップ3-MariaDBをインストールして構成する

MariaDBは、元のMySQL開発者であるMonty Wideniusによって開発されたオープンソースデータベースであり、MySQLデータベースからフォークされていますが、主要な機能で互換性を維持しています。このステップでは、MariaDBをインストールし、MariaDBデータベースのルートパスワードを構成します。次に、WordPressのインストールに必要な新しいデータベースと新しいユーザーを作成します。

mariadbとmariadb-serverをインストールします:

yum -y install mariadb mariadb-server

MariaDBを起動し、起動時に自動的に開始されるサービスを追加します:

systemctl start mariadb
systemctl enable mariadb

MariaDBが開始されたので、mariadb/mysqlデータベースのルートパスワードを構成する必要があります。以下のコマンドを入力して、MariaDBルートパスワードを設定します。

mysql_secure_installation

要求されたら、MariaDBrootユーザーの新しいパスワードを入力します。

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 ... Success!

MariaDBルートパスワードが設定されました。次に、MariaDB / MySQLシェルにログインして、新しいデータベースを作成します "wordpressdb" および新しいユーザー"wpuser" パスワード"[メール保護]" WordPressのインストール用。インストール用の安全なパスワードを選択してください!

MariaDB / MySQLシェルにログインします:

mysql -u root -p
TYPE YOUR PASSWORD

新しいデータベースと新しいユーザーを作成します:

create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q

MariaDBがインストールされ、WordPressインストール用の新しいデータベースが作成されました。

ステップ4-HHVMをインストールする

HHVMのインストールでは、多くの依存関係をインストールする必要があります。 HHVMをソースからインストールするには、githubからソースをダウンロードするか、インターネットで入手できるビルド済みのパッケージをインストールします。このチュートリアルでは、ビルド済みのパッケージからHHVMをインストールします。

HHVMインストールの依存関係をインストールします

yum -y install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server libc-client make
>

次に、rpmコマンドを使用して、このサイトからHHVMビルド済みパッケージをインストールします。

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.2-1.el7.centos.x86_64.rpm
ln -s /usr/local/bin/hhvm /bin/hhvm

HHVMがインストールされているので、以下のコマンドで確認してください:

hhvm --version

phpコマンドを使用するために、hhvmコマンドをphpとして設定できます。したがって、シェルで「php」と入力すると、hhvmコマンドと同じ結果が表示されます。

sudo update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
php --version

ステップ5-HHVMを構成する

このステップでは、HHVMを構成します。 hhvmをsystemdサービスとして実行します。システムポートで実行する代わりに、より高速なunixソケットファイルでhhvmを実行します。

systemdディレクトリに移動し、hhvm.serviceファイルを作成します。

cd /etc/systemd/system/
vim hhvm.service

以下のサービス構成をそのファイルに貼り付けます。

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service

[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock

[Install]
WantedBy=multi-user.target

ファイルを保存してvimを終了します。

次に、hhvmディレクトリに移動し、server.iniファイルを編集します。

cd /etc/hhvm/
vim server.ini

7行目のhhvm.server.portを以下のUNIXソケット構成に置き換えます。

hhvm.server.file_socket = /var/run/hhvm/hhvm.sock

ファイルを保存してエディタを終了します。

hhvmサービスファイルでは、hhvmが「nginx」ユーザーで実行されていることを定義しているため、ソケットファイルディレクトリの所有者を「nginx」ユーザーに変更する必要があります。次に、hhvmディレクトリのSELinuxコンテキストを変更して、ソケットファイルへのアクセスを許可する必要があります。

chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

サーバーを再起動した後、ソケットファイル用のディレクトリがないため、hhvmは実行されません。そのため、起動時に自動的に作成する必要があります。

rc.localファイルをvimで編集します。

vim /etc/rc.local

以下の構成を行末に貼り付けます。

mkdir -p /var/run/hhvm/
chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

ファイルを保存してvimを終了します。ファイルを実行可能にします。

chmod +x /etc/rc.local

systemdサービスをリロードし、hhvmを起動して、起動時に開始するように追加します。

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

エラーがないことを確認してください。 netstatコマンドを使用して、hhvmがソケットファイルで実行されていることを確認します。

netstat -pl | grep hhvm

ステップ6-HHVMとNginxを構成する

このステップでは、NginxWebサーバーで実行するようにHHVMを構成します。 Nginxディレクトリに新しいhhvm構成ファイルを作成する必要があります。

/ etc / nginxディレクトリに移動し、hhvm.confファイルを作成します。

cd /etc/nginx/
vim hhvm.conf

以下に設定を貼り付けます:

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

保存して終了します。

次に、nginx.confファイルを編集し、hhvm構成インクルード行を追加します。

vim nginx.conf

サーバーディレクティブの57行目に構成を追加します。

include /etc/nginx/hhvm.conf;

保存して終了します。

次に、hhvm構成ファイルのSELinuxコンテキストを変更します。

semanage fcontext -a -t httpd_config_t /etc/nginx/hhvm.conf
restorecon -v /etc/nginx/hhvm.conf

Nginx構成をテストし、サービスを再起動します。

nginx -t
systemctl restart nginx

エラーがないことを確認してください。

ステップ7-HHVMとNginxを使用して仮想ホストを作成する

このステップでは、Nginxとhhvmを使用して新しい仮想ホスト構成を作成します。ドメイン名を使用します"natsume.co" この例では。独自のドメイン名を使用して、構成ファイルとWordPressのインストールで表示されている場所に置き換えてください。

仮想ホストファイルを保存するnginxconf.dディレクトリに移動します:

cd /etc/nginx/conf.d/

vimで新しい構成「natsume.conf」を作成します:

vim natsume.conf

以下に仮想ホスト構成を貼り付けます:

server {
    listen       80;
    server_name  natsume.co;

    # note that these lines are originally from the "location /" block
    root   /var/www/hakase;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /50x.html {
        root /var/www/hakase;
    }

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

保存して終了します。

仮想ホスト構成では、ドメイン名のWebルートディレクトリを「/ var / www/hakase」ディレクトリに定義しました。そのディレクトリはまだ存在しないため、ディレクトリを作成し、所有権をnginxユーザーとグループに変更する必要があります。

mkdir -p /var/www/hakase
chown -R nginx:nginx /var/www/hakase

次に、ファイルとディレクトリのSELinuxコンテキストを設定します。

semanage fcontext -a -t httpd_config_t "/etc/nginx/conf.d(/.*)?"
restorecon -Rv /etc/nginx/conf.d

最後に、nginx構成をテストしてエラーがないことを確認してから、nginxを再起動します。

nginx -t
systemctl restart nginx

ステップ8-WordPressをインストールする

ステップ5では、WordPressインストール用の仮想ホスト構成を作成しました。これで、WordPressをダウンロードし、手順3で作成したデータベースとユーザーを使用してデータベース構成を編集する必要があります。

Webルートディレクトリ「/var/ www / hakase」に移動し、wgetコマンドを使用してWordPressをダウンロードします。

cd /var/www/hakase
wget wordpress.org/latest.tar.gz

「latest.tar.gz」を抽出し、すべてのWordPressファイルとディレクトリを現在のディレクトリに移動します:

tar -xzvf latest.tar.gz
mv wordpress/* .

次に、「wp-config-sample.php」ファイルを「wp-config.php」にコピーし、vimで編集します。

cp wp-config-sample.php wp-config.php
vim wp-config.php

DB_NAMEを"wordpressdb"に設定します 、DB_USERから "wpuser" およびDB_PASSWORDを"[メールで保護]"

define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '[email protected]');
define('DB_HOST', 'localhost');

保存して終了します。

WordPressディレクトリのSELinuxコンテキストを変更します。

semanage fcontext -a -t httpd_sys_content_t "/var/www/hakase(/.*)?"
restorecon -Rv /var/www/hakase

次に、Webブラウザーを開いて、ワードプレスドメインのドメイン名をアドレスバーに入力します。私の名前は「natsume.co」です。

英語を選択し、[続行]をクリックします '。

サイトのタイトルと説明に情報を入力し、[Wordpressのインストール]をクリックします。

インストールが完了するまで待ちます。以下のページが表示されます。[ログイン]をクリックして、WordPress管理ダッシュボードにログインします。

管理者ユーザーとパスワードを入力し、もう一度[ログイン]をクリックします。

これで、WordPress管理ダッシュボードが表示されます。

Wordpressのホームページ。

CentOS7にNginxとHHVMを搭載したWordpressが正常にインストールされました。


Cent OS
  1. Nginxを使用してCentosVPSにWordPressマルチサイトをインストールする方法

  2. Nginx、PHP-FPM、MariaDBを使用してCentOS7にMagentoをインストールします

  3. Ubuntu 12.04 LTSにHHVM、Nginx、MariaDBを使用してWordPressをインストールする

  1. CentOS7にNginxを使用してWordPressをインストールする方法

  2. CentOS8にNginxとPHP7.3でNextcloudをインストールする方法

  3. OpenSUSELeap42.1にHHVMとNginxを使用してWordPressをインストールする方法

  1. CentOS7にNginxとMariaDBを使用してownCloud9.1をインストールする方法

  2. CentOS7にNginxとPHP7-FPMを使用してNextcloudをインストールする方法

  3. CentOS7にNginxとPHP-FPM7.1を使用してLaravel5.xをインストールする方法