昨天在 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
就可以正常安装了!
最后需要说的是,这种方式也有很明显的缺点,因为内存和闪存的存取速度有相当的区别,我们是将闪存的一部分空间作为内存使用,闪存的速度会拖慢运行速度。最好还是买一个配置较高的服务器,一劳永逸!
参考:
https://www.jianshu.com/p/42cf33041ca8
https://www.jianshu.com/p/fac199a0d133
https://www.cnblogs.com/cshaptx4869/p/10520506.html
原文地址:https://www.cnblogs.com/cshaptx4869/p/12243745.html
时间: 2024-10-09 11:04:23