在 Alibaba Cloud Linux 3.2104 LTS 上安装 LNMP(Linux + Nginx + MySQL + PHP)环境,可以按照以下步骤进行操作。该系统基于 RHEL/CentOS 的 RPM 包管理系统,因此你可以使用 yum 或 dnf 进行软件安装。
✅ 环境说明:
- 操作系统:Alibaba Cloud Linux 3.2104 LTS(相当于 CentOS Stream 或 RHEL 8)
- Web Server:Nginx
- 数据库:MySQL 或 MariaDB
- 编程语言:PHP
🔧 安装步骤:
1. 更新系统软件包
sudo dnf update -y
2. 安装 Nginx
sudo dnf install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
验证是否运行成功:
systemctl status nginx
curl http://localhost
3. 安装数据库(以 MySQL 为例)
添加 MySQL 官方 YUM 源
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm -y
安装 MySQL Server:
sudo dnf install mysql-server -y
启动并设置开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
获取临时密码并设置 root 密码:
grep 'temporary password' /var/log/mysqld.log
运行安全初始化脚本:
sudo mysql_secure_installation
4. 安装 PHP 及常用模块
启用 EPEL 和 Remi 仓库(推荐用于最新版 PHP):
sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
启用 DNF 模块并安装 PHP:
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.2 -y # 可更换为其他版本如 php:remi-8.1
sudo dnf install php php-cli php-fpm php-mysqlnd php-opcache php-gd php-curl php-mbstring php-xml php-json -y
启动并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
5. 配置 Nginx 与 PHP-FPM 协同工作
编辑默认站点配置文件:
sudo vi /etc/nginx/conf.d/default.conf
修改内容如下(支持 .php 文件解析):
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
root /usr/share/nginx/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
检查语法并重启服务:
sudo nginx -t
sudo systemctl restart nginx
6. 测试 LNMP 是否正常工作
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
访问测试页面(浏览器打开):
http://你的服务器IP/info.php
如果看到 PHP 信息页,说明 LNMP 安装成功!
📦 常用命令汇总:
| 操作 | 命令 |
|---|---|
| 启动服务 | systemctl start nginx/mysqld/php-fpm |
| 停止服务 | systemctl stop nginx/mysqld/php-fpm |
| 重启服务 | systemctl restart nginx/mysqld/php-fpm |
| 设置开机启动 | systemctl enable nginx/mysqld/php-fpm |
📝 注意事项:
- 防火墙开放 80 端口:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
- SELinux 若开启,请根据需要调整权限策略或关闭:
sudo setsebool -P httpd_can_network_connect=1
如果你有具体需求(如安装特定版本的 PHP、MySQL、HTTPS 支持等),也可以继续问我,我可以提供更详细的定制化安装方案。
CLOUD技术博