LNMPアーキテクチャの概要と、ビルド(コンパイルソースコードnginxの、MYSQL、PHP)

LNMPアーキテクチャの概要と、ビルド(コンパイルソースコードnginxの、MYSQL、PHP)

1. LNMP何ですか

LNMPは、フリーソフトウェアの名前の動的なWebサイトまたはサーバー頭字語を実行するために一緒に使用一般のセットを指します。Lは、Linuxを指し、Nはnginxのを指し、Mは一般にMySQLを指し、MariaDBを参照してもよい、Pは、一般に、PHP、Perlのを指し、又はもパイソンを指すことができます。

一般的には、LNMPの代表は次のとおりです。Linuxシステムnginxの+のMySQL + PHP、このWebサーバのアーキテクチャ。

LNMP = Linuxの+ nginxの+ MySQLの+ PHP

  • Linuxは、総称して、コンピュータのUnixライクなオペレーティングシステムであり、最も人気のあるフリーなオペレーティングシステムです。代表のバージョン:Debianの、CentOSのは、Ubuntu、フェドーラ、Gentooとそうで。
  • nginxのは、HTTP、高性能で、リバースプロキシサーバはIMAP / POP3 / SMTPプロキシサーバです。
  • MySQLは小規模なリレーショナル・データベース管理システムです。
  • PHPはサーバー側で実行されたHTML文書に埋め込まスクリプト言語です。
  • これらの4つのソフトウェアは無料、効率的で、拡張可能なウェブサービスシステムとしてまとめ、無料のオープンソースソフトウェアです。

nginxのは、nginxのは、PHPのFastCGIのnginxの代理人として理解することができる結合するPHPのFastCGIの道です。

唯一の違いは、LNMPで、LAMPは、代わりにApacheのnginxのあるWebサービスの提供を指し:でのApache、PHPモジュールが存在します。nginxのでは、PHPは、独立したサービスとして存在し、このサービスはPHP-FPM呼ばれる;. nginxのが静的直接リクエストを処理し、要求は、動的PHP-FPMに転送されます。

2. LNMP作品

  • HTTPブラウザがサーバにリクエストを送信する(nginxの)を要求
  • サーバーの応答とWebリクエストを処理して、サーバーPHP-FPMに送信し、PHPスクリプトインターフェイス転送プロトコル(IGP)PHP-FCGI(ファストCGI)の上にいくつかの静的リソース(CSS、画像、動画など)を保存します(プロセスマネージャー)
  • 扱われていないPHP-FPMは、その後、PHP-FPMは、プロセスPHPパーサ、PHPパーサのPHPスクリプトの情報を呼び出します。
  • PHPパーサプロセスは、複数、同時実行を起動することができます。その後、スクリプトはPHP-FPMへの復帰を解析されました
  • PHP-FPM高速CGIの形で別のスクリプト情報は、nginxのに送信されます
  • サーバーとHTTPレスポンスの形式でブラウザに送信されました。
  • ブラウザは、解析し、レンダリングとレンダリング。

3. MYSQLデータベースソースコンパイラ

STEP1解凍型インストールのmysql:

tar zxf mysql-boost-5.7.28.tar.gz

STEP2 mysqlのユーザーを作成します。

useradd -s /sbin/nologin -M mysql

STEP3コンパイラMYSQL:
cmakeのクロスプラットフォーム・ツールは、ソースコードMySQLをプリコンパイルするために使用され、MySQLのは、セットコンパイラパラメータに使用されます。以下のような:などのインストールディレクトリ、データ格納ディレクトリ、文字エンコーディング、照合、

yum install -y cmake	#编译mysql需要用的包
cd mysql-5.7.28	#进入mysql解压后的目录
#以下命令为编译:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \			#安装位置
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ 	#指定套接字文件位置
> -DEXTRA_CHARSETS=all \ 										#扩展字符集
> -DDEFAULT_CHARSET=utf8 \										#默认字符集
> -DDEFAULT_COLLATION=utf8_general_ci \							#默认字符校对
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \							#安装myisam 存储引擎
> -DWITH_MYISAM_STORAGE_ENGINE=1 \								#安装innodb存储引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1 \								#安装memory存储引擎
> -DWITH_READLINE=1 \											#支持readline库
> -DENABLED_LOCAL_INFILE=1 \									#启用加载本地数据
> -DMYSQL_USER=mysql \											#指定mysql运行用户
> -DMYSQL_TCP_PORT=3306											#指定mysql端口

STEP4解決の依存関係へのプロンプトに従います:

yum install -y gcc gcc-c++ ncurses-devel openssl-devel -y

STEP5は、このエラーが表示されることがあります。

CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
This CMake script will look for boost in <directory>. If it is not there,
it will download and unpack it (in that directory) for you.
If you are inside a firewall, you may need to use an http proxy:
export http_proxy=http://example.com:80

ソリューション:

缺少 -DWITH_BOOST=<directory>参数
重新编译时加上下面的参数: 
-DWITH_BOOST=boost/boost_1_59_0/

再コンパイルは、元のオブジェクトファイルとキャッシュ情報を削除する必要があります。

make clean
rm -fr CmakeCache.txt

コンパイルプロセスの背後にwarninことがあります

CMake Warning at cmake/bison.cmake:20 (MESSAGE):
Bison executable not found in PATH
Call Stack (most recent call first):
sql/CMakeLists.txt:514 (INCLUDE)

ソリューション:

yum install -y bison

STEP6インストール:

make && make install ##如果 make 还有问题,删除原来的目录,重新解压编译(安装过程较长) 

権限を変更STEP7:

cd /usr/local/lnmp/mysql
mkdir data
chown -R root .
chown -R mysql data
ln -s /usr/local/lnmp/mysql/bin/* /usr/local/bin/

STEP8は、設定ファイルをコピーします。

cd /usr/local/lnmp/mysql/mysql-test/include
cp default_my.cnf /etc/my.cnf
cd /usr/local/lnmp/mysql/support-files
cp -a mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
systemctl status mysqld

STEP9の初期化:

mysqld --user=mysql --initialize	#以mysql 用户身份初始化
注意:初始化会生成一个临时密码,用于登录 mysql(要记住此密码)
比如:2019-01-03T09:06:09.448851Z 1 [Note] A temporary password is generated
for root@localhost: r#9VqAoA/au
r#9VqAoA/au就是临时密码

STEP10 MySQLを起動します。

systemctl start mysqld

STEP11 MySQLを入力します。

mysql -uroot -pr#9VqAoA/au: #使用刚才的临时密码(会有报错,所以需要安全初始化)

初期化のためのSTEP12セーフ:

mysql_secure_installation	#然后会提示是否启用密码检测插件,直接回车不启用,否则会要求密码有大小写和特殊字符等要求;剩余全部选 y

ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明

MySQLのインストール構成

4. PHPのソースコンパイラ

インストールパッケージを抽出STEP1:

tar zxf php-7.4.1.tar.gz

STEP2解決の依存関係:

yum -y install bzip2

解凍したディレクトリにSTEP3、コンパイルを開始します。

./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc \
--with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring=all \
--enable-sockets \
--with-pdo-mysql=/usr/local/lnmp/mysql \
--enable-gd \
--without-pear \
--enable-fpm

依存性の緩やかな分解能を与えられるのコンパイル方法に従ってSTEP4:
あなたは、パッケージをインストールする必要があります。

yum install -y libxml2-devel
yum install -y libpng-devel
yum install -y oniguruma-*

STEP5インストール:

make && make install

STEP6は、設定ファイルを変更コピーします。

cd /usr/local/lnmp/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf		#开启17行:pid = run/php-fpm.pid

ここに画像を挿入説明
STEP7コピーサブ設定ファイル:

cd /usr/local/lnmp/php/etc/php-fpm.d
cp www.conf.default www.conf
vim www.conf	#更改23和24行内容如下
user = nginx
group = nginx

ここに画像を挿入説明

ここに画像を挿入説明

STEP8マスターコピー変更PHPの設定ファイル:

cd php-7.4.1
cp php.ini-production /usr/local/lnmp/php/etc/php.ini
vim /usr/local/lnmp/php/etc/php.ini	#961行修改时区如下
date.timezone = Asia/Shanghai

ここに画像を挿入説明

/etc/init.d/のにSTEP9コピーPHPの起動スクリプト:

cd /root/lnmp/php-7.4.1/sapi/fpm
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm	#添加执行权限

STEP10開始PHP:

/etc/init.d/php-fpm start

注:
[スタート] nginxのユーザー・エラーの可能な手動で作成する必要はありませんので、

useradd -u 900 nginx

ここに画像を挿入説明
PHPのインストール構成

5. nginxのソースコンパイル

STEP1インストールパッケージを抽出

tar zxf nginx-1.16.0.tar.gz

STEP2のnginxのバージョン番号を削除します。

cd /root/lnmp/nginx-1.16.0
vim src/core/nginx.h	

ここに画像を挿入説明

近くのデバッグにSTEP3:

デバッグログが非常に大きいため、企業は一般的に開く必要はありません

vim auto/cc/gcc
做如下修改:
# debug
#CFLAGS="$CFLAGS -g" (将这2行注释调,关闭debug)

ここに画像を挿入説明

STEP4コンパイルしてnginxのインストール:

./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx

STEP5解決の依存関係は、プロンプトに従います。
ここでは、また、PCRE-develのをインストールする必要がありますする必要があります。

yum install pcre-devel -y

STEP6インストール:

make && make install

STEP7変更nginxの設定ファイル、PHPモジュールを有効にします。

cd /usr/local/lnmp/nginx/conf
vim nginx.conf

ここに画像を挿入説明
/ usr / local / sbinに/へSTEP8 nginxの起動スクリプトリンク:

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

STEP9オープンnginxの:

nginx -t ##检测语法
nginx

ここに画像を挿入説明

STEP10テスト:

尝试访问http://172.25.254.1	##是nginx默认页面

ここに画像を挿入説明
nginxのリリース・ディレクトリは、デフォルトのindex.phpで追加されます:

vim /usr/local/lnmp/nginx/html/index.php
写入:
<?php
phpinfo()
?>

ここに画像を挿入説明
リフレッシュhttp://172.25.254.1 PHPのデフォルトページを見ることができます
ここに画像を挿入説明

nginxのインストール構成

公開された175元の記事 ウォン称賛11 ビュー6037

おすすめ

転載: blog.csdn.net/weixin_45775963/article/details/104592027