自 Plesk 12.5 起,可以在 Plesk 伺服器上升級作業系統。在 Plesk 中支援以下 dist-upgrade 升級路徑:

  • Debian 6 到 Debian 7
  • Debian 7 到 Debian 8
  • Ubuntu 12.04 到 Ubuntu 14.04
  • Ubuntu 14.04 到 Ubuntu 16.04 (僅 Plesk Onyx 支援)

備註: 注意: 目前,Ubuntu 不支援從 Ubuntu 16.04 到 Ubuntu 18.04 進行 dist 升級,Plesk 也不支援。

Dist-upgrade 不是一個簡單的過程。要實現必須要有豐富的系統管理經驗以及對系統和其元件充分的瞭解。

如果您之前從未執行過 dist-upgrade,建議您首先執行下面的步驟:

  1. 在測試伺服器或虛擬機器內安裝升級前的作業系統版本。按照作業系統供應商提供的文檔說明升級該系統:

  2. 請解決所有潛在的問題,確保在升級後 Plesk 仍能正常運行。只有這樣然後再於生產性伺服器上運行升級。

Ubuntu 14 到 Ubuntu 16 (Plesk 12.5 不支援 Ubuntu 16)

在從 Ubuntu 14 升級到 Ubuntu 16 的過程中,作業系統供應商附帶提供的系統 PHP 5.x 將會被升級到 PHP 7.x。為了避免任何 PHP 相容性問題,建議在升級前,將所有使用作業系統供應商提供的 PHP 5x 處理常式的網站切換為相應的 PHP 處理常式。請參閱這些KB文章瞭解詳情: KB #213382129KB #213933525

備註: 注意:大部分的 APS 應用程式與 PHP 7.x 不相容

執行從 Ubuntu 14 到 Ubuntu 16 的 dist-upgrade

若要執行從 Ubuntu 14 到 Ubuntu 16 的 dist-upgrade,請如下操作:

  1. 運行下面的腳本然後根據嚮導操作:

    # /opt/psa/bin/distupgrade.helper.ubt14-ubt16.x64.sh
    

    該腳本會在 /var/log/plesk/install/plesk-distupgrade.log 中記錄其所有的操作。

  2. 在執行腳本的過程中將會要求您重啟伺服器。重啟伺服器。

  3. 伺服器重啟後,請再次運行該腳本。

執行從 Debian 6、7 和 Ubuntu 12 的 dist-upgrade

為升級進行伺服器準備:

  1. 全量備份伺服器。 在您開始升級前,請全量備份伺服器。同時通知您的客戶接下來將要宕機一到三小時。

  2. 考慮移除可能是上次 dist-upgrade 遺留下來的源列表備份檔案:

    /etc/apt/sources.list.saved_by_plesk_distupgrade
    /etc/apt/sources.list.d/50sw_autoinstaller.list.saved_by_plesk_distupgrade
    
  3. 運行升級前助手腳本(本案例中是從 Debian 7 到 Debian 8 的 dist-upgrade )並為升級進行 Plesk 和系統準備:

    # /opt/psa/bin/distupgrade.helper.deb7-deb8_pre.x64.sh
    

    該腳本會在 /var/log/plesk/install/plesk-distupgrade.log 中記錄其所有的操作。

  4. 禁止在作業系統升級過程中切換到 systemd 。使用下面的內容創建檔 /etc/apt/preferences.d/local-pin-init

# cat /etc/apt/preferences.d/local-pin-init
Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1

執行 dist-upgrade

  1. 更新有關系統包的資訊:

    # apt-get update
    
  2. 升級系統:

    • Debian:

      # apt-get dist-upgrade
      
    • Ubuntu:

      # do-release-upgrade
      

    該命令將會執行完整的系統升級,安裝所有包的最新可用版本,解決不同發行版本中各個包之間所有可能的依賴更改。

    在升級的過程中系統可能會生成如下的提示:

Configuration file `/etc/mysql/my.cnf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
  What would you like to do about it ? Your options are:
   Y or I : install the package maintainer's version
   N or O : keep your currently-installed version
   D : show the differences between the versions
   Z : start a shell to examine the situation
 The default action is to keep your current version.
*** my.cnf (Y/I/N/O/D/Z) [default=N] ?

選擇使用新的設定檔替換原有的設定檔 (回答 Y )。

完成升級

  1. 運行升級後助手腳本:

    # /opt/psa/bin/distupgrade.helper.deb7-deb8_post.x64.sh
    

    該腳本會在 /var/log/plesk/install/plesk-distupgrade.log 中記錄其所有的操作。

  2. 移除文件 /etc/apt/preferences.d/local-pin-init 並安裝 systemd-sysv 包:

    # rm -f /etc/apt/preferences.d/local-pin-init
    # apt-get install systemd-sysv
    
  3. 重啟伺服器。

  4. 檢查 Plesk 和其所有的服務是否正常運行。