サーバー設定 · 2 min read · Oct 24, 2025
CentOS 7 に Nginx と PHP、MySQL (LEMP スタック) をインストールする方法
Nginx (発音は「エンジン x」) は、無料でオープンソースの高性能 HTTP サーバーです。Nginx は、その安定性、豊富な機能セット、シンプルな設定、低リソース消費で知られています。このチュートリアルでは、PHP サポート (PHP-FPM 経由) と MySQL (MariaDB) サポートを備えた CentOS 7 サーバーに Nginx をインストールする方法を示します。
1 前提条件
このチュートリアルでは、ホスト名 server1.example.com と IP アドレス 192.168.1.105 を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。
2 追加リポジトリの有効化
Nginx は公式の CentOS リポジトリには含まれていないため、Nginx プロジェクトのリポジトリを追加してインストールします:
vi /etc/yum.repos.d/nginx.repo [nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=13 MySQL のインストール
まず、MariaDB をインストールします。MariaDB は MySQL の無料のフォークです。シェルで次のコマンドを実行します:
yum install mariadb mariadb-server net-tools次に、MySQL のシステム起動リンクを作成し (システムが起動するたびに MySQL が自動的に起動するように)、MySQL サーバーを起動します:
systemctl enable mariadb.service
systemctl start mariadb.serviceネットワークが有効になっているか確認します。次のコマンドを実行します:
netstat -tap | grep mysql次のような出力が表示されるはずです:
[root@example ~]# netstat -tap | grep mysql
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN 10623/mysqld 次のコマンドを実行します:
mysql_secure_installationroot ユーザーのパスワードを設定します (そうしないと誰でもあなたの MySQL データベースにアクセスできてしまいます!):
[root@example ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not foundNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!MariaDB にログインしてセキュリティを確保するには、root ユーザーの現在の
パスワードが必要です。MariaDB をインストールしたばかりで、
root パスワードをまだ設定していない場合、パスワードは空白です。
ここでは Enter キーを押してください。Enter current password for root (enter for none):
OK, successfully used password, moving on...root パスワードを設定することで、適切な認証なしに誰も MariaDB
root ユーザーにログインできないようにします。Set root password? [Y/n] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
... Success!デフォルトでは、MariaDB のインストールには匿名ユーザーが含まれており、
誰でもユーザーアカウントを作成せずに MariaDB にログインできます。
これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。
本番環境に移行する前に、これらを削除する必要があります。Remove anonymous users? [Y/n] <-- ENTER
... Success!通常、root は 'localhost' からのみ接続を許可されるべきです。
これにより、誰かがネットワークから root パスワードを推測できないようにします。Disallow root login remotely? [Y/n] <-- ENTER
... Success!デフォルトでは、MariaDB には誰でもアクセスできる 'test' という名前のデータベースが含まれています。
これもテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。Remove test database and access to it? [Y/n] <-- ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!特権テーブルを再読み込みすることで、これまでに行ったすべての変更が
即座に有効になります。Reload privilege tables now? [Y/n] <-- ENTER
... Success!Cleaning up...すべて完了しました!上記のすべての手順を完了した場合、あなたの MariaDB
インストールは今や安全であるはずです。MariaDB をご利用いただきありがとうございます!
[root@example ~]#[root@server1 ~]# mysql_secure_installation
4 Nginx のインストール
Nginx は nginx.org からパッケージとして利用可能で、次のようにインストールできます:
yum install nginx次に、nginx のシステム起動リンクを作成し、起動します:
systemctl enable nginx.service
systemctl start nginx.serviceポート 80 がすでに使用中というエラーが表示される可能性があります。エラーメッセージは次のようになります:
[root@server1 ~]# service nginx start
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
ginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
ginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
ginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
ginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
ginx: [emerg] still could not bind()
[FAILED]
[root@server1 ~]#これは、apache サービスが実行されている可能性があることを意味します。サービスを停止し、次のように NGINX のサービスを開始します:
systemctl stop httpd.service
yum remove httpd
systemctl disable httpd.servicesystemctl enable nginx.service
systemctl start nginx.service次に、ファイアウォールで http および https ポートを開きます:
firebase-cmd --permanent --zone=public --add-service=http
firebase-cmd --permanent --zone=public --add-service=https
firebase-cmd --reloadシェルでの出力は次のようになります:
[root@example ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@example ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@example ~]# firewall-cmd --reload
success
[root@example ~]#ブラウザにウェブサーバーの IP アドレスまたはホスト名を入力します (例: http://192.168.1.105)。Nginx のウェルカムページが表示されるはずです:

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。