升級 Ubuntu 18.04

動機:如何將現有的 Ubuntu 17.10 + PHP 7.1 + MariaDB 10.1.29 + nginx 1.14.0 + Laravel Framework 5.2.45 + Vue.js 1.0 升級 呢?!

準備環境
1.個人電腦PC(網站開發測試環境, 正式環境係機架式2U HP Server)

實作步驟
1.依據 Ubuntu 軟體更新通知, 可升級至 18.04...遂按下升級(沒想那麼多, 想說之前在LEMP環境建置時是順利的)

2.下載升級完成約40分鐘(視網路速度而定)...

3.升級完後, 執行網站瀏覽驗證...果然是無法看的...

4.查證 /var/log/nginx/error.log 內容, 如下
2018/05/03 10:29:21 [crit] 2128#2128: *1 connect() to unix:/var/run/php/php7.1-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 1.162.31.67, server: _, request: "GET /dashboard/logs HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.1-fpm.sock:", host: "xxyyzz.ddns.net:8000"
想到...應該是 PHP 由 7.1.2 升級至 7.2.3 導致 eginx設定錯誤...
修改 /etc/nginx/sites-available/xxyyzz 如下
其中
fastcgi_pass             unix:/var/run/php/php7.2-fpm.sock;

5.再次執行網站瀏覽驗證...發現 Laravel顯示 count error
其中修改了...vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
$originalWhereCount = is_array($query->wheres) ? count($query->wheres) : 0;
其中紫色字是需增加的...
改完後就網站可以正常操作了!!

6.但查證...Laravel開發環境 時, 執行 gulp 發現了一堆 error...由於這是我 LEMP+Laravel+Vue.js 非常重要的工具, 遂立即修復它...
執行指令如下
(project directory)$ sudo su
(project directory)# rm -rf node_modules
(project directory)# rm -rf package-lock.json
(project directory)# npm cache clean
(project directory)# npm install

7.完成 gulp 修復後, 再次執行 gulp watch 又發現錯誤 RangeError: Maximum call stack size exceeded
修改 (project directory)# nano node_modules/gaze/lib/helper.js
  var iterate = function() {
    process.nextTick(function() {
      iterator(arr[completed], function (err) {
        if (err) {
          callback(err);
          callback = function() {};
        } else {
          completed += 1;
          if (completed === arr.length) {
            callback(null);
          } else {
            iterate();
          }
        }
      });
    });
  };
其中紫色字是需增加的...

心得:網站開發環境一般係考量穩定性安全性,不太會去執行相關的開發環境、工具更新的...但此次隨著Ubuntu的版本更新,可發現其更版的穩定性是超讚的!!
Laravel+Vue.js 的開發程式更版就理應不太會順利了...外加上我的網站開發(二年前開始)架構 Laravel 是舊版 5.2(不相容於目前新版 5.6)、Vue.js 是舊版 1.0.8(不相容於目前新版 2.x)、VueStrap v1.1.37 維持不變...能更新到如此?!我已心滿意足了!!
萬分感謝 Ubuntu Team

留言