[CentOS7][nginx][PHP7.3]Laravelをインストールしてみた。

いくつか躓いたので手順を残しておく。

既に運用済みのドメイン配下のディレクトリhogeで動作するようにした。

まずは必要なライブラリのインストール

yum -y install --enablerepo=remi,remi-php73 php-devel php-pecl-zip

composerのインストール

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php 
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
composer global require "laravel/installer=~1.1"

nginxの設定

location ^~ /hoge{
    alias /var/www/hoge/public;
    try_files $uri $uri/ @laravel;
    index index.php;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /var/www/hoge/public/index.php;
    }
}
    
location @laravel {
    rewrite /hoge/(.*)$ /hoge/index.php?/$1 last;
}

 

Laravelのインストール

~/.config/composer/vendor/bin/laravel new hoge
chown -R nginx:nginx hogehoge
systemctl restart nginx

Laravelの設定

vim /var/www/hogehoge/.env

APP_KEYに32桁のランダムな文字列を設定

その他環境に応じて設定

ブラウザでアクセスしてLaravelの画面が表示できたら成功。

[CentOS7][Nginx][PHP]7.3をインストール

WordPressで推奨されるPHPのバージョンが7.3以上だったので重い腰を上げてバージョンアップをした。

PHPを全部削除

yum remove php*

7.3をインストール

yum -y --enablerepo=remi-php73,epel install php-fpm php-gd php-gmp php-mbstring php-mcrypt php-opcache php-pdo php-pear-MDB2-Driver-mysqli php-pecl-memcached php-pecl-msgpack php-xml

実行ユーザーがデフォルトだとapacheなのでnginxへ変更

vim /etc/php-fpm.d/www.conf
-user = apache
+user = nginx

-group = apache
+group = nginx

php-fpmを再起動および、バージョンの確認

systemctl restart php-fpm
php -v

ここまでで問題なければ終了。

PHP実行環境高速化

はじめに

PHP自体のバージョンアップとキャッシュ環境の設定をする。

手順

remiリポジトリからPHP最新版(7.2.11)とopcache、apcuをインストールする。

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install --enablerepo=remi,remi-php72 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql
yum install --enablerepo=remi,remi-php72 php-fpm
yum install --enablerepo=remi,remi-php72 php-opcache php-pecl-apcu
systemctl restart php-fpm
systemctl restart nginx