东方通适配php

重要提醒:TongWeb(Java应用中间件)不能跑PHP,下面全部是 TongHttpServer(THS,东方通web接入网关),架构:THS(前端接入) + PHP‑FPM(独立进程) FastCGI转发
操作系统:银河麒麟V10 / 统信服务器(信创环境);THS版本V6.x;PHP‑FPM监听 127.0.0.1:9000

完整安装配置流程

一、部署顺序

1.安装TongHttpServer(THS)
2.安装配置PHP‑FPM(独立,THS不自带PHP)
3.部署PHP网站代码、设置目录权限
4.修改THS虚拟主机配置,开启fastcgi转发php请求
5.校验配置、启动服务、测试访问
6.开机自启、日志、排错

步骤1:安装 TongHttpServer(THS)

1.上传东方通THS安装包 TongHttpServer‑6.x.x.tar.gz,解压到安装目录,示例 /opt/ths

mkdir -p /opt/ths
tar -zxvf TongHttpServer‑6.x.x.tar.gz -C /opt/ths

2.导入官方license授权文件,放到/opt/ths/conf/license目录
3.目录说明

  • /opt/ths/bin:启停脚本 start.sh stop.sh
  • /opt/ths/conf:主配置 nginx.conf(THS兼容nginx配置语法)
  • /opt/ths/logs:访问、错误日志

⚠️不要混淆:TongWeb是java应用服务器,不要拿来做php接入

步骤2:安装、配置PHP‑FPM(信创系统)

PHP完全独立,THS只做转发,不解析php代码。

2.1 安装php与php‑fpm(麒麟V10)

dnf install php php‑fpm php‑gd php‑mbstring php‑xml php‑curl php‑mysqlnd -y

2.2 修改php‑fpm池配置 /etc/php‑fpm.d/www.conf

user = www
group = www
listen = 127.0.0.1:9000      # 使用tcp端口,不要用unix socket,THS转发更稳定
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
clear_env = no

2.3 修改php.ini /etc/php.ini 生产关键参数

date.timezone = Asia/Shanghai
display_errors = Off
log_errors = On
upload_max_filesize = 20M
post_max_size = 20M
memory_limit = 256M
max_execution_time = 60

2.4 启动php‑fpm并设置开机自启

systemctl enable php‑fpm
systemctl start php‑fpm
#验证端口监听,看到9000端口代表正常
ss -tlnp |grep 9000

步骤3:部署PHP网站代码

1.网站根目录示例:/data/www/mygov

mkdir -p /data/www/mygov
#把原Apache网站php代码全部上传到此目录
chown -R www:www /data/www/mygov
chmod -R 755 /data/www/mygov

步骤4:配置THS虚拟主机(重点)

编辑THS主配置:/opt/ths/conf/nginx.conf,新增server虚拟主机段。

THS配置语法与Nginx高度兼容,支持fastcgi模块。

server {
    listen 80;
    server_name www.xxx.gov.cn;
    root "/data/www/mygov";
    index index.php index.html index.htm;

    access_log logs/mygov_access.log;
    error_log logs/mygov_error.log;

    location / {
        try_files $uri $uri/ =404;
    }

    # php请求转发给本地php‑fpm:9000
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_connect_timeout 60s;
        fastcgi_send_timeout 300s;
        fastcgi_read_timeout 300s;
    }

    # 禁止访问敏感后缀
    location ~* \.(env|log|sql|git|svn|conf)$ {
        deny all;
    }
}

如果是ThinkPHP等框架,需要在location /里面增加伪静态重写规则,和原来Nginx/Apache一致。

步骤5:校验配置、重启THS

#进入ths bin目录
cd /opt/ths/bin
#校验配置语法
./start.sh ‑t
#语法无报错,重启THS
./stop.sh
./start.sh

步骤6:业务测试

1.在网站根目录新建info.php

<?php phpinfo(); ?>

浏览器访问 http://域名/info.php

  • ✅正常:输出php信息页面
  • ❌下载php源码:fastcgi配置没生效;
  • ❌502 Bad Gateway:php‑fpm没启动、9000端口没监听、权限不对。

步骤7:开机自启配置

  1. php‑fpm已经配置systemctl开机启动。
  2. THS需要自己写systemd服务单元,或者写rc.local执行/opt/ths/bin/start.sh

政务项目常见坑(必看)

  1. ❌千万不要把php代码部署到TongWeb应用服务器,只会下载源码,不能执行。
  2. php‑fpm进程用户www,网站目录也要是www:www,否则读写文件报错。
  3. THS与php‑fpm是分离两套进程;THS只做web接入、静态资源、fastcgi转发;php动态逻辑全部交给php‑fpm处理。
  4. 数据库迁移:原mysql需要迁移到达梦/人大金仓,安装对应php数据库驱动扩展。
  5. 写项目方案文档描述(不要写“TongWeb运行PHP”)

✅标准描述:采用TongHttpServer作为web接入网关,对接独立PHP‑FPM运行环境完成PHP网站信创适配改造,PHP动态请求通过FastCGI协议转发至PHP‑FPM处理,静态资源由TongHttpServer直接返回。

故障快速排查

1.浏览器访问php变成下载文件:THS没有命中fastcgi规则,检查location ~ .php$配置是否正确。
2.页面502:ss‑tlnp|grep 9000确认php‑fpm正常监听;查看php‑fpm错误日志。
3.文件上传失败:检查php.ini上传参数、网站目录权限。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值