Nginx 运维实战与 PHP+MySQL 网页开发全攻略(基于Debian系统版)

一、Debian 系统环境准备

系统更新与依赖安装

# 更新系统
sudo apt-get update && sudo apt-get upgrade -y
# 安装基础工具
sudo apt-get install -y curl wget gnupg2 ca-certificates lsb-release
二、Nginx 安装与配置(Debian 版)

安装最新稳定版 Nginx

# 添加官方Nginx仓库
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-get update
# 安装Nginx
sudo apt-get install -y nginx

配置文件路径说明

  • 主配置文件:/etc/nginx/nginx.conf
  • 虚拟主机配置目录:/etc/nginx/conf.d/
  • 日志目录:/var/log/nginx/

启动与管理服务

# 启动Nginx
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
# 重载配置
sudo systemctl reload nginx
三、PHP 安装与配置(Debian 版)

安装 PHP 8.2 及相关扩展

# 添加Sury.org PHP仓库
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt-get update
# 安装PHP及扩展
sudo apt-get install -y php8.2-fpm php8.2-mysql php8.2-cli php8.2-mbstring php8.2-curl php8.2-gd php8.2-xml php8.2-zip php8.2-opcache

PHP-FPM 配置优化

  • 主配置文件:/etc/php/8.2/fpm/php-fpm.conf
  • 池配置目录:/etc/php/8.2/fpm/pool.d/
  • 修改 www.conf:
[www]
user = www-data
group = www-data
listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

启动 PHP-FPM 服务

sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
四、MySQL 安装与配置(Debian 版)

安装 MySQL 8.0

# 添加MySQL官方仓库
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
sudo apt-get update
# 安装MySQL Server
sudo apt-get install -y mysql-server

初始化与安全配置

# 初始化MySQL
sudo mysql_secure_installation
# 登录MySQL
sudo mysql -u root -p

配置文件路径

  • 主配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf
  • 数据目录:/var/lib/mysql/
五、Nginx 与 PHP 集成配置(Debian 版)

创建虚拟主机配置

# /etc/nginx/conf.d/default.conf
server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.php index.html;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }
}

测试 PHP 配置

# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
# 检查Nginx配置
sudo nginx -t
# 重载Nginx
sudo systemctl reload nginx
六、防火墙配置(Debian 版)

使用 UFW 配置防火墙

# 安装UFW
sudo apt-get install -y ufw
# 允许HTTP和HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable
# 查看状态
sudo ufw status
七、性能监控工具(Debian 版)

安装常用监控工具

# 系统监控
sudo apt-get install -y htop iotop bmon
# Nginx监控
sudo apt-get install -y nginx-module-vts
# MySQL监控
sudo apt-get install -y percona-toolkit

配置 Nginx VTS 模块

# /etc/nginx/nginx.conf
load_module modules/ngx_http_vhost_traffic_status_module.so;

http {
    vhost_traffic_status_zone;
    server {
        listen 8080;
        location /status {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }
    }
}
八、常见问题解决(Debian 版)

PHP-FPM 无法启动

# 检查日志
sudo journalctl -u php8.2-fpm
# 检查进程
ps aux | grep php-fpm

Nginx 无法加载 PHP 文件

# 检查PHP-FPM套接字权限
ls -la /run/php/php8.2-fpm.sock
# 检查Nginx配置中的fastcgi_pass路径

MySQL 无法启动

# 检查错误日志
sudo tail -f /var/log/mysql/error.log
# 检查磁盘空间
df -h

通过以上步骤,您可以在 Debian 系统上成功部署和配置 Nginx+PHP+MySQL 环境,并进行基础优化和监控。记得根据实际业务需求调整各项参数,定期备份数据,确保系统安全稳定运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小涑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值