AMH面板虽然收费,但是以及其稳定的性能也赢得了不少用户。
我在使用过程中发现如果使用极速免编译安装方式来安装面板,那么AMH默认安装的组件非常老旧
它们分别是nginx-generic-1.12mysql-generic-5.5php-generic-5.3
并且因为面板的运行非常依赖这些组件,所以用户无法从面板上直接升级或切换,博主在更早的时候曾经分享过AMH5.3切换Nginx组件的方式,也适用于AMH5.8,详见下文

那么今天博主除了切换Nginx版本以外还要切换mysql和php,具体切换步骤如下:

安装软件

装好面板并且完成授权后,进入AMH的网站环境 (LNMP)软件商店中下载你想要切换(升级)的软件版本
网站环境 (LNMP)
软件商店

我这里选择nginx-1.16mysql-5.7php-5.6
下载并完成安装后进行下一步操作。

修改配置

完成新版软件的安装后就要修改AMH的环境配置文件了,它们的位置分别为

/usr/local/amh-5.8/etc/amh-base.conf
/usr/local/amh-5.8/etc/main.conf

把上面文件中的nginx、mysql、php版本分别改成你所下载的软件版本
例如博主的默认组件为

mysql-generic-5.5
nginx-generic-1.12
php-generic-5.3

改为

mysql-5.7
nginx-1.16
php-5.6

切换mysql版本

先从面板web目录中找到连接数据库的密码,打开/usr/local/amh-5.8/web/Amysql/Config.php倒数第二行,如下:

$Config['Password'] = 'Password';                // Mysql密码

数据库管理 (DB)选项卡中点击MySQL 数据库列表单击选择mysql-5.7,在用户管理中选择root修改密码为我们上面找到的密码,确认提交。

修改密码后在数据库列表中使用root密码连接一下。

安装phpMyAdmin用它从旧版mysql中导出amh数据库,然后在新版mysql中新建amh数据库并导入其数据。
注意新建数据库时排序规则选utf8_general_ci

数据导入完成后需要修改amh数据库连接版本,打开文件/usr/local/amh-5.8/etc/amh-php.ini

mysql.default_socket = /tmp/mysql-generic-5.5.sock    #修改为/tmp/mysql-5.7.sock
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket = /tmp/mysql-generic-5.5.sock    #修改为/tmp/mysql-5.7.sock

切换后务必运行下面命令更新mysql软链接,否则可能出现软件无法安装的问题

[root@localhost ~]# ln -snf /usr/local/mysql-5.7/bin/mysql /usr/bin/mysql

上面命令中的mysql-5.7修改为你所安装的mysql版本

切换PHP版本

在上面修改配置的步骤中已经完成切换了,无需再做其他设置。

切换Nginx版本

可以参照本文开篇引用的另一篇文章来操作。

打开文件/usr/local/nginx-1.16/conf/nginx.conf

user  www www;
worker_processes auto;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
{
    use epoll;
    worker_connections 51200;
}

http
{
    include  mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 4k;
    large_client_header_buffers 4 4k;
    client_max_body_size 50m;
    sendfile on;
    tcp_nopush on;

    keepalive_timeout 60 60;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 16 16k;
    fastcgi_busy_buffers_size 16k;
    fastcgi_temp_file_write_size 16k;
    fastcgi_intercept_errors on; 

    tcp_nodelay on;
    server_tokens off;
    gzip             on;
    gzip_min_length  1000;
    gzip_proxied     expired no-cache no-store private auth;
    gzip_types       text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/xml application/rss+xml application/xhtml+xml application/atom_xml;
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer"  "$http_user_agent" $http_x_forwarded_for';
    include /usr/local/amh-5.8/vhost/amh-nginx.conf;    #插入这一行

}

在末尾插入include /usr/local/amh-5.8/vhost/amh-nginx.conf;

完成上面所有操作后使用命令重启面板

/etc/init.d/amh-start

等待面板重启完成后进入网站环境 (LNMP)选项卡停用并卸载旧版软件即可。

以上操作不可逆,如有重要资料请先备份,博主不对因本文操作导致的数据丢失承担任何责任。

如果觉得我的文章对你有用,请随意赞赏