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

文章目录

  • 1.LNMP的介绍
  • 2.Mysql的部署
    • 2.1 Mysql的安装
    • 2.2 Mysql的配置
    • 2.3 Mysql的初始化
  • 3.Php的部署
    • 3.1 Php的安装
    • 3.2 Php的配置
  • 4.Nginx的部署
    • 4.1 Nginx的安装
    • 4.2 Nginx的配置
      • 1.隐藏版本号和关闭debug
      • 2.编辑配置文件
      • 3.nginx软连接
  • 5.设置发布页面测试

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的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现给用户。

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第1张图片


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解压软件包
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第2张图片
注意:编译前需要删除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

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第3张图片


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

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第4张图片


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设置开机启动

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第5张图片


2.3 Mysql的初始化

mysqld --user=mysql --initialize初始化生成基本信息
systemctl start mysqld
mysql_secure_installationLNMP架构的搭建(Mysql、Php、Nginx的部署)_第6张图片
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第7张图片
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第8张图片


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

``
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第9张图片


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管理进程

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第10张图片
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第11张图片


2.编辑php扩展配置文件
cd /usr/local/lnmp/php/etc/php-fpm.d/
cp www.conf.default www.conf
vim www.conf

user = nginx
group = nginx

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第12张图片
在这里插入图片描述


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

在这里插入图片描述
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第13张图片


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脚本启动

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第14张图片
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/"

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第15张图片

在这里插入图片描述

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;
        }

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第16张图片
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第17张图片


3.nginx软连接

ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第18张图片


5.设置发布页面测试

vim /usr/local/lnmp/nginx/html/index.php编辑php发布页面


phpinfo()
?>

LNMP架构的搭建(Mysql、Php、Nginx的部署)_第19张图片
LNMP架构的搭建(Mysql、Php、Nginx的部署)_第20张图片

你可能感兴趣的:(LNMP架构的搭建(Mysql、Php、Nginx的部署))