昨天在 Linux 服務器上部署 PHP 項目時遇到了一個問題,系統為 Centos 7 ,1 核 1G 的配置。通過 Git 拉取代碼后,由於是基於 Laravel 框架的項目,所以需要使用 Composer 安裝擴展包依賴,和平常一樣,在項目根目錄執行
composer install
但是直接輸出了 killed,中斷了安裝,在網上查了一些資料,原因大致是內存不足導致的,程序不能正常使用,解決思路是 Linux 系統中內存不足時可以使用 Swap 分區進行擴充,具體操作步驟如下:
# 查看內存和 swap 的使用情況: $ free -m # 在 var 目錄創建制作swap文件 $ cd /var $ mkdir swap $ cd swap # 創建一個空文件, count 表示創建的文件大小,這里代表1GB $ dd if=/dev/zero of=swapfile bs=1024 count=1000000 # 將創建的文件制作為 swap 文件 $ mkswap swapfile # 使swap文件生效 $ swapon swapfile # 自動掛載 $ vim /etc/fstab # 寫入 /var/swap/swapfile none swap sw 0 0 #再次查看使用情況 $ free -m
完成上述的步驟后,應該 Swap 分區就可以正常使用了,再次執行 composer install
就可以正常安裝了!
最后需要說的是,這種方式也有很明顯的缺點,因為內存和閃存的存取速度有相當的區別,我們是將閃存的一部分空間作為內存使用,閃存的速度會拖慢運行速度。最好還是買一個配置較高的服務器,一勞永逸!
參考: