+7 (7232) 91-95-12

帮助

提高 Bitrix 内容管理系统的效率

提高 Bitrix 内容管理系统的效率

如果您正在考虑提高基于 Bitrix CMS 的网站效率,第一步应考虑将网站迁移到带有 Bitrix7 的服务器。您可以通过您的控制面板创建带有 Bitrix7 的服务器。

迁移可以由您自行完成,也可以寻求我们专家的帮助。所有详情请参阅关于网站迁移至服务器的文章。

内容管理系统设置

完成网站迁移后,可以开始设置内容管理系统。

  1. 在“系统检查”部分不应有错误记录。
  2. 在“性能面板”部分的“Bitrix”选项卡中,数值应为“Bitrix (最佳)”。
  3. 将数据库表类型更改为 InnoDB 并执行数据库优化。建议预先创建备份。

服务器设置

接下来可以进行服务器配置。

1. 使用 root 用户凭据通过 SSH 连接到服务器。

2. 使用以下命令启动 Bitrix 虚拟环境菜单:

~/menu.sh

3. 选择第 4 项 "Configure memcached servers"。

4. memcached 将开始安装。在安装过程中,系统会要求您输入服务器的主机名 (hostname)。您需要指定屏幕上显示的表格中的 ServerName 值。

5. 安装完成后,配置 /etc/sysconfig/memcached 配置文件。使用文本编辑器(例如 nano)打开:

nano /etc/sysconfig/memcached

如果您没有 nano,可以使用命令 yum install nano 进行安装。设置以下参数:

# 并发连接数(默认为 1024)
MAXCONN="1024"
# 为缓存分配的内存量(默认为 64MB)
CACHESIZE="1024"
# memcached 线程数
OPTIONS="-t 4"

6. 使用以下命令重启服务:

systemctl restart memcached.service

7. 在 /bitrix/php_interface/dbconn.php 文件中连接 memcached:

nano /网站目录路径/bitrix/php_interface/dbconn.php

在文件中添加以下行:

define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");

8. 打开或创建 /bitrix/.settings_extra.php 文件:

nano /网站目录路径/bitrix/.settings_extra.php

插入以下代码:

<?php
return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => '127.0.0.1',
        'port' => '11211',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
  ),
);
?>

请注意:错误的 memcached 配置可能会对性能产生负面影响。如果您发现性能下降,请尝试调整 /etc/sysconfig/memcached 中的值。

9. 将 MySQL 临时文件目录移至 RAM 磁盘:

9.1. 创建文件夹并更改权限:

mkdir /var/lib/mysql/tmp
chown mysql:mysql /var/lib/mysql/tmp

9.2. 在 /etc/fstab 文件末尾添加一行(uid/gid 请通过 id mysql 命令确认):

tmpfs /var/lib/mysql/tmp tmpfs rw,gid=27,uid=27,size=1G,nr_inodes=10k,mode=0700 0 0

9.3. 挂载分区并在 MySQL 配置中设置 tmpdir:

mount /var/lib/mysql/tmp

在 /etc/mysql/my.cnf 中添加:tmpdir=/var/lib/mysql/tmp 并重启 MySQL:systemctl restart mysqld

10. 在 /etc/mysql/conf.d/z_bx_custom.cnf 中启用延迟事务:

innodb_flush_log_at_trx_commit = 0

如有任何疑问,请联系我们