Nginx转发服务给对应Docker中的 Phpfastcgi
来源:互联网 发布:保定seo公司 编辑:程序博客网 时间:2024/05/30 04:30
环境:
主机:centos7 nginx
php服务api位置:主机上 Docker
中
php配置的映射端口: 127.0.0.1:9001~900x
php服务的入口文件路径: app-server/application
请求Url格式:https://server-name/Info/XXXXXXXXXX
,https://server-name/Upload/XXXXXXXXXX
等
Nginx
分发配置如下:
server{ listen 443 ssl http2; server_name server-name; ssl on; ssl_certificate /path-to-crt; ssl_certificate_key /path-to-key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; location ~ \.php { fastcgi_index index.php; #fastcgi_pass 127.0.0.1:9001; include fastcgi_params; set $path_info ""; set $app ""; set $app_port ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } if ($path_info ~ "^(^(\/\w+))") { set $app $1; } if ($app ~ "(\w+)$") { set $app $1; } #信息服务 if ($app = Info){ set $app "macco-information/application"; set $app_port 127.0.0.1:9001; } #上传服务 if ($app = Upload){ set $app "macco_uploadfile/application"; set $app_port 127.0.0.1:9003; } #...省略其他服务 fastcgi_pass $app_port; fastcgi_param SCRIPT_FILENAME /workspace/$app/$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; } if (!-e $request_filename) { rewrite ^/(.*) /index.php/$1 last; } }server{ listen 80; server_name server-name; return 301 https://$host$request_uri;}
思路:Nginx
获取 Url_path
,根据自己的服务 Url
的规则来做转发,由于每个微服务是在一个 Docker
中,所以需要设置端口 App_port
来映射到 Docker
中, 设置 App
来指定 Fastcgi
的 SCRIPT_FILENAME
位置。
阅读全文
1 0
- Nginx转发服务给对应Docker中的 Phpfastcgi
- Nginx 转发给 tomcat
- docker中安装nginx服务
- nginx 服务转发 与 负载均衡
- 启动docker web服务时 虚拟机端口转发 外部无法访问
- Nginx转发给Tomcat页面去掉端口号
- nginx 转发
- Nginx转发
- nginx转发
- nginx 转发
- Nginx转发
- nginx 实现多域名转发到web服务不同路径
- nginx搭配frp进行端口和服务转发
- docker 给运行中的容器设置端口映射
- 【Docker构建】- Nginx创建带Nginx服务的Centos Docker镜像
- nginx +phpfastcgi 环境下 导出excel文件,超时,数据被截断问题,解决
- Docker 服务发现(一) --自动化 Nginx 反向代理
- 创建带Nginx服务的Centos Docker镜像
- postman传递list到springmvc
- centos查看nfs版本
- 【深度学习框架Caffe学习与应用】 第十一课
- String.format()方法
- ImageView
- Nginx转发服务给对应Docker中的 Phpfastcgi
- Spring获取bean实例
- Java设计模式百例
- Jquery 获取 radio选中值
- 简单搭建centos7的web服务器
- java8
- SIFT算法简介
- Vue 列表渲染性能优化原理
- MyEclipse下Maven的安装配置