LNMP架構的搭建(Mysql、Php、Nginx的部署)

1.LNMP的介紹

LNMP:L指Linux,N指Nginx,M指MySQL,P指PHP。
LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。
Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。
Mysql是一個小型關係型數據庫管理系統。
PHP是一種在服務器端執行的嵌入HTML文檔的腳本語言。

LNMP的數據請求流程
用戶發送http request請求到服務器(Nginx),服務器響應並處理web請求,將一些靜態資源(CSS,圖片,視頻等)保存服務器上。
如果用戶請求爲靜態html,Nginx可直接返回數據給用戶。
如果用戶請求爲動態php,php腳本將通過接口傳輸協議(網關協議)PHP-FCGI(fast-cgi)傳輸給PHP-FPM(進程管理程序),PHP-FPM不做處理,然後PHP-FPM調用PHP解析器進程,PHP解析器解析php腳本信息。PHP解析器進程可以啓動多個,進行併發執行。再將解析後的腳本返回到PHP-FPM,PHP-FPM再通過fast-cgi的形式將腳本信息傳送給Nginx。服務器再通過Http response的形式傳送給瀏覽器。瀏覽器再進行解析與渲染然後進行呈現給用戶。

在這裏插入圖片描述


2.Mysql的部署

虛擬機設置:推薦使用20G硬盤,4096Mb內存,2核CPU》

2.1 Mysql的安裝

1.安裝編譯工具及依賴性
yum install cmke
yum install gcc
yum install gcc-c++
yum install ncurses-devel
yum install -y openssl-devel
yum install bison

2.解壓軟件包並編譯
tar zxf mysql-boost-5.7.30.tar.gz解壓軟件包
在這裏插入圖片描述
注意:編譯前需要刪除CMakeCache.text

[root@server1 mysql-5.7.30]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \
>  -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \
>  -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \
>  -DEXTRA_CHARSETS=all \
>  -DDEFAULT_CHARSET=utf8 \
>  -DDEFAULT_COLLATION=utf8_general_ci \
>  -DWITH_MYISAM_STORAGE_ENGINE=1 \
>  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
>  -DWITH_MEMORY_STORAGE_ENGINE=1 \
>  -DWITH_READLINE=1 \
>  -DENABLED_LOCAL_INFILE=1 \
>  -DMYSQL_USER=mysql \
>  -DMYSQL_TCP_PORT=3306\
>  -DWITH_BOOST=boost/boost_1_59_0

在這裏插入圖片描述
make && make install


2.2 Mysql的配置

1.建立mysql用戶及data目錄,使data目錄對mysql用戶有寫的權限
mkdir /usr/local/lnmp/mysql/data
useradd -s /sbin/nologin -M mysql建立mysql用戶
chown -R root /usr/local/lnmp/mysql/data/*
chown -R mysql /usr/local/lnmp/mysql/data

在這裏插入圖片描述


2.做MySQL的軟連接
ln -s /usr/local/lnmp/mysql/bin/* /usr/local/bin/

在這裏插入圖片描述


3.拷貝配置文件
mv /etc/my.cnf /etc/my.cnf.bak備份mariadb配置文件
cp /usr/local/lnmp/mysql/mysql-test/include/default_my.cnf /etc/my.cnf拷貝mysql配置文件

在這裏插入圖片描述


4.啓動mysql腳本
cp -a /usr/local/lnmp/mysql/support-files/mysql.server /etc/init.d/mysqld腳本的啓動方式
chmod +x /etc/init.d/mysqld給腳本執行權限
chkconfig mysqld on設置開機啓動

在這裏插入圖片描述


2.3 Mysql的初始化

mysqld --user=mysql --initialize初始化生成基本信息
systemctl start mysqld
mysql_secure_installation在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


3.Php的部署

3.1 Php的安裝

解決依賴性:
yum install -y libxml2-devel
yum install -y sqlite-devel
yum install -y libpng-devel
yum install oniguruma-5.9.5-3.el7.x86_64.rpm
yum install oniguruma-devel-5.9.5-3.el7.x86_64.rpm

tar zxf php-7.4.1.tar.gz
cd php-7.4.1/

./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

``
在這裏插入圖片描述


3.2 Php的配置

1.打開php管理進程
cd /usr/local/lnmp/php/etc/
cp php-fpm.conf.default php-fpm.conf 拷貝
vim php-fpm.conf
`

pid = run/php-fpm.pid ##打開php管理進程

在這裏插入圖片描述
在這裏插入圖片描述


2.編輯php擴展配置文件
cd /usr/local/lnmp/php/etc/php-fpm.d/
cp www.conf.default www.conf
vim www.conf

user = nginx
group = nginx

在這裏插入圖片描述
在這裏插入圖片描述


3.編輯php主配置文件
cp /soft/php-7.4.1/php.ini-production /usr/local/lnmp/php/etc/php.ini拷貝
vim /usr/local/lnmp/php/etc/php.ini

在這裏插入圖片描述
在這裏插入圖片描述


4.設置php啓動腳本
cp /soft/php-7.4.1/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm設置啓動腳本
chmod +x /etc/init.d/php-fpm給腳本執行權限
useradd -s /sbin/nologin -M nginx建立用戶
/etc/init.d/php-fpm start腳本啓動

在這裏插入圖片描述
4.設置php軟鏈接
ln -s /usr/local/lnmp/php/bin/* /usr/local/bin/


4.Nginx的部署

4.1 Nginx的安裝

tar zxf nginx-1.18.0.tar.gz解壓

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

make && make install編譯安裝
在這裏插入圖片描述
在這裏插入圖片描述


4.2 Nginx的配置

1.隱藏版本號和關閉debug

vim /soft/nginx-1.18.0/src/core/nginx.h隱藏版本號

#define NGINX_VER          "nginx/"

在這裏插入圖片描述

在這裏插入圖片描述

vim /soft/nginx-1.18.0/auto/cc/gcc關閉debug

# debug
#CFLAGS="$CFLAGS -g"

在這裏插入圖片描述
./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx重新編譯
make && make install重新安裝

在這裏插入圖片描述
在這裏插入圖片描述

測試
在這裏插入圖片描述
在這裏插入圖片描述


2.編輯配置文件

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

        location / {
            root   html;
            index  index.php index.html index.htm;
        }


        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }

在這裏插入圖片描述
在這裏插入圖片描述


3.nginx軟連接

ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/
在這裏插入圖片描述


5.設置發佈頁面測試

vim /usr/local/lnmp/nginx/html/index.php編輯php發佈頁面

<?php
phpinfo()
?>

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章