前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Web服务器-一代经典LNMP

Web服务器-一代经典LNMP

作者头像
运维小路
发布2025-04-22 12:56:51
发布2025-04-22 12:56:51
11800
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一大章介绍了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源安装

代码语言:javascript
代码运行次数:0
运行
复制
#添加源和基础工具
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及常用扩展安装

代码语言:javascript
代码运行次数:0
运行
复制
yum install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y

3.配置php

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

代码语言:javascript
代码运行次数:0
运行
复制
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服务器内部。

代码语言:javascript
代码运行次数:0
运行
复制
systemctl start php-fpm
systemctl enable php-fpm

5.配置Nginx

代码语言:javascript
代码运行次数:0
运行
复制
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功能。

代码语言:javascript
代码运行次数:0
运行
复制
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Discuz被腾讯收购(基本上都是15年前的事情),而这个2个应用也随着移动互联网的崛起,基本上都已经落幕。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档