将 wordpress 搬迁到 cyberpanel 环境
一直感觉在 lnmp 下 wordpress 比较慢,所以计划搬迁 cyberpanel 。
安装的是开源版本,因为有中文界面,安装过程不在描述。
创建好域名后,上传网站数据,导入数据库。
打开网页却出现很多乱码,搜索得知,是因为我的主题中大量使用了 <? 这种简短的 php 语法。
本想着从 php.ini 中修改 short_open_tag=On ,但是就是不生效,是噢用 google 搜索得知方案
解决如下:
在 vHost 配置文件中的 phpIniOverride 中增加 php_value short_open_tag 1
docRoot $VH_ROOT/public_html
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails cyberpanel@example.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/$VH_NAME.error_log {
useServer 0
logLevel ERROR
rollingSize 10M
}
accesslog $VH_ROOT/logs/$VH_NAME.access_log {
useServer 0
logFormat "%v %h %l %u %t "%r" %>s %b"
logHeaders 5
rollingSize 10M
keepDays 10 compressArchive 1
}
scripthandler {
add lsapi:talksho php
}
extprocessor talksho {
type lsapi
address UDS://tmp/lshttpd/talksho.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 600
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp71/bin/lsphp
extUser talksho
extGroup talksho
memSoftLimit 2047M
memHardLimit 2047M
procSoftLimit 400
procHardLimit 500
}
context /.filemanager {
location /usr/local/lsws/Example/html/FileManager
allowBrowse 1
autoIndex 1
accessControl {
allow 127.0.0.1, localhost
deny 0.0.0.0/0
}
rewrite {
inherit 0
}
phpIniOverride {
php_value display_errors "Off"
php_value upload_max_filesize "200M"
php_value post_max_size "250M"
}
addDefaultCharset off
}
phpIniOverride {
php_value short_open_tag 1
}
rewrite {
enable 1
autoLoadHtaccess 1
}
配置伪静态,干脆利用面板一键安装了 wordpress 和 ls cache,然后拷贝了过来:
PS:你可以安装插件后使用差价功能重新生成,所以不需要在复制拷贝
两个文件,分别是:.htaccess 和 .htaccess_lscachebak_orig
内容对用如下:
# BEGIN LSCACHE
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
<IfModule LiteSpeed>
RewriteEngine on
CacheLookup on
RewriteRule .* - [E=Cache-Control:no-autoflush]
RewriteRule ^min/\w+\.(css|js) - [E=cache-control:no-vary]
### marker CACHE RESOURCE start ###
RewriteRule wp-content/.*/[^/]*(responsive|css|js|dynamic|loader|fonts)\.php - [E=cache-control:max-age=3600]
### marker CACHE RESOURCE end ###
### marker FAVICON start ###
RewriteRule favicon\.ico$ - [E=cache-control:max-age=86400]
### marker FAVICON end ###
</IfModule>
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
# END LSCACHE
# BEGIN NON_LSCACHE
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
### marker MINIFY start ###
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} ^(.*)/min/(\w+)\.(css|js)$
RewriteCond %1/wp-content/cache/$2/$1.$2 -f
RewriteRule min/(\w+)\.(css|js) wp-content/cache/$2/$1.$2 [L]
</IfModule>
### marker MINIFY end ###
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
# END NON_LSCACHE
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN NON_LSCACHE
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
### marker MINIFY start ###
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} ^(.*)/min/(\w+)\.(css|js)$
RewriteCond %1/wp-content/cache/$2/$1.$2 -f
RewriteRule min/(\w+)\.(css|js) wp-content/cache/$2/$1.$2 [L]
</IfModule>
### marker MINIFY end ###
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
# END NON_LSCACHE
删除文件目录中的 .user.ini
然后后台插件安装 LiteSpeed Cache,但是却提示:安装失败,无法创建目录。
因为文件是手动上传的,没有使用 SFTP 这种工具,所以查看网站内容列表得知用户组全部为 root,我们要给予更改,回到 /home 目录,查看网站主目录的用户组,因为域名是在面板添加,所以已经分配好了用户组
lun ls -l /home/your-domain/public_html
ls -l /home
#目录和用户组以自己的服务器查看为准对应修改
chown -R testcyb:testcyb /home/your-domain/public_html
尔后我们安装核心插件 LiteSpeed Cache
固定链接一度无法访问,报 404 错误,不知怎么就好了,好像是 重新 vHost Conf 重新保存了下。
小插曲,因为分类的固定链接一度无法打开,使用了重写日志来查看,终于找到原因:
首先在 vHost Conf 开启日志功能
rewrite {
enable 1
logLevel 9
autoLoadHtaccess 1
}
最终在出错日志里发现有 php 报错,是语法错误,修改得以解决。
参考重写规则链接:https://blog.cyberpanel.net/2018/04/07/how-to-write-rewrite-rules-for-openlitespeed/
#查看日志
tail -f /usr/local/lsws/logs/error.log
修改 php.ini 后记得重启面板:
systemctl restart lscpd
附上搬迁官网文档:https://blog.cyberpanel.net/2018/04/30/wp-migration-from-any-control-panel-to-cyberpanel/