溫馨提示×

PHP在Ubuntu上的最佳配置

小樊
43
2025-05-09 22:26:58
欄目: 編程語言

在Ubuntu上配置PHP環境是一個相對簡單的過程,以下是一個詳細的步驟指南,包括安裝、配置、性能優化和安全設置。

安裝PHP及其擴展

  1. 更新系統包
sudo apt update
  1. 安裝PHP及其基本擴展
sudo apt install php php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath
  1. 驗證PHP安裝
php -v

配置Web服務器

使用Apache

  1. 安裝Apache
sudo apt install apache2
  1. 啟用PHP模塊
sudo a2enmod php7.4-fpm  # 替換為你的PHP版本
  1. 重啟Apache
sudo systemctl restart apache2
  1. 配置Apache與PHP集成: 確保在/etc/apache2/sites-available/目錄下有一個配置文件,例如000-default.conf,并包含以下內容:
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/html
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
  1. 啟用Apache重寫模塊
sudo a2enmod rewrite
  1. 重啟Apache
sudo systemctl restart apache2

使用Nginx

  1. 安裝Nginx
sudo apt install nginx
  1. 配置Nginx與PHP-FPM: 在/etc/nginx/sites-available/目錄下創建或編輯一個配置文件,例如default,并包含以下內容:
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;  # 替換為你的PHP版本
    }

    location ~ /\.ht {
        deny all;
    }
}
  1. 重啟Nginx
sudo systemctl restart nginx

性能優化

  1. 啟用OPcache: 編輯/etc/php/7.4/fpm/php.ini(替換為你的PHP版本),取消以下行的注釋:
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=64
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
  1. 調整PHP-FPM設置: 編輯/etc/php/7.4/fpm/pool.d/www.conf,調整以下設置:
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
  1. 重啟PHP-FPM和Nginx
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx

安全設置

  1. 編輯php.ini
  • 關閉詳細的錯誤報告:
display_errors Off
log_errors On
error_reporting E_ALL & E_NOTICE & E_DEPRECATED & E_STRICT & E_USER_NOTICE & E_USER_WARNING
  • 啟用安全模式:
safe_mode On
safe_mode_allowed_classes "mysqli,pdo_mysql"
  • 禁用危險函數:
disable_functions exec,system,passthru,shell_exec,popen,curl,fsockopen,file_get_contents,mkdir,rmdir,rename,unlink,chmod,chown,chgrp,date,time,localtime,gmtime,isset,empty,is_array,is_object,is_resource,is_string,is_int,is_float,is_bool,is_callable,assert
  • 使用open_basedir限制PHP可以訪問的系統目錄:
open_basedir /var/www/html:/tmp
  • 關閉allow_url_fopenallow_url_include
allow_url_fopen Off
allow_url_include Off
  1. 配置防火墻: 使用UFW配置防火墻規則:
sudo ufw allow 22/tcp  # 允許SSH
sudo ufw allow 80/tcp  # 允許HTTP
sudo ufw allow 443/tcp # 允許HTTPS
sudo ufw enable
  1. 定期更新系統和軟件包: 保持系統和軟件包的最新狀態,以修復已知的安全漏洞:
sudo apt update
sudo apt upgrade

通過以上步驟,你可以在Ubuntu上成功配置PHP環境,并進行性能優化和安全設置。請根據你的具體需求調整配置。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女