LNMPアーキテクチャ構築の実践運用

目次

1. Nginxサービスをインストールする

1. 依存パッケージをインストールする

2. Nginx 実行ユーザーを作成する

3. Nginx ソース パッケージをコンパイルしてインストールします

4. パスを最適化して使いやすくする

5. Nginx システムサービスを追加する

2、Mysql サービスをインストールする

1. Mysql環境の依存関係パッケージをインストールします。

2. Mysql実行ユーザーを作成する

3. コンパイルとインストール

4.mysql設定ファイルを変更する

5. mysql インストールディレクトリと設定ファイルの所有者とグループを変更します。

6. 使いやすいようにパス環境変数を設定します。

7. データベースの初期化

8.mysqldシステムサービスを追加します。

9. mysqlのログインパスワードを変更する

10. root ユーザーにリモートログインを許可します。

編集編集

3.PHPサービスをインストールする

1.環境依存パッケージをインストールする

2. コンパイルしてインストールする

3. パスを最適化して使いやすくする

4.php設定ファイルを調整する

5.php-fpmを起動します。

6. PHP 解析をサポートするように Nginx を構成する

7. inex.php ファイルを追加して、php サービスが有効かどうかをテストします。

8. データベースが適切に動作していることを確認します。

4. LNMP アーキテクチャを使用して bbs フォーラムを構築する


LNMP アーキテクチャとは、Linux+Nginx+Mysql+PHP (Perl、Python) を指します。

まず Linux ホストを準備し、ファイアウォールと selinux をオフにします。

関連するソースコードパッケージを入手する必要があります

設定フィールドの意味については、LAMP アーキテクチャの実際の動作_Evens7xxX ブログ - CSDN ブログを参照してください。

アーキテクチャ図

画像編集

LAMPとの違い

LNMP アーキテクチャでは、nginx が静的ページ リクエストを処理し、fastCGI が動的ページ リクエストを php-fpm モジュールに転送し、ラッパー スクリーニングを通過して、最後にそれらを php 用に解析します。データベースに関連するデータは、データベース接続インターフェイスを開き、データを取得します。

1. Nginxサービスをインストールする

1. 依存パッケージをインストールする

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2. Nginx 実行ユーザーを作成する

useradd -M -s /sbin/nologin nginx

3. Nginx ソース パッケージをコンパイルしてインストールします

#解压源码包
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
​
#自定义安装
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
​
#编译安装
make && make install

4. パスを最適化して使いやすくする

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5. Nginx システムサービスを追加する

#自定义service文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
​
#设置权限,使文件生效
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

2、Mysql サービスをインストールする

1. Mysql環境の依存関係パッケージをインストールします。

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

2. Mysql実行ユーザーを作成する

useradd -M -s /sbin/nologin  mysql

3. コンパイルとインストール

#解压源码包
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
​
#自定义安装
cd /opt/mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
​
#编译安装
make && make install

4.mysql設定ファイルを変更する

vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
​
[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash
​
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
​
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

5. mysql インストールディレクトリと設定ファイルの所有者とグループを変更します。

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

6. 使いやすいようにパス環境変数を設定します。

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile  
source /etc/profile

7. データベースの初期化

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

8.mysqldシステムサービスを追加します。

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

9. mysqlのログインパスワードを変更する

mysqladmin -u root -p password "abc123"

10. root ユーザーにリモートログインを許可します。

mysql -u root -p

パスワードを入力してログインします

画像

3.PHPサービスをインストールする

1.環境依存パッケージをインストールする

yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

2. コンパイルしてインストールする

#解压源码包
cd /opt
tar jxvf php-7.1.10.tar.bz2
​
#自定义安装
cd php-7.1.10
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
​
#编译安装
make && make install

3. パスを最適化して使いやすくする

ln -s /usr/local/php/bin/* /usr/local/bin/ 
ln -s /usr/local/php/sbin/* /usr/local/sbin/

4.php設定ファイルを調整する

/usr/local/php/lib/php.ini メイン設定ファイル
/usr/local/php/etc/php-fpm.conf プロセスサービス構成ファイル(デフォルトはテンプレートファイルのみであり、これをコピーして php-fpm.conf に名前変更する必要があります)
/usr/local/php/etc/php-fpm.d/www.conf 拡張構成ファイル(デフォルトはテンプレート ファイルのみであり、コピーして名前を変更する必要があります)

(1) php.iniを修正する

​
#复制模板并修改
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini   
​
vim /usr/local/php/lib/php.ini
#939行,取消注释,修改
date.timezone = Asia/Shanghai
​
#1170行,修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
​
#验证安装的模块
php -m


​

画像

画像

(2) php-fpm.confを修正する

​
#复制模板文件
cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
​
#修改进程服务配置文件
vim php-fpm.conf
​
#17行,去掉";"注释
pid = run/php-fpm.pid


​

画像

最後の行は、/usr/local/php/etc/php-fpm.d/ にあるすべての conf ファイルのロードを表します。

画像

(3) www.confを変更する

 cd /usr/local/php/etc/php-fpm.d/ 
cp www.conf.default www.conf 
vim
www.conf

リスニング アドレスを変更します (デフォルトでは、指定された IP はローカル マシンです。nginx サービスと php サービスを提供するホストが同じでない場合は、nginx サーバーの IP アドレスを提供するように変更する必要があります)

画像

所有者とグループはnginxに変更できます

画像

5.php-fpmを起動します。

#进入软件包目录,复制并启用service文件
cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
​
#重载并开启服务
systemctl daemon-reload
systemctl restart php-fpm.service

サービスが有効であることを確認してください

画像

6. PHP 解析をサポートするように Nginx を構成する

vim /usr/local/nginx/conf/nginx.conf
​
#65行,取消注释,修改
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include        fastcgi_params;
}
​
#重启服务使配置生效
systemctl restart nginx.service

/scripts を $document_root に変更して、現在のリクエストの root コマンドで指定された値 (Web ルート ディレクトリ) を表します。

画像

7. inex.php ファイルを追加して、php サービスが有効かどうかをテストします。

まず、指定されたホームページ ファイルindex.phpを/usr/local/nginx/conf/nginx.confに追加する必要があります。

画像

サービスをリロードして構成を有効にします

systemctl reload nginx.service

アクセステスト用にindex.phpファイルを追加

#在root指定的根目录下创建index.php文件,并添加内容
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

画像

8. データベースが適切に動作していることを確認します。

認可を追加し、テストページを作成します

画像

画像編集

画像編集

4. LNMP アーキテクチャを使用して bbs フォーラムを構築する

フォーラムの zip ファイルを解凍します。

画像

フォーラム ファイルを入力し、ページを bbs Web ページのルート ディレクトリにコピーします。

画像

画像

データベースの認可

画像

ページにアクセス

画像

画像

エラー報告部分を修正し、所有者と権限を変更します。

画像

ページを更新した後、次のステップに進みます

画像編集

クリーンインストールを選択

画像

先ほどデータベースとパスワードを設定し、次に管理者とパスワードを設定します

画像

インストールが成功したらアクセスしてください

画像

右上隅から管理者にログインできます

画像

ここまでで、LNMP を使用した Web サイトの公開は完了しました。

おすすめ

転載: blog.csdn.net/wlc1213812138/article/details/131344296