飞仔

已创建论坛回复

查看 15 回复 - 61 至 75 (总计 93)
  • 回复至: 计划升级到 NextCloud 21 #2957
    飞仔
    楼主

    检查 NextCloud 运行,并升级到 HTTP/2 ✔

    将 apache 升级到 httpd 2.4.34 后,我们已经具备开启 HTTP/2 的访问条件了。检查 NextCloud 运行状态,目前看来,NextCloud 运行状况良好,没有什么问题。由于折腾的时候无法做到非常详细的步骤记录,大概记得好像是升级了 httpd 2.4.34 之后,已 apache 身份运行的后台任务无法正常工作。

    定时执行的后台任务脚本如下:

    */15 * * * * php -f /fzdata/www/html/nextcloud/cron.php
    

    这个问题也可能是更改了 apache 的工作模式之后才发现的,反正在官方手册找了另一种系统计时器方法执行后台定时任务。

    /etc/systemd/system/目录下分别创建 nextcloudcron.service 与 nextcloudcron.timer 两个文件内容如下:

    nextcloudcron.service 文件内容:

    [Unit]
    Description=Nextcloud cron.php job
    
    [Service]
    User=apache
    ExecStart=/usr/bin/php -f /fzdata/www/html/nextcloud/cron.php
    KillMode=process

    nextcloudcron.timer 文件内容:(每10分钟执行cron.php)

    [Unit]
    Description=Run Nextcloud cron.php every 10 minutes
    
    [Timer]
    OnBootSec=10min
    OnUnitActiveSec=10min
    Unit=nextcloudcron.service
    
    [Install]
    WantedBy=timers.target

    然后启动系统计时器执行 cron.php 后台任务:

    systemctl enable --now nextcloudcron.timer
    

    后台任务不能定时执行的问题已解决。

    开启 HTTP/2 ✔

    apache 开启 HTTP/2 需要切换工作模式为 mpm_event (在这里花了不少的时间去解决各种之前从未遇到过的问题)

    1、修改 apache 工作模式

    修改配置文件/opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf

    # Select the MPM module which should be used by uncommenting exactly
    # one of the following LoadModule lines:
    
    # prefork MPM: Implements a non-threaded, pre-forking web server
    # See: http://httpd.apache.org/docs/2.4/mod/prefork.html
    # 注释默认的 mpm_prefork 工作模式
    # LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    
    # worker MPM: Multi-Processing Module implementing a hybrid
    # multi-threaded multi-process web server
    # See: http://httpd.apache.org/docs/2.4/mod/worker.html
    #
    #LoadModule mpm_worker_module modules/mod_mpm_worker.so
    
    # event MPM: A variant of the worker MPM with the goal of consuming
    # threads only for connections with active processing
    # See: http://httpd.apache.org/docs/2.4/mod/event.html
    # 启用 mpm_event 工作模式
    LoadModule mpm_event_module modules/mod_mpm_event.so

    2、开启 HTTP/2

    修改配置文件/opt/rh/httpd24/root/etc/httpd/conf.d/ssl.conf
    <VirtualHost>之间</VirtualHost>加入 Protocols h2 http/1.1 开启 HTTP/2,示例如下:

    <VirtualHost _default_:443>
    ...
    # 开启 HTTP/2
    Protocols h2 http/1.1
    ...
    DocumentRoot "/var/www/html"
    ...
    </VirtualHost>

    3、安装与启用 php-fpm

    由于之前 apache 工作在 mpm_prefork 模式,不需要启用 php-fpm ,在安装 PHP 的时候没有安装 php-fpm 。

    安装 php-fpm
    yum install rh-php73-php-fpm

    启动 php-fpm
    service rh-php73-php-fpm start

    设置开机启动 php-fpm
    systemctl enable --now rh-php73-php-fpm

    4、apache 搭配 php-fpm 运行的配置

    首先停止 apache 与 php-fpm 这两个家伙,配置 Apache 使用 Unix Socket 连接 PHP

    新建配置文件 rh-php73-php-fpm.conf,内容如下:

    <FilesMatch \.php$>
            SetHandler "proxy:unix:/run/php73-php-fpm.sock|fcgi://localhost"
    </FilesMatch>
    

    保存至/opt/rh/httpd24/root/etc/httpd/conf.d/ 目录下。

    接下来

    创建 Socket 文件

    /run/目录下创建php73-php-fpm.sock

    cd /run
    touch php73-php-fpm.sock
    chown apache:apache php73-php-fpm.sock
    chmod 777 php73-php-fpm.sock
    

    配置 php-fpm 监听 Unix Socket
    修改配置文件/etc/opt/rh/rh-php73/php-fpm.d/www.conf

    ;   '/path/to/unix/socket' - to listen on a unix socket.
    ; Note: This value is mandatory.
    ; 注释默认的 TCP监听端口
    ; listen = 127.0.0.1:9000
    
    ; 监听刚才创建的 php73-php-fpm.sock
    listen = /run/php73-php-fpm.sock
    listen.owner = apache
    listen.group = apache

    现在所有 HTTP/2 的工作条件已经具备,重启 apache 与 php-fpm 之后,删除浏览器缓存,刷新你的网站即可验证 h2 已经正常工作了。

    实际配置 apache 与 php-fpm 是经历了无数次的失败,之后才让她们配合起来工作的啦!

    回复至: 计划升级到 NextCloud 21 #2955
    飞仔
    楼主

    太多需要去测试完善与处理,有空了再记录。

    🕒

    回复至: 计划升级到 NextCloud 21 #2954
    飞仔
    楼主

    开启 HTTP/2 实际上没有那么简单 😥

    过程简直曲折离奇!欲知后续详细剧情,请继续关注今天 23:32 的午夜折腾专场,将为大家献上详细的文字直播✍️

    回复至: 计划升级到 NextCloud 21 #2953
    飞仔
    楼主

    升级 apache

    卸载旧版本 apache:

    尝试使用命令列出已安装的 httpd 相关软件包:

    尝试命令:
    rpm -qa|grep httpd

    日志如下:

    [root@localhost ~]# rpm -qa|grep httpd
    httpd24-runtime-1.1-19.el7.x86_64
    httpd24-httpd-2.4.34-18.el7.x86_64
    httpd-2.4.6-93.el7.centos.x86_64
    httpd-tools-2.4.6-93.el7.centos.x86_64
    httpd24-httpd-tools-2.4.34-18.el7.x86_64
    httpd24-libnghttp2-1.7.1-8.el7.x86_64

    OK,执行卸载 httpd :

    尝试命令:
    yum -y remove httpd

    部分日志如下:

    Remove  1 Package (+1 Dependent package)
    
    Installed size: 9.6 M
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Erasing    : 1:mod_ssl-2.4.6-93.el7.centos.x86_64                                                         1/2
    warning: /etc/httpd/conf.d/ssl.conf saved as /etc/httpd/conf.d/ssl.conf.rpmsave
      Erasing    : httpd-2.4.6-93.el7.centos.x86_64                                                             2/2
    warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
    warning: /etc/httpd/conf.modules.d/00-proxy.conf saved as /etc/httpd/conf.modules.d/00-proxy.conf.rpmsave
      Verifying  : 1:mod_ssl-2.4.6-93.el7.centos.x86_64                                                         1/2
      Verifying  : httpd-2.4.6-93.el7.centos.x86_64                                                             2/2
    
    Removed:
      httpd.x86_64 0:2.4.6-93.el7.centos
    
    Dependency Removed:
      mod_ssl.x86_64 1:2.4.6-93.el7.centos
    
    Complete!

    再次列出已安装的 httpd 相关软件包:
    rpm -qa|grep httpd
    日志如下:

    [root@localhost ~]# rpm -qa|grep httpd
    httpd24-runtime-1.1-19.el7.x86_64
    httpd24-httpd-2.4.34-18.el7.x86_64
    httpd-tools-2.4.6-93.el7.centos.x86_64
    httpd24-httpd-tools-2.4.34-18.el7.x86_64
    httpd24-libnghttp2-1.7.1-8.el7.x86_64

    貌似根本没有卸载干净吗?实在是烦,面对 Linux ,实在是太多的不了解。
    到底是否需要卸载与httpd相关的所有包,才能安装新版本?
    太多的不了解,唯一只有测试之后才能知道能否行得通。

    我决定卸载干净,再安装新版本的。

    继续尝试卸载命令:(全部失败)

    rpm -e httpd24-runtime-1.1-19.el7.x86_64
    rpm -e httpd24-httpd-2.4.34-18.el7.x86_64
    rpm -e httpd-tools-2.4.6-93.el7.centos.x86_64
    rpm -e httpd24-httpd-tools-2.4.34-18.el7.x86_64
    rpm -e httpd24-libnghttp2-1.7.1-8.el7.x86_64

    部分失败日志:

    [root@localhost ~]# rpm -e httpd24-runtime-1.1-19.el7.x86_64
    error: Failed dependencies:
            httpd24-runtime is needed by (installed) httpd24-libnghttp2-1.7.1-8.el7.x86_64
            httpd24-runtime is needed by (installed) httpd24-httpd-2.4.34-18.el7.x86_64
    [root@localhost ~]# rpm -e httpd24-libnghttp2-1.7.1-8.el7.x86_64
    error: Failed dependencies:
            libnghttp2-httpd24.so.14()(64bit) is needed by (installed) httpd24-httpd-2.4.34-18.el7.x86_64
    [root@localhost ~]# rpm -e httpd24-httpd-2.4.34-18.el7.x86_64
    error: Failed dependencies:
            httpd24-httpd-mmn = 20120211x8664 is needed by (installed) rh-php73-php-7.3.11-1.el7.x86_64

    这里发现,我们的计划需要一点改变。

    执行命令:yum list | grep httpd
    输出如下:

    [root@localhost ~]# rpm -qa|grep httpd
    httpd24-runtime-1.1-19.el7.x86_64
    httpd24-httpd-2.4.34-18.el7.x86_64
    httpd-tools-2.4.6-93.el7.centos.x86_64
    httpd24-httpd-tools-2.4.34-18.el7.x86_64
    httpd24-libnghttp2-1.7.1-8.el7.x86_64
    [root@localhost ~]# yum list | grep httpd
    httpd-tools.x86_64                         2.4.6-93.el7.centos    @base
    httpd24-httpd.x86_64                       2.4.34-18.el7          @centos-sclo-rh
    httpd24-httpd-tools.x86_64                 2.4.34-18.el7          @centos-sclo-rh
    httpd24-libnghttp2.x86_64                  1.7.1-8.el7            @centos-sclo-rh
    httpd24-runtime.x86_64                     1.1-19.el7             @centos-sclo-rh
    darkhttpd.x86_64                           1.11-1.el7             epel
    dmlite-apache-httpd.x86_64                 1.14.2-1.el7           epel
    httpd.x86_64                               2.4.6-97.el7.centos    updates
    httpd-devel.x86_64                         2.4.6-97.el7.centos    updates
    httpd-itk.x86_64                           2.4.7.04-2.el7         epel
    httpd-manual.noarch                        2.4.6-97.el7.centos    updates
    httpd-tools.x86_64                         2.4.6-97.el7.centos    updates
    httpd24.x86_64                             1.1-19.el7             centos-sclo-rh
    httpd24-build.x86_64                       1.1-19.el7             centos-sclo-rh
    httpd24-curl.x86_64                        7.61.1-2.el7           centos-sclo-rh
    httpd24-httpd.x86_64                       2.4.34-22.el7          centos-sclo-rh
    httpd24-httpd-devel.x86_64                 2.4.34-22.el7          centos-sclo-rh
    httpd24-httpd-manual.noarch                2.4.34-22.el7          centos-sclo-rh
    httpd24-httpd-tools.x86_64                 2.4.34-22.el7          centos-sclo-rh
    httpd24-libcurl.x86_64                     7.61.1-2.el7           centos-sclo-rh
    httpd24-libcurl-devel.x86_64               7.61.1-2.el7           centos-sclo-rh
    httpd24-libnghttp2.x86_64                  1.7.1-8.el7.1          centos-sclo-rh
    httpd24-libnghttp2-devel.x86_64            1.7.1-8.el7.1          centos-sclo-rh
    httpd24-mlogc.x86_64                       2.9.3-4.el7            centos-sclo-rh
    httpd24-mod_auth_kerb.x86_64               5.4-33.el7             centos-sclo-rh
    httpd24-mod_auth_mellon.x86_64             0.14.0-3.el7           centos-sclo-rh
    httpd24-mod_auth_mellon-diagnostics.x86_64 0.14.0-3.el7           centos-sclo-rh
    httpd24-mod_ldap.x86_64                    2.4.34-22.el7          centos-sclo-rh
    httpd24-mod_md.x86_64                      1:2.0.8-1.el7          centos-sclo-rh
    httpd24-mod_proxy_html.x86_64              1:2.4.34-22.el7        centos-sclo-rh
    httpd24-mod_security.x86_64                2.9.3-4.el7            centos-sclo-rh
    httpd24-mod_session.x86_64                 2.4.34-22.el7          centos-sclo-rh
    httpd24-mod_ssl.x86_64                     1:2.4.34-22.el7        centos-sclo-rh
    httpd24-nghttp2.x86_64                     1.7.1-8.el7.1          centos-sclo-rh
    httpd24-scldevel.x86_64                    1.1-19.el7             centos-sclo-rh
    iipsrv-httpd-fcgi.noarch                   1.0.0-6.0.el7          epel
    keycloak-httpd-client-install.noarch       0.8-1.el7              base
    libmicrohttpd.i686                         0.9.33-2.el7           base
    libmicrohttpd.x86_64                       0.9.33-2.el7           base
    libmicrohttpd-devel.i686                   0.9.33-2.el7           base
    libmicrohttpd-devel.x86_64                 0.9.33-2.el7           base
    libmicrohttpd-doc.noarch                   0.9.33-2.el7           base
    lighttpd.x86_64                            1.4.54-1.el7           epel
    lighttpd-fastcgi.x86_64                    1.4.54-1.el7           epel
    lighttpd-mod_authn_gssapi.x86_64           1.4.54-1.el7           epel
    lighttpd-mod_authn_mysql.x86_64            1.4.54-1.el7           epel
    lighttpd-mod_authn_pam.x86_64              1.4.54-1.el7           epel
    lighttpd-mod_geoip.x86_64                  1.4.54-1.el7           epel
    lighttpd-mod_mysql_vhost.x86_64            1.4.54-1.el7           epel
    mirmon-httpd.noarch                        2.11-1.el7             epel
    opensips-httpd.x86_64                      1.10.5-4.el7           epel
    owncloud-httpd.noarch                      9.1.5-1.el7            epel
    pagure-web-apache-httpd.noarch             5.13.2-1.el7           epel
    python2-keycloak-httpd-client-install.noarch
    python2-sphinxcontrib-httpdomain.noarch    1.7.0-1.el7            epel
    radicale-httpd.noarch                      1.1.2-1.el7            epel
    sclo-httpd24-mod_auth_mellon.x86_64        0.12.0-2.el7           centos-sclo-sclo
    sclo-httpd24-mod_ruid2.x86_64              0.9.8-5.el7            centos-sclo-sclo
    sympa-httpd.x86_64                         6.2.60-1.el7           epel
    sympa-lighttpd.x86_64                      6.2.60-1.el7           epel
    sysusage-httpd.noarch                      5.7-2.el7              epel
    thttpd.x86_64                              2.29-2.el7             epel
    viewvc-httpd-fcgi.noarch                   1.1.28-1.el7           epel
    viewvc-httpd-wsgi.noarch                   1.1.28-1.el7           epel
    web-assets-httpd.noarch                    5-1.el7                epel

    centos-sclo-rh 上有比较新版本的 httpd2.4.34,此版本是支持 HTTP/2 的,因此我们是不是可以安装此版本即可实现升级到 HTTP/2 ?

    尝试安装 httpd2.4.34

    yum install httpd24-httpd.x86_64

    输出部分日志:

    Upgrade  1 Package (+1 Dependent package)
    
    Total size: 1.5 M
    Is this ok [y/d/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Updating   : httpd24-httpd-tools-2.4.34-22.el7.x86_64                                                     1/4
      Updating   : httpd24-httpd-2.4.34-22.el7.x86_64                                                           2/4
      Cleanup    : httpd24-httpd-2.4.34-18.el7.x86_64                                                           3/4
      Cleanup    : httpd24-httpd-tools-2.4.34-18.el7.x86_64                                                     4/4
      Verifying  : httpd24-httpd-2.4.34-22.el7.x86_64                                                           1/4
      Verifying  : httpd24-httpd-tools-2.4.34-22.el7.x86_64                                                     2/4
      Verifying  : httpd24-httpd-2.4.34-18.el7.x86_64                                                           3/4
      Verifying  : httpd24-httpd-tools-2.4.34-18.el7.x86_64                                                     4/4
    
    Updated:
      httpd24-httpd.x86_64 0:2.4.34-22.el7
    
    Dependency Updated:
      httpd24-httpd-tools.x86_64 0:2.4.34-22.el7
    
    Complete!

    检查 httpd 版本:

    [root@localhost ~]# httpd -v
    bash: httpd: command not found...

    分别创建连接(快捷方式)

    ln -s /opt/rh/httpd24/root/usr/sbin/httpd /usr/bin/httpd
    ln -s /opt/rh/httpd24/root/usr/sbin/httpd /usr/sbin/httpd
    

    再次检查 httpd 版本:

    [root@localhost ~]# httpd -v
    Server version: Apache/2.4.34 (Red Hat)
    Server built:   Dec  1 2020 12:16:36

    命令行启用
    scl enable httpd24 bash

    启动 httpd24
    service httpd24-httpd start

    查看httpd24运行状态
    systemctl status httpd24-httpd

    设置开机启动 httpd
    systemctl enable --now httpd24-httpd

    安装 mod_ssl

    列出软件包版本
    yum list | grep mod_ssl

    日志如下:

    [root@localhost ~]# yum list | grep mod_ssl
    httpd24-mod_ssl.x86_64                     1:2.4.34-22.el7        centos-sclo-rh
    mod_ssl.x86_64                             1:2.4.6-97.el7.centos  updates

    执行安装 mod_ssl
    yum install httpd24-mod_ssl.x86_64

    到此,httpd24 已经安装完成。

    下一步,配置 HTTP/2,这个步骤需要更改许多配置。更改 httpd 工作模式,安装 php-fpm …

    回复至: 计划升级到 NextCloud 21 #2952
    飞仔
    楼主

    系统环境备份

    用 HyperV 检查点备份 C盘:

    停止 apache
    systemctl stop httpd

    查看挂载情况:( 使用命令:df -h )

    [root@localhost ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   26G  8.1G   18G  31% /
    devtmpfs                 1.9G     0  1.9G   0% /dev
    tmpfs                    2.0G     0  2.0G   0% /dev/shm
    tmpfs                    2.0G  9.1M  2.0G   1% /run
    tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
    /dev/sda2               1014M  180M  835M  18% /boot
    /dev/sdc1                1.5T  376G  1.1T  26% /fzbackup
    /dev/sda1                200M   12M  189M   6% /boot/efi
    /dev/sdb1                920G  376G  544G  41% /fzdata
    tmpfs                    392M   12K  392M   1% /run/user/42
    tmpfs                    392M     0  392M   0% /run/user/0

    可以看出,我们需要临时卸载的 fzdata 与 fzbackup 分别是:

    /dev/sdb1   920G  376G  544G  41% /fzdata
    /dev/sdc1   1.5T  376G  1.1T  26% /fzbackup

    为什么叫临时卸载,因为我们没有修改 /etc/fstab 配置文件,在系统重启之后会再次自动挂载。

    分别临时卸载 fzdata 与 fzbackup :

    umount /dev/sdb1
    umount /dev/sdc1

    经确认,临时卸载 fzdata 与 fzbackup 之后,文件夹目录依旧存在,但是分别打开这两个文件夹,内部却是空空如也。

    OK,从虚拟机设置里分别移除 fzdata 磁盘与 fzbackup 磁盘。为了避免后续的再次添加,请注意这两个磁盘的添加顺序:fzdata 在先,fzbackup 在后。

    检查点已创建成功:CentOS76en_30G – (2021/4/7 – 2:08:32)
    检查点配置概述:
    已做完成 mysqldump 与 rsync 。
    已停止 httpd 。
    apache2.4.6,php7.3,mysql8,已临时卸载 fzdata 磁盘与 fzbackup 磁盘。

    回复至: 计划升级到 NextCloud 21 #2951
    飞仔
    楼主

    初步升级 NextCloud 21 的计划,由于本人对 Linux 系统的使用水平太低,当前只考虑到这些大概的步骤。

    目的升级 NextCloud21 ,顺便升级到 HTTP/2 ,所以要升级 apache。

     

    根据计划的步骤进行,详细操作将在实际折腾的时候进一步详细记录!

    飞仔
    楼主

    现在找一款良心的软件的确需要花时间,因为流氓软件泛滥!

    最恶心的就是WPS办公套件!默认安装之后连图片格式都被它关联,然而使用WPS打开图片打印TMD居然要收费!!!

    虽然 Windows 自带有看图软件,但是由于 Windows7 已经很老了,自带的看图软件对目前许多图片存在许多兼容性问题,导致无法打开图片或报错等等。因此需要额外使用看图软件。

    由于一直使用 Windows10 LTSC 没有自带看图应用,所以误解了 Windows10 自带的 Microsoft 照片,实际使用下来真的还不错,作为一款看图应用已经非常够用而且简洁。但如果还需要转换图片格式等更多的功能貌似没有!

    所以,推荐使用 Windows10 自带的 Microsoft 照片 作为默认看图,如果使用 Windows10 LTSC 没有自带 Microsoft 照片 可以先安装 Microsoft store 然后再搜索 Microsoft 照片 安装即可。或需要不仅仅是看图,还需要其它更多基本的编辑转换格式功能的,就推荐 Honeyview 蜂蜜浏览器 这款看图软件!

    飞仔
    楼主

    测试完美成功!

    车机必须联网才能接收位置信息!

    可以手机创建热点给车机联网!

    飞仔
    楼主

    一直喜欢A卡,但是A卡却没有给过我好脸色,也许与A卡无缘吧😅

    飞仔
    楼主

    测试完毕 👌

    飞仔
    楼主

    最近不知道为什么,总是遇到这些莫名其妙的问题,造成了非常多的误会与麻烦。最初的想法是为用户节省成本的同时而又有不错的游戏性能,其实醒悟过来发现,这就是非常矛盾的想法。😥,遇到问题我们要去解决,解决了问题后,发现我们花了不少的时间、人力 ……,最后给我的答案是→最初的想法得不偿失。

    不管从用户层面,或者是从自身层面,都是得不偿失。☹

    飞仔
    楼主

    事实证明,想花更少的钱,体验更好的游戏性能,确实是非常矛盾的想法😥

    飞仔
    楼主

    实际是自己背锅,时间花了不少,而且造成非常多的麻烦,最最主要的麻烦就是不了解我们的朋友,说我们总是拿一些垃圾东西来给他们使用 … … … … ……。

    飞仔
    楼主

    最后,虽然我们测试的时间有限,但是我们已经发现了问题所在!就是显卡的问题!!!两相AMD原装显卡,同样出现这样的问题,是不是概率的问题?或者说把锅甩给Windows10?因为我没有用Windows7测试。

    我想不应该把锅甩给Windows10,因为我在Windows10用的英伟达的显卡好好的,为什么换上你AMD的就出问题?这是不应该的事情!所以这锅应该由AMD来背,同时两张显卡都是这个问题,这就实在是可以去买彩票了!

    飞仔
    楼主

    是我没有使用广告与流氓软件弹窗一堆的下载软件—–迅雷X

    用了迅雷X—–腰不疼了,腿也好使了,整个人精神都爽了不少!!!

    终于把AMD R9 255 2G Windows7 64位的驱动从官方下载下来了。

查看 15 回复 - 61 至 75 (总计 93)