在Ubuntu上部署PHP應用可以通過多種方式進行,以下是一個基本的步驟指南,假設你已經安裝了Ubuntu操作系統并且有一個PHP應用需要部署:
首先,確保你的系統包是最新的:
sudo apt update
sudo apt upgrade -y
Nginx是一個高性能的HTTP和反向代理服務器,適合用來部署PHP應用。
sudo apt install nginx -y
PHP-FPM(FastCGI Process Manager)是一個PHP FastCGI實現,具有更好的性能和靈活性。
sudo apt install php-fpm -y
編輯Nginx的默認配置文件,或者創建一個新的配置文件來處理你的PHP應用。
sudo nano /etc/nginx/sites-available/yourapp
在文件中添加以下內容:
server {
listen 80;
server_name yourdomain.com; # 替換為你的域名或IP地址
root /var/www/yourapp; # 替換為你的應用目錄
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.4-fpm.sock; # 根據你的PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存并退出編輯器,然后創建一個符號鏈接以啟用該配置:
sudo ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled/
測試Nginx配置是否正確:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
編輯PHP-FPM的配置文件,確保它監聽Unix套接字:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到以下行并取消注釋:
listen = /run/php/php7.4-fpm.sock
保存并退出編輯器,然后重啟PHP-FPM服務:
sudo systemctl restart php7.4-fpm
將你的PHP應用文件復制到/var/www/yourapp
目錄下。你可以使用scp
、rsync
或其他文件傳輸工具來完成這一步。
確保Nginx用戶(通常是www-data
)有權訪問你的應用目錄:
sudo chown -R www-data:www-data /var/www/yourapp
sudo chmod -R 755 /var/www/yourapp
如果你使用的是UFW(Uncomplicated Firewall),確保允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
打開瀏覽器并訪問你的域名或IP地址,你應該能夠看到你的PHP應用。
以上步驟提供了一個基本的部署流程,具體步驟可能會根據你的應用需求和系統配置有所不同。