·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

[服务器面板环境教程] 小内存VPS编译PHP或其扩展,记得要开启swap

283 2
发表于 2023-4-21 17:57:18 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
小内存(512M以下)VPS编译PHP5.3、mysql5.5极有可能会失败,版本越高,要求的内存就越大。这个时候swap就派上用场了,虽然编译会很慢,但不至于编译失败。
swap值通常为内存的1-2倍。

1、查看你的系统里面的swappiness
cat /proc/sys/vm/swappiness   #不出意外的话,你应该看到是 60   
#修改swappiness值为10   
sudo sysctl vm.swappiness=10   #但是这只是临时性的修改,在你重启系统后会恢复默认的60

2、查看swap大小:
free -m
结果最下面有swap大小。

3、觉得swap不够用的话,变更swap空间大小
  1. SWAP=/tmp/swap
  2. dd if=/dev/zero of=$SWAP bs=1M count=1024
  3. mkswap $SWAP
  4. sudo swapon $SWAP
  5. PS:1024这个值可以随VPS内存大小变动,通常为内存的1-2倍
复制代码
PS:永久保留swap方法:
vi /etc/sysctl.conf #在最后一行加上
vm.swappiness=10
保存,重启VPS即可生效。

注:国内突发性VPS是无法通过上述操作编译安装php7.4及mysql5.5。
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-20 19:55:19 | 查看全部
在小内存VPS上编译PHP或其扩展时,确实需要特别注意内存的使用情况。以下是一些详细的步骤和建议,帮助你顺利完成编译过程:

### 1. 查看和修改swappiness值
swappiness值决定了系统使用swap空间的倾向性。默认值通常是60,这意味着系统会相对积极地使用swap空间。对于小内存VPS,建议将swappiness值调低,以减少对swap的依赖。

  1. # 查看当前swappiness值
  2. cat /proc/sys/vm/swappiness

  3. # 临时修改swappiness值为10
  4. sudo sysctl vm.swappiness=10
复制代码


### 2. 查看swap空间大小
使用`free -m`命令可以查看当前系统的内存和swap使用情况。

  1. free -m
复制代码


### 3. 增加swap空间
如果swap空间不足,可以通过以下步骤增加swap空间:

  1. # 创建一个1GB的swap文件
  2. SWAP=/tmp/swap
  3. dd if=/dev/zero of=$SWAP bs=1M count=1024

  4. # 格式化swap文件
  5. mkswap $SWAP

  6. # 启用swap文件
  7. sudo swapon $SWAP
复制代码


### 4. 永久保留swap设置
为了确保每次重启后swap设置仍然有效,可以将swappiness值写入系统配置文件。

  1. # 编辑sysctl配置文件
  2. vi /etc/sysctl.conf

  3. # 在文件末尾添加以下内容
  4. vm.swappiness=10

  5. # 保存并退出
复制代码


### 5. 编译PHP和MySQL
在增加了swap空间并调整了swappiness值后,你可以尝试编译PHP和MySQL。以下是一些常见的编译步骤:

#### 编译PHP
  1. # 下载PHP源码
  2. wget https://www.php.net/distributions/php-7.4.0.tar.gz
  3. tar -xzf php-7.4.0.tar.gz
  4. cd php-7.4.0

  5. # 配置编译选项
  6. ./configure --prefix=/usr/local/php7.4 --with-mysqli --with-pdo-mysql --with-zlib

  7. # 编译并安装
  8. make
  9. sudo make install
复制代码


#### 编译MySQL
  1. # 下载MySQL源码
  2. wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.62.tar.gz
  3. tar -xzf mysql-5.5.62.tar.gz
  4. cd mysql-5.5.62

  5. # 配置编译选项
  6. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5

  7. # 编译并安装
  8. make
  9. sudo make install
复制代码


### 注意事项
- **内存不足**:如果VPS内存非常小(如512MB以下),即使增加了swap空间,编译过程仍然可能非常缓慢,甚至失败。建议考虑升级VPS内存或使用预编译的二进制包。
- **突发性VPS**:国内一些突发性VPS(如阿里云、腾讯云的突发性能实例)在内存使用上有严格限制,编译高版本的PHP和MySQL可能会遇到困难。建议使用云服务商提供的预编译环境或使用Docker等容器技术来避免编译过程。

### 总结
通过增加swap空间和调整swappiness值,可以在小内存VPS上成功编译PHP和MySQL。不过,编译过程可能会非常缓慢,建议在编译期间保持耐心。如果条件允许,升级VPS内存或使用预编译的二进制包是更好的选择。

如果你在编译过程中遇到其他问题,欢迎随时提问,我会尽力帮助你解决。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-22 07:03:42 | 查看全部
在小内存VPS上编译PHP或其扩展时,确实需要特别注意内存的使用情况。以下是一些详细的步骤和建议,帮助你成功编译PHP或其扩展:

### 1. 查看和修改swappiness值
swappiness值决定了系统使用swap空间的倾向。默认值通常是60,这意味着系统会相对积极地使用swap空间。对于小内存VPS,建议将这个值调低,以减少对swap空间的依赖。

  1. # 查看当前swappiness值
  2. cat /proc/sys/vm/swappiness

  3. # 临时修改swappiness值为10
  4. sudo sysctl vm.swappiness=10
复制代码


### 2. 查看swap空间大小
使用`free -m`命令可以查看当前系统的内存和swap空间使用情况。

  1. free -m
复制代码


### 3. 增加swap空间
如果swap空间不足,可以通过以下步骤增加swap空间:

  1. # 创建一个1GB的swap文件
  2. SWAP=/tmp/swap
  3. dd if=/dev/zero of=$SWAP bs=1M count=1024

  4. # 格式化swap文件
  5. mkswap $SWAP

  6. # 启用swap文件
  7. sudo swapon $SWAP
复制代码


### 4. 永久保留swap设置
为了确保在系统重启后swap设置仍然有效,可以将swappiness值写入系统配置文件。

  1. # 编辑sysctl配置文件
  2. vi /etc/sysctl.conf

  3. # 在文件末尾添加以下内容
  4. vm.swappiness=10

  5. # 保存并退出
复制代码


### 5. 编译PHP或其扩展
在增加了swap空间并调整了swappiness值后,你可以尝试编译PHP或其扩展。由于小内存VPS的性能限制,编译过程可能会比较慢,但应该能够成功完成。

### 6. 注意事项
- **国内突发性VPS**:由于资源限制,国内的一些突发性VPS可能无法成功编译高版本的PHP(如PHP 7.4)和MySQL(如MySQL 5.5)。在这种情况下,建议考虑使用预编译的二进制包,或者升级到更高配置的VPS。
- **内存不足**:如果编译过程中仍然遇到内存不足的问题,可以尝试增加swap空间的大小,或者使用更轻量级的编译选项。

### 7. 其他建议
- **使用DZ插件网**:如果你在Discuz!网站开发中遇到问题,可以参考DZ插件网(https://www.dz-x.net/)上的相关资源和插件,这些资源可以帮助你更高效地解决问题。
- **优化编译选项**:在编译PHP时,可以通过调整编译选项来减少内存使用,例如禁用不必要的扩展或功能。

希望这些步骤和建议能帮助你在小内存VPS上成功编译PHP或其扩展。如果你有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.118.105.93,GMT+8, 2025-4-2 16:10 , Processed in 0.282814 second(s), 76 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表