LNMP を展開して HTTPS サービスを有効にする方法に関するチュートリアル

LNMP を展開して HTTPS サービスを有効にする方法に関するチュートリアル

LNMP とは: Linux+Nginx+Mysql+(php-fpm、php-mysql)

つまり、Linux オペレーティング システム上の Nginx + Mysql + Php の Web サイト サービス アーキテクチャです。

CentOS 6 の MySQL と CentOS 7 の MariaDB

役割: Web サービスを提供でき、PHP のようなアプリケーションを解析できる。

次に、LNMP アーキテクチャを使用して phpMyAdmin を展開します。

前提条件: すべての操作はホスト 172.16.75.1 で実行されます。

1. Webサーバーのドメイン名を設定します: www.sss.com

物理マシンの C ドライブにある windows/System32/drivers/etc/etc/hosts ファイルにレコードを追加します。

172.16.75.1 www.sss.com

2. 172.16.75.1 ホストに LNMP アーキテクチャを展開します。

[root@master ~]# yum install nginx mariadb php-fpm php-mysql

ここで、誰もがphp-fpmとphp-mysqlの機能は何なのかと尋ねるかもしれません。

NginxはWebサービスのみを提供し、PHPアプリケーションを解析することはできませんが、php-fpmは

また、PHP アプリケーションと Mariadb を接続するために php-mysql が使用されます。

3. 構成:

[root@master ~]# vim /etc/nginx/nginx.conf

[ルート@マスター]# nginx -t
nginx: 設定ファイル /etc/nginx/nginx.conf の構文は正常です
nginx: 設定ファイル /etc/nginx/nginx.conf のテストが成功しました

Nginx の設定が正しいことをテストし、サービスを開始します。

[root@master ~]# systemctl nginxを起動します

php-fpm サービスを開始します。

[root@master ~]# systemctl php-fpm を起動します

nginx.conf で定義されているリソースを保存するためのディレクトリを作成します。

[root@master ~]# mkdir -pv /myweb/nginx/

wordpress および phpMyAdmin パッケージはすでにこのディレクトリに配置されています。

まずphpMyAdminアプリケーション(データベースの管理に使用)をデプロイします。

解凍:

[root@master ~]# cd /myweb/nginx/
[root@master nginx]# tar -xf phpMyAdmin-3.5.4-all-languages.tar.gz 
[root@master nginx]# mv phpMyAdmin-3.5.4-すべての言語pma

/var/lib/php の下にディレクトリ セッションを作成します。

所有者は root、グループは apache、権限は 770 です。

[root@master ~]# cd /var/lib/php
[root@master php]# mkdir セッション
[root@master php]# chown root:apache session/
[root@master php]# chmod 770 session/

管理者のデータベース管理パスワードを設定します。

[root@master ~]# mysqladmin -p'' パスワード '111111'
パスワードを入力してください:

完了したら、Web 側でアクセス テストを実行します。


これでphpMyAdminのデプロイが完了します。

次に、phpMyAdmin に https サービスを提供します。

[root@master ~]# cd /etc/pki/CA/
[root@master CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)
[root@master CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3653
[root@master CA]# index.txt をタッチします
[root@master CA]# echo 01 > シリアル
[root@master ssl]# (umask 077; openssl genrsa -out nginx.key 2048)
[root@master ssl]# openssl req -new -key nginx.key -out nginx.csr -days 3653
[root@master ssl]# openssl ca -in nginx.csr -out /etc/pki/CA/certs/nginx.crt -days 3653
/etc/pki/tls/openssl.cnf の設定を使用する
リクエストが署名と一致していることを確認する
署名OK
証明書の詳細:
  シリアル番号: 1 (0x1)
  有効
   以前: 2018 年 11 月 12 日 14:15:57 GMT
   それ以降: 2028年11月12日 14:15:57 GMT
  主題:
   国名 = CN
   州または省名 = 河北省
   組織名 = ジェームズ
   組織ユニット名 = james.edu
   共通名 = www.james.com
  X509v3 拡張:
   X509v3 基本制約: 
    CA:偽
   Netscape コメント: 
    OpenSSL 生成証明書
   X509v3 サブジェクトキー識別子: 
    5A:68:D6:47:29:DA:A5:29:98:09:0D:82:02:2D:B1:5D:61:8A:26:EC
   X509v3 権限キー識別子: 
    キーID:32:B2:8D:AC:68:57:FC:BF:8B:F2:CA:68:8B:45:93:D4:7F:A2:25:F3
    
  
[root@master ssl]# scp /etc/pki/CA/certs/nginx.crt ./
[root@master ssl]# rm -f nginx.csr

nginx 設定ファイルを変更します。

[root@master ssl]# vim /etc/nginx/nginx.conf

検出が正しかったら、nginx サービスを再起動します。

[ルート@マスターssl]# nginx -t
[root@master ssl]# nginx -s リロード

ウェブテスト:

https サービスの実装。

以下もご興味があるかもしれません:
  • LNMP シリーズチュートリアル: SSL インストール WordPress ブログ (プログラムのダウンロードとインストール)
  • LNMP を使用して VPS に WordPress をインストールするチュートリアル
  • Tencent Cloud ホストのインストール LNMP 環境と WordPress チュートリアル
  • Nginx サーバーにブログ プログラム Typecho をインストールして設定するチュートリアル
  • Nginx サービス LNMP WordPress 展開プロセスの手順

<<:  Vue-routerルーティングの使い方

>>:  Ubuntu での MySQL および MySQL Workbench のインストール チュートリアル

推薦する

Linux で PHP curl 拡張機能をインストールする方法の詳細な説明

この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...

大規模な MySQL テーブルに対する count() の実装を最適化しました

以下は、B+ ツリーのデータ構造と実験結果からの推測に基づいた私の判断です。間違いがあればご指摘くだ...

MySQL でパーティション分割後にクエリを実装するために MRG_MyISAM (MERGE) を使用する例

大量のデータベース データを最適化することは非常に高度な科学であり、開発者が習得する必要がある専門的...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

Nginx+Tomcat 負荷分散クラスタの実装例

目次導入1. 事例の概要2. 環境の展開3. Nginxホストのインストール4. Tomcatのイン...

MySQL マルチテーブル結合入門チュートリアル

接続は、実際の外部キー(人工的に作成された 2 つのテーブル間の対応関係を指します。対照的に、FOR...

jsはショッピングサイトの虫眼鏡機能を実現します

この記事では、ショッピングサイトの虫眼鏡機能を実現するためのjsの具体的なコードを紹介します。具体的...

docker-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...

Dockerコンテナは定期的にデータベースをバックアップし、指定されたメールボックスに送信します(設計アイデア)

目次1. 背景: 2. デザインのアイデア: 3. 起動スクリプトを書く4. イメージを構築する5....

MySQL構成SSL証明書ログインの実装

目次序文1. MySQLはSSL構成を有効にする1.1 SSLが有効になっているかどうかを確認する1...

ブラウザのスクロールバーのスタイルを変更するための純粋な CSS の例

CSSを使用してブラウザのスクロールバーのスタイルを変更する ::-webkit-スクロールバー{ ...

フォームのmethod=post/getの違い

フォームは、get と post の 2 つのデータ転送方法を提供します。どちらもデータを送信する方...

Linux プラットフォームでの Zabbix エージェントのインストールと設定方法

ここでは、Linux プラットフォームでの Zabbix エージェントのインストールと構成について簡...

Vue axios インターセプターは、繰り返しリクエストのキャンセルによく使用されます。

導入前回の記事では、axios のシンプルなカプセル化と、axios インターセプターの適用シナリオ...

動的なデジタル時計を実装するJavaScript

この記事では、JavaScriptで動的なデジタル時計を実装するための具体的なコードを参考までに紹介...