php升级、caddy部署、httpd调整、wordpress部署的折腾记录

趁着还记得,记录一下最近折腾的东西
首先,起始原因是在内网搭了zabbix,领导想推广到公司内部使用,那么前期推出去后,发现用户粘性不足,加上增加了钉钉告警的功能,用户更不会来访问盯着告警了,基于这个目的,想再搞个前台main页面做转发跳转到zabbix,这个页面也承载着转发跳转到OA等内网办公页面的设计,最终决定还是采用自己最熟悉的wordpress+模板主题来搞
了解了一下情况,zabbix 5.0默认用的是rh-php72,但是wordpress最新版需要最低php74的支持,于是有了第一个问题,升级php74
国内可用的yum源,是真心不好找,普通的含老版本的很多,但是新的软件版本的yum源,少的一逼,找来找去找到下面的两个

yum -y install epel-release yum-utils

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm


有可能会报错失败,这个时候用浏览器或者别的手段下下来,再传到服务器上去,用yum localinstall去装,也是可以的,先装webtatic,再装famillecollet那个
这时候yum源里就有php74了,因为rh-php72和php74分装在不同路径下的,所以可以不用考虑冲突,直接安装,装好后改一下php-fpm下的配置,监听不同端口,他们甚至可以同时up起来运行
吐槽一下,找yum源,用测试机测试重复安装,花了我三天时间,真的要死,有时候服务器出口去装真的慢的可以,移动的出口也是真的恶心

到此php74装好了,把原来的rh-php72-php-fpm下的zabbix.conf文件挪到php74下,具体目录不说了,实在不知道的find / -name zabbix.conf查一下就知道了
修改这个文件内的两个内容,一个是listen = 127.0.0.1:9001和默认的9000端口错开,再一个是php_value[session.save_path]后的/var/opt/rh/rh-php72/lib/php/session/改成/var/opt/remi/php74/lib/php/session
然后修改一下httpd下的conf.d下的zabbix.conf文件,把SetHandler “proxy:unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock|fcgi://localhost”修改成SetHandler “proxy:fcgi://localhost:9001”
接下来重启两个服务,php就转到74版本上去了,72可以留着或者干掉

然后是安装caddy,两种装法,一个是官方装法

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy


但是我测试机上报错了,是的,测试机,还好是测试机,于是测试机上,我去git上找到了caddy的项目https://github.com/caddyserver/caddy/releases/tag/v2.6.4找到了 caddy_2.6.4_linux_amd64.tar.gz ,下下来,丢服务器上,tar -zxvf解压,得到一个caddy可执行文件,把他丢/etc/caddy下面,再创建个Caddyfile做为配置文件,去写具体的站点转发需求就好了
运行的时候用./caddy start –config /etc/caddy/Caddyfile这样他就在后台运行了

接下来是用httpd去跑wordpress,其实应该也可以用caddy直接跑,我打算还是用httpd跑,用caddy去做转发,具体的做法是:
在/etc/httpd/conf.d/下新建一个文件,可以复制之前的zabbix的配置文件,cp zabbix.conf main.conf,然后做修改,配置Alias别名,配置php调用,配置root目录,别的也没啥了

因为同时存在apache和caddy,端口默认都是80,会冲突,我把apache的默认监听端口改了,改成8080或者8000或者什么都可以,服务起来后,就可以通过x.x.x.x:8080/zabbix和x.x.x.x:8080/main打开两个页面了,接下来是caddy的转发配置
首先配置一个80的监听

test.com:80 {
handle /* {
rewrite / /main #重写默认路径到/main路径
reverse_proxy http://localhost:8080 #转发到本地的8080端口
}
handle /login* {
reverse_proxy http://localhost:8080
}
}


查询了各种文档后,就这么搞了,总之,页面能起来,可以通过80端口直接够到了,我也就满足了
期间又遇到了wordpress的siteurl和home两个url设置不准确导致排版乱的问题,这个问题两三年前也遇到过,真的很想死,折腾了半天终于弄好了,总之就是页面要和你的代理路径一致,也就是test.com/main,不然就会排版乱掉

接下来是找各种模板,去把转发页完善起来了,折腾到此结束

Leave a comment

Your email address will not be published. Required fields are marked *