CentOS7でnginx+php-fpm+mariadbのWebサーバーを立てる

CentOS7でWebサーバーを組んでみます。
最近話題のnginx+mariadbの組み合わせで行きたいと思います。

CentOS7から標準のレポジトリに入るようになりましたの。
#yum install mariadb mariadb-server
DBの文字コードデフォルト設定は最低限行ったほうが良いです
mysqldセクションに文字コード設定を追記する
#vi /etc/my.cnf
[mysqld]
character-set-server=utf8

自動起動設定とmariadbの起動
# systemctl enable mariadb.service
# systemctl start mariadb.service

初期設定はmysql_secure_installationコマンドで対話式に行えます。
方法はmysqlとまったく同じです。

一応、これでMariaDBが動くようになったはずです。

次にnginxをインストールします。

#yum -y install yum-plugin-priorities
#yum -y groupinstall “Base” “Development tools” “Japanese Support”
#yum -y install epel-release
#yum –enablerepo=epel -y install nginx

起動時スタートと起動
#systemctl start nginx
#systemctl enable nginx

これでサーバーのIPアドレスにアクセスするとnginxのスタートページ表示されているはずです。
設定ファイルは
/etc/nginx/nginx.conf にあります

次にPHP とPHP-FPMのインストール、設定を行います。

#yum install -y epel-release
#rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# yum install -y yum install -y php php-fpm php-intl php-mbstring php-mysql php-pdo php-pear php-pecl-apc php-process php-xml php-xdebug php-xhprof php-opcache
# cp -a /usr/share/doc/php-common-5.4.16/php.ini-production /etc/php.ini
# sed -i “s|;date.timezone =|date.timezone = Asia/Tokyo|g” /etc/php.ini
# echo ‘xdebug.max_nesting_level = 250’ >> /etc/php.d/xdebug.ini

PHP-FPMに設定変更
# sed -i “s|user = apache|user = nginx|g” /etc/php-fpm.d/www.conf
# sed -i “s|group= apache|group= nginx|g” /etc/php-fpm.d/www.conf

Nginxコンフィグレーション変更
vi /etc/nginx/nginx.conf
server セクション内に追記
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}

PHP-FPMの起動設定とステータス確認
# systemctl enable php-fpm
# systemctl start php-fpm
# systemctl status php-fpm

PHPの動作確認
以下のファイルを作成して
/usr/share/nginx/html/info.php


ブラウザで http://(IP名)/info.php を開いてphpinfoが表示されればOK.
Server API FPM/FastCGI となっていることを確認。

用途に合わせた細かい設定はまだたくさんあると思いますが、とりあえず動作するところまでこぎつけました。

他に、セキュリティー関連の設定がいろいろ必要だと思います。
ファイヤーウォールも管理方法がCentOS6以前のものと方法が変わっています。
うまく動かない場合はselinuxが入っているかもしれませんので、いったんOFFにしてみましょう。

タイトルとURLをコピーしました