LNMP环境部署笔记

一、关闭防火墙 & SELinux

bash

运行

复制代码
systemctl stop firewalld
systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

二、安装依赖 & 扩展源

bash

运行

复制代码
yum install -y wget gcc gcc-c++ make
# CentOS 7
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# CentOS 8
# dnf install -y epel-release

三、安装 Nginx

bash

运行

复制代码
yum install -y nginx

systemctl start nginx
systemctl enable nginx

四、安装 MySQL(MariaDB)

bash

运行

复制代码
yum install -y mariadb-server mariadb

systemctl start mariadb
systemctl enable mariadb

初始化安全设置(执行后按提示设置 root 密码):

bash

运行

复制代码
mysql_secure_installation

五、安装 PHP 7.4(含常用扩展)

bash

运行

复制代码
# 先装 remi 源
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php74

# 安装 PHP 及扩展
yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip php-opcache

启动:

bash

运行

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

六、Nginx 配置 PHP 解析

新建 / 修改站点配置:

plaintext

复制代码
vim /etc/nginx/conf.d/default.conf

示例配置(直接替换):

plaintext

复制代码
server {
    listen       80;
    server_name  localhost;
    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

检查配置并重启:

bash

运行

复制代码
nginx -t
systemctl restart nginx

七、测试 PHP 环境

bash

运行

复制代码
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

浏览器访问:

plaintext

复制代码
http://服务器IP/info.php

看到 PHP 信息页即成功。


八、常用服务命令

bash

运行

复制代码
# Nginx
systemctl start|stop|restart|status nginx

# MySQL/MariaDB
systemctl start|stop|restart|status mariadb

# PHP-FPM
systemctl start|stop|restart|status php-fpm
相关推荐
不会就选b5 小时前
Linux之TCP理论<1>
linux·运维·服务器
倔强的石头1066 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Android系统攻城狮7 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup8 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化
还卿一钵无情泪9 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
打工仔折腾 AI10 小时前
Docker镜像分层与卷挂载到底怎么工作:一次文件系统层面的实测分析
运维·人工智能·后端·python·docker·容器·性能优化
大猫会长10 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
夜之眷属11 小时前
服务器被挖矿病毒入侵的排查与清理实录
运维·服务器
极客先躯11 小时前
高级java每日一道面试题-2026年01月20日-实战篇[Docker]-如何实现镜像的跨区域复制?
java·运维·docker·容器·架构图
韩振方11 小时前
为什么服务显示占了 8G,实际内存却没那么多?
运维