基于Ubuntu/Debian系统,安装LNMP

前缀、文档修改记录

2024-01-06 初始化编辑此文章
2024-02-20 更新一次
2025-03-23 完稿,基于Debian 12.9最新版本发布此博客

章节1、需求描述

LNMP是比较受欢迎的博客架构模式,本次教程,系统环境选择Ubuntu/Debian系列,该系列有比较成熟的软件库,安装Nginx、数据库、PHP都很便捷。Nginx、MySQL/MariaDB、PHP这个一般就用系统自带的版本。

有条件的使用站库分离的架构,数据库放到大厂的云服务器上,会比较靠谱。

章节2、安装步骤

本次更新博客后,基于最新版本的Debian 12.9 来安装此次的LNMP(Linux\Nginx\MariaDB\PHP),属于比较新的版本。

2.1、安装Nginx

root@SERVER:~# apt update
root@SERVER:~# apt install nginx

安装玩Nginx后,它就自动启动了,即可以通过访问http://yourserverip/来验证Nginx是否正常工作,如下:

其中IP地址,根据你们实际的填在地址栏,如果大型的公有云,注意放行主机安全组,如果是国内环境,可能需要备案才能访问

2.2、安装MariaDB

这里推荐安装的是开源版本的MariaDB,MariaDB 是 MySQL 的一个开源分支,性能优良,兼容性好,MySQL被SUN收购后,就不推荐用MySQL的新版本了。

root@SERVER:~# apt install mariadb-server

初始化数据库的安全设置,最重要的就是设置数据库用户root的超级密码,务必保存好密码,其他参数(移除匿名用户/禁止 root 远程登录/删除测试数据库/重新加载权限表)默认用Y,回车即可。

root@SERVER:~# mysql_secure_installation

通过服务器上,测试本地连接能否成功,判断数据库是否安装成功

root@SERVER:~# mysql -u root -p

2.3、安装PHP

root@SERVER:~# apt install php php-fpm php-mysql php-cli php-curl php-xml php-mbstring php-zip

确认一下PHP的版本,我这里是8.2的这个大版本号

2.4、创建Nginx配置文件

编辑Nginx的默认站点文件 /etc/nginx/sites-available/default

其中,如下配置中,参数fastcgi_pass参数对应的PHP版本,可能因 PHP实际安装版本不同而变化,可通过 ls /run/php/ 查看可用的 .sock 文件

server {
    listen 80;
    server_name localhost;

    root /var/www/html;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

2.5、创建PHP测试文件

在web的默认目录下,创建php的文件,用以测试PHP

echo "<?php phpinfo(); ?>" | tee /var/www/html/info.php

2.6、重启一下Nginx

root@SERVER:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@SERVER:~# systemctl restart nginx
root@SERVER:~# 

通过访问 http://yourserverip/info.php文件,看看PHP是否正常工作

2.7 配置开机启动

systemctl enable nginx
systemctl enable php8.2-fpm
systemctl enable mariadb

附录1、版本情况

时间 2025-3-23
系统 Debian 12.9 
数据库 Ver 15.1 Distrib 10.11.11-MariaDB
PHP Zend OPcache v8.2.28 / Zend Engine v4.2.28
NGINX nginx/1.22.1 built with OpenSSL 3.0.15

附录2、视频操作演示

000158. 基于Ubuntu/Debian系统,官方源apt方式安装LNMP 2025-03-23

本期博客地址 https://dasmz.com/?p=3629
本期视频地址 https://youtu.be/-dLv-hsdhEM

附录3、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注