標籤:升級 php-fpm 建議 多個 服務 三方 網站程式 檔案 root
一般情況下不建議對生產環境進行升級,升級開始後會停止LNMP相關服務。
本文僅適用於LNMP1.2、1.3及1.4等以後版本!
在LNMP目前LNMP v1.2/1.3+版本中已經包含了Nginx、MySQL/MariaDB、PHP、PHPMyAdmin的升級指令碼,可以協助搭建對環境中的程式進行升級。(注意:以下操作均必須在lnmp安裝包壓縮包解壓後的目錄裡運行)
一、Nginx升級指令碼
執行:./upgrade.sh nginx 按提示輸入版本號碼後斷行符號(訪問 http://nginx.org/en/download.html 可尋找nginx的最新版本號碼和以往舊版本號碼。如:1.6.0 ),再次斷行符號確認即可開始升級Nginx。如要升級到1.9.5或更高版本必須使用v1.3或更改版本裡面的升級指令碼。Nginx升級為平滑升級,升級過程不影響nginx的運行。
另外如需添加其他模組可以編輯lnmp.conf 設定檔,在 Nginx_Modules_Options 參數的引號裡加其他需要的參數(一般添加第三方模組的話是--add-module=/第三方模組源碼目錄)。
lnmp 1.2版修改include/upgrade_nginx.sh檔案
在Nginx_Modules_Arguments="" 參數的雙引號裡添加需要的其他模組,多個模組參數空格隔開,然後再運行升級即可。
二、MySQL升級指令碼
雖然指令碼會備份資料,但依然建議先自行備份!
執行:./upgrade.sh mysql 需要先輸入MySQL root密碼進行驗證,驗證不通過將無法進行升級,驗證通過後可以到http://dev.mysql.com/downloads/mysql/ 擷取MySQL的版本號碼,輸入後斷行符號確認,如要啟用Innodb,輸入y,不確定的話也可以輸入輸入y 斷行符號確認,再次斷行符號確認即可開始升級。會在/root 目錄下產生mysql_upgrade日期.log的記錄檔,供出錯時排查。
如升級失敗恢複:(1.4及更高版本)將/usr/local/oldmysql日期目錄下面的init.d.mysql.bak.日期的檔案拷貝到/etc/init.d/目錄下並重新命名為mysql及將my.cnf.bak.日期拷貝到/etc/目錄下並重新命名為 my.cnf,並將/usr/local/oldmysql日期目錄重新命名為mysql即可恢複mysql。(下面MySQL升級至MariaDB及升級MariaDB一樣)
(1.3及以下版本)將/etc/下的my.conf.bak.日期的設定檔重新命名為my.cnf和/etc/init.d/下的mysql.bak.日期重新命名為mysql,同時將/usr/local/下的oldmysql日期目錄重新命名為mysql即可恢複。
三、MySQL升級至MariaDB指令碼
MariaDB是MySQL的一個分支,主要由開源社區在維護。MariaDB相容MySQL,由MySQL創始人主導開發。依然建議先自行備份!
執行:./upgrade.sh m2m 需要先輸入MySQL root密碼進行驗證,驗證不通過將無法進行升級,驗證通過後可以到https://downloads.mariadb.org/ 擷取MariaDB的版本號碼,輸入後斷行符號確認,如要啟用Innodb,輸入y,不確定的話也可以輸入輸入y 斷行符號確認,再次斷行符號確認即可開始升級。會在/root 目錄下生產mysql2mariadb_upgrade日期.log的記錄檔,供出錯時排查。
如升級失敗恢複:(1.4及更高版本)將/usr/local/mysql2mariadb日期目錄下面的init.d.mysql2mariadb.bak.日期的檔案拷貝到/etc/init.d/目錄下並重新命名為mysql及將my.cnf.mysql2mariadbbak.日期拷貝到/etc/目錄下並重新命名為 my.cnf,並將/usr/local/下的mysql2mariadb日期目錄重新命名為mysql即可恢複mysql。
(1.3及以下版本)將/etc/下的my.conf.bak.日期的設定檔重新命名為my.cnf和/etc/init.d/下的mariadb.bak.日期重新命名為mariadb,同時將/usr/local/下的oldmariadb日期目錄重新命名為mariadb即可恢複。
四、MariaDB升級指令碼
依然建議先自行備份!
執行:./upgrade.sh mariadb 需要先輸入MariaDB root密碼進行驗證,驗證不通過將無法進行升級,驗證通過後可以到https://downloads.mariadb.org/ 擷取MariaDB的版本號碼,輸入後斷行符號確認,如要啟用Innodb,輸入y,不確定的話也可以輸入輸入y 斷行符號確認,再次斷行符號確認即可開始升級。會在/root 目錄下生產mariadb_upgrade日期.log的記錄檔,供出錯時排查。
如升級失敗恢複:(1.4及更高版本)將/usr/local/oldmariadb日期目錄下面的init.d.mariadb.bak.日期的檔案拷貝到/etc/init.d/目錄下並重新命名為mariadb及將my.cnf.bak.日期拷貝到/etc/目錄下並重新命名為 my.cnf,並將/usr/local/下的oldmariadb日期目錄重新命名為mariadb即可恢複mariadb。
(1.3及以下版本)將/etc/下的my.conf.bak.日期的設定檔重新命名為my.cnf和/etc/init.d/下的mariadb.bak.日期重新命名為mariadb,同時將/usr/local/下的oldmariadb日期目錄重新命名為mariadb即可恢複。
五、LNMP PHP升級指令碼
升級PHP前,請確認你的網站程式是否支援升級到的PHP版本,防止升級到網站程式不相容的PHP版本,具體可以去你使用的PHP程式的官網查詢相關版本支援資訊。v1.3及以後版本大部分情況下也可以進行降級操作。
執行:./upgrade.sh php 到http://www.php.net/downloads.php 擷取版本號碼,輸入版本號碼,如5.3.28 斷行符號,再次斷行符號確認即可開始升級。
如需要編譯其他參數可以,lnmp 1.3及以後版本版可以修改lnmp.conf設定檔裡的 PHP_Modules_Options 參數的引號裡加其他需要的參數。
lnmp 1.2版修改include/upgrade_php.sh檔案
在PHP_Modules_Arguments="" 參數的雙引號裡添加需要的其他模組,多個模組參數空格隔開,然後再運行升級即可。
升級完PHP如果phpmyadmin可能會無法使用,需要升級phpmyadmin至對於php和mysql版本的phpmyadmin版本。
如果升級失敗可下載並壓縮 /root/upgrade_lnmp_php日期.log 日誌去https://bbs.vpser.net 論壇進行反饋。
如果要恢複原PHP,將 /usr/local/ 下 oldphp日誌 的目錄重新命名為 php 並,將/usr/local/oldphp日期/init.d.php-fpm.bak.日期 的檔案拷貝到/etc/init.d/ 目錄下重新命名為 php-fpm 即可恢複。
六、LNMPA/LAMP PHP升級指令碼
升級PHP前,請確認你的網站程式是否支援升級到的PHP版本,防止升級到網站程式不相容的PHP版本,具體可以去你使用的PHP程式的官網查詢相關版本支援資訊。
執行:./upgrade.sh phpa 到http://www.php.net/downloads.php 擷取版本號碼,輸入版本號碼,如5.3.28 斷行符號,再次斷行符號確認即可開始升級。
升級完PHP如果phpmyadmin可能會無法使用,需要升級phpmyadmin至對於php和mysql版本的phpmyadmin版本。
七、PHPMyAdmin升級指令碼
升降級前建議去https://www.phpmyadmin.net/downloads/ 查看PHPMyAdmin版本號碼兵確認與PHP和MySQL的相容性。
執行:./upgrade.sh phpmyadmin 輸入PHPMyAdmin版本號碼,斷行符號確認,再次斷行符號確認即可自動完成升級。
LNMP 1.2/1.3+升級Nginx、MySQL/MariaDB、PHP教程