重要提醒: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:开机自启配置
- php‑fpm已经配置systemctl开机启动。
- THS需要自己写systemd服务单元,或者写rc.local执行
/opt/ths/bin/start.sh。
政务项目常见坑(必看)
- ❌千万不要把php代码部署到TongWeb应用服务器,只会下载源码,不能执行。
- php‑fpm进程用户
www,网站目录也要是www:www,否则读写文件报错。 - THS与php‑fpm是分离两套进程;THS只做web接入、静态资源、fastcgi转发;php动态逻辑全部交给php‑fpm处理。
- 数据库迁移:原mysql需要迁移到达梦/人大金仓,安装对应php数据库驱动扩展。
- 写项目方案文档描述(不要写“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上传参数、网站目录权限。





2619

被折叠的 条评论
为什么被折叠?



