LoginSignup
0

posted at

updated at

[Laravel-adminを導入しよう!その2] CentOS Stream8にNginx、PHPをインストールする

  1. [Laravel-adminを導入しよう!その1] ConoHa VPSにCentOS Stream8をインストールしVSCodeでSSH接続できるようにする - Qiita
  2. [Laravel-adminを導入しよう!その2] CentOS Stream8にNginx、PHPをインストールする - Qiita ←本記事
  3. [Laravel-adminを導入しよう!その3] CentOS Stream8にLaravel9(PHP8、Nginx、MariaDB)をインストールする - Qiita
  4. [Laravel-adminを導入しよう!その4] [CentOS Stream8 & Nginx] 無料のSSL証明書「Let's Encrypt」でSSL化する - Qiita
  5. [Laravel-adminを導入しよう!その5] Laravel-adminをインストールしSSL化する - Qiita

概要

本シリーズは、VPS上に構築したCentOSに、IT資産管理ツールを構築することを最終目的としています。
IT資産管理ツールのUIは、Laravelの管理画面ライブラリである「Laravel-admin」を使用する予定です。
前回の記事では、VPS上のCentOSにSSH接続できるようにするところまでを説明しました。
今回は、NginxとPHPをインストールしてWebサーバーを構築します。

サーバー構成

OS: CentOS Stream8
Nginx: 1.20.2
PHP: 8.1.5

事前設定

# タイムゾーンをAsia/Tokyoに変更
sudo timedatectl set-timezone Asia/Tokyo
# selinuxをオフ
sudo grubby --update-kernel ALL --args selinux=0
# 設定を反映させるため再起動
sudo reboot

Nginxをインストール

Nginxをインストールしていきます。

nginx.repoに以下を記載します。

/etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

インストールして、ファイアウォールの許可設定を追加します。

sudo dnf -y install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Nginxの設定を書き換え

nginx.confを下記の通りに書き換えます。

/etc/nginx/nginx.conf
user  nginx;
worker_processes  auto;
worker_rlimit_nofile 100000;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  2048;
    multi_accept on;
    use epoll;
}


http {

    server_tokens off;
    include       /etc/nginx/mime.types;
    default_type  text/html;
    charset UTF-8;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile       off;
    tcp_nopush     on;
    tcp_nodelay    on;


    keepalive_timeout 10;
    client_header_timeout 10;
    client_body_timeout 10;
    reset_timedout_connection on;
    send_timeout 10;

    limit_conn_zone $binary_remote_addr zone=addr:5m;
    limit_conn addr 100;

    gzip on;
    gzip_http_version 1.0;
    gzip_disable "msie6";
    gzip_proxied any;
    gzip_min_length 1024;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/json;
    open_file_cache off;

    client_max_body_size 20m;
    server_names_hash_bucket_size 64;
    include /etc/nginx/conf.d/*.conf;
}

PHPをインストール

# 有効バージョンをリセット
sudo dnf module reset php
# 8.1を有効にする
sudo dnf module enable php:remi-8.1
# PHPと関連ファイルをインストール
sudo dnf install php php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml
# バージョン確認
php -v

php-fpm、Nginxの設定を書き換え

www.confを下記の通り書き換える。

/etc/php-fpm.d/www.conf
user = nginx
group = nginx

# php-fpmを再起動
sudo systemctl restart php-fpm

index.phpを下記の通り書き換える。

/var/www/html/example.jp/index.php
<?php phpinfo(); ?>

default.confを下記の通り書き換える。

/etc/nginx/conf.d/default.conf
server {
  listen 80;
  server_name example.jp;
  root   /var/www/html/example.jp/public;
  index index.php index.html index.htm;

  location ~ \.php$ {
    fastcgi_pass   unix:/var/run/php-fpm/www.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME /var/www/html/example.jp/public$fastcgi_script_name;
    include        fastcgi_params;
  }
}

再起動しサービスに登録しておきます。

sudo systemctl restart nginx
sudo systemctl enable nginx
sudo systemctl enable php-fpm

ブラウザで動作確認

ブラウザでドメインにアクセスしてphpinfoが表示されたらOKです。

参考サイト

CentOS+NginxでLaravelを動かすまで(サーバー構築) | Reuhul tech memo
centos stream 9 に nginx と php8.1 をインストール - Qiita
CentOS Stream 8 の PHP 7.2 を 7.4 に変更する – ラボラジアン

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0