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
3、此时无法访问php,需要更改nginx的配置文件,使其接受php动态文件输出
vim /etc/nginx/nginx.conf
下图时设置网站首页
下图是更改nginx配置文件添加php动态文件转发功能(大白话)
设置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布尔值
下图用于查看防火墙开启后,布尔值未打开的日志文件
查看到所需的布尔值
setsebool -P httpd_can_network_connect_db 1开启布尔值后,可以访问