Web服务器-一代经典LNMP

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一大章介绍了Kubernetes的知识,本章节我们进入中间件的讲解,这里会包含很多不同的类型组件,中间件的第一个大类我这里定义的是Web服务器。由于目前使用最广泛的Web服务器是Nginx,所以我们这里的讲解主要以Nginx服务器为主。

在互联网早期,LAMP是很多网站的配置,也是学习Linux必须掌握的技能,后期随着技术迭代升级出现了衍生版本:LNAMP和LNMP。今天我们就来讲解LNMP的部署。

L:代表操作系统Linux。

N:代表Web服务器Nginx。

A:代表Web服务器Apahce。

M:代表数据库MySQL。

P:代表后端语言PHP。

由于Linux系统和Nginx都们都是已经比较熟悉,这里就忽略不记,数据库这里我们这里还没讲解,而且还没有具体应用就用不到Mysql,所以我们重点放在PHP和Nginx配置上面。

1.php源安装

bash 复制代码
#添加源和基础工具
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
# 启用PHP 7.4仓库,可替换其他版本如php80
yum-config-manager --enable remi-php74  

2.php及常用扩展安装

复制代码
yum install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y

3.配置php

这样配置,Nginx才有权限读取这个sock,然后使用sock通信比默认是用网络通信会更好。

ini 复制代码
vi  /etc/php-fpm.d/www.conf

[www]
user = nginx
group = nginx

listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

4.启动php

这里LNMP里面php是需要启动以后才可以使用,下一个LAMP是不需要启动的,他已经集成到web服务器内部。

bash 复制代码
systemctl start php-fpm
systemctl enable php-fpm

5.配置Nginx

ini 复制代码
server {
    listen 80;
    server_name _;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

6.准备php测试文件

这里是一个php函数,可以打印当前php的环境信息,一般用于测试php功能。

bash 复制代码
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

如果我们的php代码有访问数据库的能力,那么我们的LNMP就已经完全配置成功。早期我们学Linux的时候,就通过Shell脚本来实现自动化部署LNMP,只是那个时候很多组件都是通过编译安装。而且微信早期都大量使用php,这里编程界有一句话是这样说的:PHP是世界上最好的语言。

在中国互联网早期的有多知名的PHP应用,比如论坛:PHPWind被阿里收购,

Discuz被腾讯收购(基本上都是15年前的事情),而这个2个应用也随着移动互联网的崛起,基本上都已经落幕。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
GDAL8 分钟前
Docker pull拉取镜像命令的入门教程
运维·docker·容器
Fanmeang27 分钟前
MP-BGP Hub-Spoken实验案例+通信过程(超详细)
运维·网络·华为·mpls·vpn·mpbgp·hubspoke
羊子雄起1 小时前
GitHub宕机时的协作方案
运维·vscode·github·visual studio
wanhengidc1 小时前
大带宽服务器具体是指什么?
运维·服务器
it_laozhu1 小时前
ESXI 6.7服务器时间错乱问题
运维·服务器
辉视5621 小时前
融合服务器助力下的电视信息发布直播点播系统革新
运维·服务器
阿群今天学习了吗2 小时前
label studio 服务器端打开+xshell端口转发设置
linux·运维·服务器·笔记·python
Aczone282 小时前
Linux Framebuffer(帧缓冲)与基本 UI 绘制技术
linux·运维·ui
华纳云IDC服务商10 小时前
通过限制网络访问来降低服务器被攻击风险的方法
运维·服务器·网络
wdfk_prog11 小时前
[Linux]学习笔记系列 -- [arm][lib]
linux·运维·arm开发·笔记·学习