简洁版lnmp架构搭建(Linux+Nginx+Mysql+PHP)

 LNMP代表的就是:Linux系统下“Nginx+Mysql+PHP”这种网站服务器架构。

Nginx是一个高性能的HTTP和反向代理服务器,

MYSQL是一个小型关系型数据库管理系统可替换成mariadb。

PHP是一种在服务器端执行的嵌入式HTML文本的脚本语言用于连接数据库并且提供动态文件(nginx提供的html文件属于静态文件)相当于在原有html的基础上进行了延申。

这4种软件均为免费开源软件,组合到一起,就成为一个免费、高效、扩展性强的网站服务系统。

linux系统需要的功能:

1、网络通畅

2、yum源仓库可以提供相应

3、selinux与防火墙的配置实验环境下可以全部关闭,如果实在真实场景下需要进行防火墙端口的开启以及selinux的配置,以下下载的时候会有提到

此环境为实验环境

nginx必要步骤说明:

1、下载nginx (yum安装,源码安装)此次实验均为yum安装(源码太长,懒得写)

yum -y install nginx

2、无需更改任何文件即可访问,在本机访问本地回环地址127.0.0.1即可

3、查看访问端口 ss  -anput | grep 80 显示监听中,证明没有问题

扩展:打开防火墙和selinux 开启防火墙的tcp 80端口和允许http协议即可

php必要步骤说明:

1、下载php 

yum -y install php(此次安装最好选择本地yum,以免版本过高发生改变,centos8没有本地yum 可以选择阿里云镜像站下载yum镜像源)

2、php配置文件更改(在nginx没有问世之前都是apache占领市场,所以php配置文件中的一些配置依旧是按照apache的配置所更改)

vim /etc/php-fpm.conf(nginx的进程配置文件,此处不用更改)

vim /etc/php-fpm.d/www.conf(nginx的扩展配置文件,需要更改,更改后会在主配置文件中生效,如果不理解可以打开,nginx的进程配置文件,看最后一行)

下面是需要更改的位置(扩展: vim进入文件 shift+: set nu 可以显示行号)

     4 [www]

    24 user = nginx

    26 group = nginx

    38 listen = 10.0.0.17:9000(添加新行,此地址为本地地址)

    55 listen.acl_users = apache,nginx

    64 listen.allowed_clients = 10.0.0.15 #允许连接的客户端地址范围

   104 pm = dynamic php使用php-fpm进程数是动态的

   115 pm.max_children = 50   静态状态下开启的php-fpm进程数量 

   120 pm.start_servers = 15  动态状态下起始的php-fpm进程数量

   125 pm.min_spare_servers = 5   动态状态下最小php-fpm进程数量

   130 pm.max_spare_servers = 35   动态状态下最大php-fpm进程数量

   261 access.log = /var/log/php-fpm/$pool.access.log

简洁版lnmp架构搭建(Linux+Nginx+Mysql+PHP)_第1张图片

3、此时无法访问php,需要更改nginx的配置文件,使其接受php动态文件输出

vim /etc/nginx/nginx.conf

下图时设置网站首页

 下图是更改nginx配置文件添加php动态文件转发功能(大白话)

简洁版lnmp架构搭建(Linux+Nginx+Mysql+PHP)_第2张图片

 设置php可访问文件

vim /usr/share/nginx/html/index.php(php首页)

phpinfo();
?>
设置完之后便可以访问本地ip地址

mysql必要步骤说明:

首先登录MySQL

1.mysql -u root -p

mysql> use mysql;

mysql> update user set password=password('123') where user='root' and host='localhost';

mysql> flush privileges;

2. 首先登录MySQL。

格式:mysql> set password for 用户名@localhost = password('新密码');

添加新用户权限

Grant all  privileges on *.* to ‘lxz’@172.24.3.50 identified by ‘redhat’;

[root@nginx ~]# cat /usr/local/nginx/html/con_db.php

$link=mysqli_connect('172.24.3.50','lxz','redhat');

if($link)

echo "success";

else

echo "fail";

mysqli_close($link);

?>

扩展: 未在实验状态下访问127.0.con_db.php出现问题,开启防火墙3306/tcp端口 开启selinux布尔值

下图用于查看防火墙开启后,布尔值未打开的日志文件

查看到所需的布尔值

简洁版lnmp架构搭建(Linux+Nginx+Mysql+PHP)_第3张图片

 setsebool -P httpd_can_network_connect_db 1开启布尔值后,可以访问

 

你可能感兴趣的:(php,linux,mysql)