在Ubuntu上配置PHP-FPM與Nginx是一個常見的任務,以下是一個詳細的步驟指南:
首先,更新你的包列表并安裝Nginx和PHP-FPM:
sudo apt update
sudo apt install nginx php-fpm
PHP-FPM的默認配置文件通常位于 /etc/php/7.x/fpm/pool.d/www.conf
(其中 7.x
是你的PHP版本)。你可以根據需要進行一些調整,例如更改監聽地址和端口。
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到以下行并進行修改:
;listen = /run/php/php7.x-fpm.sock ; for a unix socket
listen = 127.0.0.1:9000 ; for a tcp socket
編輯Nginx的默認站點配置文件:
sudo nano /etc/nginx/sites-available/default
將以下內容添加到 server
塊中:
server {
listen 80;
server_name your_domain.com; # 替換為你的域名或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/php7.x-fpm.sock; # 使用unix socket
# fastcgi_pass 127.0.0.1:9000; # 或者使用tcp socket
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
創建一個符號鏈接以啟用站點配置:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
測試Nginx配置文件是否有語法錯誤:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
確保PHP-FPM服務正在運行:
sudo systemctl start php7.x-fpm
sudo systemctl enable php7.x-fpm
如果你使用的是UFW(Uncomplicated Firewall),確保允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
創建一個簡單的PHP文件來測試配置:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在瀏覽器中訪問 http://your_domain.com/info.php
,你應該能看到PHP信息頁面。
刪除測試文件:
sudo rm /var/www/html/info.php
完成以上步驟后,你的Ubuntu系統應該已經成功配置了PHP-FPM與Nginx。