在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP-FPM)環境時,PHP-FPM(FastCGI Process Manager)用于處理PHP腳本。以下是詳細的配置步驟:
首先,更新你的包列表并安裝Nginx、MySQL和PHP-FPM:
sudo apt update
sudo apt install nginx mysql-server php-fpm
啟動并啟用MySQL服務:
sudo systemctl start mysql
sudo systemctl enable mysql
運行MySQL安全腳本以提高安全性:
sudo mysql_secure_installation
按照提示設置root密碼,刪除匿名用戶,禁止root遠程登錄等。
PHP-FPM的默認配置文件通常位于 /etc/php/7.x/fpm/pool.d/www.conf(具體版本號可能會有所不同)。你可以根據需要進行調整。
編輯PHP-FPM配置文件:
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到以下行并進行修改:
;listen = /run/php/php7.x-fpm.sock ; 默認使用Unix socket
listen = /run/php/php7.x-fpm.sock
;listen.owner = www-data
;listen.group = www-data
確保 listen 指向正確的socket文件,并且 listen.owner 和 listen.group 設置為 www-data。
編輯Nginx的默認站點配置文件:
sudo nano /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:/run/php/php7.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
確保 fastcgi_pass 指向正確的PHP-FPM socket文件。
重啟Nginx和PHP-FPM服務以應用更改:
sudo systemctl restart nginx
sudo systemctl restart php7.x-fpm
創建一個簡單的PHP文件來測試配置是否成功:
sudo nano /var/www/html/index.php
添加以下內容:
<?php
phpinfo();
?>
保存并退出編輯器,然后在瀏覽器中訪問 http://your_server_ip,你應該能看到PHP信息頁面。
如果你啟用了防火墻,確保允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
通過以上步驟,你已經成功在Ubuntu上配置了LNMP環境,并確保PHP-FPM能夠正確處理PHP腳本。如果有任何問題,請檢查日志文件以獲取更多信息:
/var/log/nginx/error.log/var/log/php7.x-fpm.log(具體版本號可能會有所不同)希望這些步驟對你有所幫助!