@cyf
已创建论坛回复
-
飞仔
楼主检查 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=processnextcloudcron.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.so2、开启 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-fpm4、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.sockcd /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 是经历了无数次的失败,之后才让她们配合起来工作的啦!
飞仔
楼主升级 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_64OK,执行卸载 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 epelcentos-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 …
飞仔
楼主系统环境备份
用 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 的计划,由于本人对 Linux 系统的使用水平太低,当前只考虑到这些大概的步骤。
目的升级 NextCloud21 ,顺便升级到 HTTP/2 ,所以要升级 apache。
根据计划的步骤进行,详细操作将在实际折腾的时候进一步详细记录!
飞仔
楼主现在找一款良心的软件的确需要花时间,因为流氓软件泛滥!
最恶心的就是WPS办公套件!默认安装之后连图片格式都被它关联,然而使用WPS打开图片打印TMD居然要收费!!!
虽然 Windows 自带有看图软件,但是由于 Windows7 已经很老了,自带的看图软件对目前许多图片存在许多兼容性问题,导致无法打开图片或报错等等。因此需要额外使用看图软件。
由于一直使用 Windows10 LTSC 没有自带看图应用,所以误解了 Windows10 自带的 Microsoft 照片,实际使用下来真的还不错,作为一款看图应用已经非常够用而且简洁。但如果还需要转换图片格式等更多的功能貌似没有!
所以,推荐使用 Windows10 自带的 Microsoft 照片 作为默认看图,如果使用 Windows10 LTSC 没有自带 Microsoft 照片 可以先安装 Microsoft store 然后再搜索 Microsoft 照片 安装即可。或需要不仅仅是看图,还需要其它更多基本的编辑转换格式功能的,就推荐 Honeyview 蜂蜜浏览器 这款看图软件!
飞仔
楼主最近不知道为什么,总是遇到这些莫名其妙的问题,造成了非常多的误会与麻烦。最初的想法是为用户节省成本的同时而又有不错的游戏性能,其实醒悟过来发现,这就是非常矛盾的想法。😥,遇到问题我们要去解决,解决了问题后,发现我们花了不少的时间、人力 ……,最后给我的答案是→最初的想法得不偿失。
不管从用户层面,或者是从自身层面,都是得不偿失。☹
飞仔
楼主最后,虽然我们测试的时间有限,但是我们已经发现了问题所在!就是显卡的问题!!!两相AMD原装显卡,同样出现这样的问题,是不是概率的问题?或者说把锅甩给Windows10?因为我没有用Windows7测试。
我想不应该把锅甩给Windows10,因为我在Windows10用的英伟达的显卡好好的,为什么换上你AMD的就出问题?这是不应该的事情!所以这锅应该由AMD来背,同时两张显卡都是这个问题,这就实在是可以去买彩票了!
飞仔
楼主是我没有使用广告与流氓软件弹窗一堆的下载软件—–迅雷X
用了迅雷X—–腰不疼了,腿也好使了,整个人精神都爽了不少!!!
终于把AMD R9 255 2G Windows7 64位的驱动从官方下载下来了。
-
作者回复


