下面以 Linux + Nginx + MySQL/MariaDB + PHP(LNMP) 的常见环境为例,说明如何配置一个 LNMP 站点。示例基于 CentOS 7/8 或 Rocky / AlmaLinux,Ubuntu 几乎同理,只是包管理命令不同。
# CentOS / Rocky
yum install -y nginx
systemctl enable nginx
systemctl start nginx
# Ubuntu
apt update
apt install -y nginx
systemctl enable nginx
systemctl start nginx
# CentOS
yum install -y mariadb mariadb-server
systemctl enable mariadb
systemctl start mariadb
# Ubuntu
apt install -y mariadb-server
初始化数据库:
mysql_secure_installation
创建站点数据库和用户:
CREATE DATABASE site_db DEFAULT CHARSET utf8mb4;
CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON site_db.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;
yum install -y epel-release
yum install -y yum-utils
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php81
yum install -y php php-fpm php-mysqlnd php-json php-gd php-mbstring php-xml
apt install -y php-fpm php-mysql php-json php-gd php-mbstring php-xml
启动 PHP-FPM:
systemctl enable php-fpm
systemctl start php-fpm
mkdir -p /var/www/example.com
chown -R nginx:nginx /var/www/example.com
测试文件:
echo "<?php phpinfo(); ?>" > /var/www/example.com/index.php
vim /etc/nginx/conf.d/example.com.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
⚠️ 注意:
fastcgi_pass 通常是 unix:/run/php-fpm/www.sockunix:/run/php/php8.1-fpm.socknginx -t
systemctl restart nginx
systemctl restart php-fpm
浏览器访问:
http://example.com
yum install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
location / {
try_files $uri $uri/ /index.php?$query_string;
}
client_max_body_size 50m;
PHP:
upload_max_filesize = 50M
post_max_size = 50M
chown -R nginx:nginx /var/www/example.com
chmod -R 755 /var/www/example.com
如用 root 上传代码,务必改回 nginx 或 php-fpm 运行的用户。
✅ 安装 Nginx
✅ 安装 PHP + PHP-FPM
✅ 安装 MySQL / MariaDB
✅ 创建站点目录
✅ 配置 Nginx server 块
✅ 测试 PHP
✅ 配置 HTTPS(可选)
如果你用的是:
我可以给你对应版本的精确配置。