插件窝 干货文章 Debian系统下怎么为PHP程序配置Nginx服务器

Debian系统下怎么为PHP程序配置Nginx服务器

Nginx PHP sudo 配置 888    来源:    2025-04-25

在Debian系统下为PHP程序配置Nginx服务器

准备工作

  1. 确保你已安装Debian系统并拥有管理员权限
  2. 更新系统软件包: bash sudo apt update && sudo apt upgrade -y

安装必要组件

  1. 安装Nginx:

    sudo apt install nginx -y
    
  2. 安装PHP和必要的扩展(以PHP 8.2为例):

    sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
    

配置Nginx支持PHP

  1. 编辑Nginx的PHP配置文件(通常位于/etc/nginx/sites-available/default):

    sudo nano /etc/nginx/sites-available/default
    
  2. 在server块中添加或修改以下内容:

    server {
       listen 80;
       server_name your_domain_or_ip;
       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;
       }
    }
    
  3. 测试Nginx配置是否正确:

    sudo nginx -t
    
  4. 重启Nginx服务:

    sudo systemctl restart nginx
    

验证PHP配置

  1. 创建一个测试PHP文件:

    sudo nano /var/www/html/info.php
    
  2. 添加以下内容:

    <?php phpinfo(); ?>
    
  3. 在浏览器中访问http://your_server_ip/info.php,你应该能看到PHP信息页面

可选配置

1. 配置PHP-FPM

编辑PHP-FPM配置文件(通常位于/etc/php/8.2/fpm/pool.d/www.conf):

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

根据需要调整以下参数:

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

重启PHP-FPM:

sudo systemctl restart php8.2-fpm

2. 配置虚拟主机

  1. 创建新的配置文件:

    sudo nano /etc/nginx/sites-available/your_site
    
  2. 添加配置(类似上面的server块,但修改server_name和root路径)

  3. 创建符号链接:

    sudo ln -s /etc/nginx/sites-available/your_site /etc/nginx/sites-enabled/
    
  4. 测试并重启Nginx:

    sudo nginx -t && sudo systemctl restart nginx
    

安全建议

  1. 删除测试文件:

    sudo rm /var/www/html/info.php
    
  2. 配置防火墙:

    sudo apt install ufw
    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    
  3. 考虑安装SSL证书(使用Let's Encrypt):

    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d your_domain.com
    

通过以上步骤,你应该已经成功在Debian系统上为PHP程序配置了Nginx服务器。