1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-04-21
  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 に変更する – ラボラジアン

1
0
1

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
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?