提高 Bitrix 内容管理系统的效率
提高 Bitrix 内容管理系统的效率
如果您正在考虑提高基于 Bitrix CMS 的网站效率,第一步应考虑将网站迁移到带有 Bitrix7 的服务器。您可以通过您的控制面板创建带有 Bitrix7 的服务器。
迁移可以由您自行完成,也可以寻求我们专家的帮助。所有详情请参阅关于网站迁移至服务器的文章。
内容管理系统设置
完成网站迁移后,可以开始设置内容管理系统。
- 在“系统检查”部分不应有错误记录。
- 在“性能面板”部分的“Bitrix”选项卡中,数值应为“Bitrix (最佳)”。
- 将数据库表类型更改为 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