nginx 反向代理apache2、php-fpm、uwsgi配置

Nginx反向代理Apache实现动静结合 当今最流行的WEB服务器当属Nginx和Apache了,最近接触了nginx,那么nginx的一大特点就是它本身是一个反向代理服务器,且支持7层负载均衡,相比于apache,nginx对静态内容对处理能力很强,对于动态内容还是apache性能更优,于是我突发奇想使二者结合使用,也即使用Nginx处理静态内容,动态内容反向代理交给Apache处理。    首先需要了解一下什么是反向代理?这个概念貌似... 阅读详情

一、nginx反向代理配置样例

#user  nobody;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
worker_rlimit_nofile 65535;

events {
    use epoll;
    worker_connections  4096;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  180;
    client_max_body_size 500m;
    #gzip  on;
    #反向代理到Apache2
    server
    {
        listen 80;
        server_name eblog.com;
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8888;
        }
    }
    #反向代理,Apache2通过mod_php模式执行php代码
    server
    {
            listen 80;
            server_name shop.com test.com;
            location / {
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header REMOTE-HOST $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_pass http://127.0.0.1:8888;
            }
    }
    #反向代理,并使用php-fpm进程模式执行php代码
    server{
        listen  80;
        server_name api.com;
        index index.php;
        root /var/www/yaf_api/public;
        if (!-e $request_filename) {
            rewrite ^/(.*)  /index.php?$1 last;
        }

        location ~ .php$ {
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
        access_log /var/log/yaf_api/yaf.api.log;
    }

    #反向代理到python
    server 
    {
            listen       80;
            server_name  webchat.com;

            location / {           
            root /var/www/webchat;
                include  uwsgi_params;
                uwsgi_pass  127.0.0.1:9090;              #必须和uwsgi中的设置一致
                uwsgi_param UWSGI_SCRIPT webchat.wsgi;  #入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
                uwsgi_param UWSGI_CHDIR /var/www/webchat;       #项目根目录
                index  index.html index.htm;
                client_max_body_size 35m;
            }
    }

    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  test.com;
        access_log logs/https-access.log;
        error_log logs/https-error.log;
        ssl on;
        #HTTPS服务端
        ssl_certificate      /home/web/myssl/server-cert.pem;
        ssl_certificate_key  /home/web/myssl/server-key.pem;
        #HTTPS双向验证,客户端密钥设置
        ssl_client_certificate /home/web/myssl/ca-cert.pem;
        ssl_verify_client on;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
             root   html;
        }
        location / {
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://127.0.0.1:8888
        }
    }

}

转自 https://blog.youkuaiyun.com/Just_shunjian/article/details/78852808

Ubuntu 20.04下Nginx与Apache共存配置实战 Web服务器架构中,Nginx和Apache并非互斥选项,而是可协同工作的互补组件。Nginx基于事件驱动的异步非阻塞I/O模型,擅长高并发静态资源服务、SSL终止与反向代理;Apache则在动态内容处理(如PHP/Perl模块化运行)、.htaccess重写及安全模块(mod_security)方面具备成熟生态。二者混合部署能兼顾性能与兼容性,尤其适用于遗留系统升级、多租户平台演进等生产场景。其技术价值体现在:卸载静态压力、复用现有配置、统一安全策略与流量治理。典型应用包括电商大促架构、政务系统平滑迁移及 阅读详情

相关推荐

Kohana PHP框架在Debian 7上的Nginx+PHP-FPM部署实战

Kohana是PHP早期面向对象MVC框架的代表作,其轻量架构、请求生命周期控制与模块化设计至今仍具工程参考价值。本文从PHP Web服务基础原理出发,解析Nginx事件驱动模型与PHP-FPM进程池协同机制如何支撑高并发、低资源消耗的稳定运行;强调Debian 7等长期稳定发行版在工业控制、嵌入式网关等场景中不可替代的技术价值;深入探讨Kohana多应用实例共存、自动加载路径控制、错误日志与Nginx请求ID联动等关键能力。内容覆盖PHP-FPM socket权限配置、Nginx try_files路由逻

weixin_34007886的博客 380

Nginx和Apache都支持反向代理,相互之间进行反向代理示例。

当Nginx作为反向代理服务器时,可以将客户端的请求转发到Apache服务器。例如,假设有一个网站,Nginx监听在80端口,Apache监听在8080端口。在这个配置中,Nginx会将所有来自客户端的请求转发到Apache服务器的8080端口。同时,Nginx还会将原始的Host和客户端的真实IP地址传递给Apache服务器。例如,假设Apache监听在80端口,Nginx监听在8080端口。在这个配置中,Apache会将所有来自客户端的请求转发到Nginx服务器的8080端口。

weixin_42261759的博客 842

Apache与Nginx核心差异:进程模型、事件驱动与生产配置实践

Web服务器是现代应用交付的基石,其底层架构直接决定并发能力、资源开销与运维韧性。Apache基于多进程/多线程MPM模型,强调模块深度集成与运行时稳定性,适合PHP嵌入式部署和强认证场景;Nginx则采用异步非阻塞事件驱动架构,以极低内存支撑高并发,依赖FastCGI等标准协议实现语言解耦。这种根本性设计差异,导致二者在HTTPS配置、反向代理健壮性、大文件上传(413错误)定位路径、Brotli压缩支持及配置容错机制上表现迥异。理解进程模型与事件循环原理,是规避502网关错误、if指令陷阱、SSL环境变

weixin_30265103的博客 510

LANMP反向代理(动静分离)----nginx和apache2共建web服务

网上的帖子基本都是基于域名的虚拟机配置,由于还没域名,所以是基于端口的LANMP配置(动态网页访问时要求输入设置的端口号): ---->配置内容:Server_name就是自己的云服务IP, nginx监听80端口,PHP的动态网页转8800的apache2代理: 参考:https://www.jianshu.com/p/5d6bd48b4c2f?utm_source=oschina-app https://www.cnblogs.com/TreeSky/p/14378069.html

NetWD_WestWD的博客 685

Nginx CVE-2024-24990漏洞深度解析:18年配置缺陷与RCE风险防范

在Web服务器安全领域,路径遍历与规范化处理是基础且关键的安全概念。其原理在于应用程序如何解析和验证用户输入的URI路径,以防止恶意构造的路径访问系统敏感文件。这项技术的安全价值直接关系到服务器的机密性、完整性与可用性。典型的应用场景包括静态资源服务器、反向代理和API网关等。当Nginx这类广泛使用的Web服务器在处理URI规范化时,如果内部逻辑存在不一致性,特别是在处理特殊字符序列时,就可能形成安全缺口。本文聚焦于一个潜伏18年的Nginx配置缺陷(CVE-2024-24990),该漏洞源于`$uri`

weixin_33898876的博客 563

Django项目之WSGI配置

作者:禅与计算机程序设计艺术 1.简介 WSGI(Web Server Gateway Interface)即Web服务器网关接口,它是Python web编程的协议规范。Django默认使用的WSGI是gunicorn,但也支持其他wsgi服务器如uWSGI、Gevent等。本文将介绍WSGI的简单配

AI天才研究院 1530

nginx 配置反向代理(Apache+nginx)

nginx 由于其高效的并发处理能力,而开始被越来越多的人接受和认可,现在很多网站已经完全用nginx代替apache来处理静态 页面,但是动态页面的处方面,apache还是有着自己独到之处的。 下面说下何为反向代理,以及为何进行反向代理。按照百科的介绍:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器...

郝云博客 1158

Git系列(一)、Git基础教程【建议收藏】

Git一、Git简介1.1、什么是Git? 一、Git简介 1.1、什么是Git? Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。 Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。 Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不用服务器端软件支持。 .........

一宿君 4万+

Apache和nginx的区别

诞生于1995年,是Web服务器的“老大哥”。市场占有率曾长期第一,以其强大、稳定、功能全面和高度模块化著称。它是一个多用途的Web服务器,设计理念是提供一个强大、灵活的通用服务器。Nginx: 诞生于2004年,专为解决C10K问题(即单机同时处理上万个并发连接)而设计。它是一个高性能的HTTP和反向代理服务器,以其事件驱动、异步非阻塞的架构闻名,在高并发场景下表现极其出色。特性Nginx架构模型​多进程/多线程,同步阻塞I/O事件驱动,异步非阻塞I/O并发能力​。

zwh1zwh的博客 1456

MOSFET和IGBT栅极驱动器电路的基本原理学习(2)

1.PWM直接驱动 驱动主开关晶体管栅极的最简单方法是利用 PWM 控制器的栅极驱动输出,如图 (1)如 图 8中所示,PWM 控制器和 MOSFET 之间可能有较大距离。由于栅极驱动和接地环路迹线形成的环路,这个距离形成了寄生电感,从而降低了开关速度,并导致栅极驱动波形中形成振铃。为了降低与栅极驱动连接相关的电感,需要更宽的 PCB 迹线。 (2)直接栅极驱动的另一个问题是PWM 控制器的驱动电流能力有限。极少有集成电路能提供高于 1A 的峰值栅极驱动能力。 2.旁路电容的确定 (1)位置 如果是独立的

weixin_43732932的博客 5830

SAP移动类型

SAP移动类型移动类型定义 移动类型定义

qq_20593197的博客 6201

Nginx 全能实战指南:反向代理、动静分离、PHP集成与负载均衡深度解析

集群(Cluster)是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用 程序可以通过网络共享内存进行消息传送,实现分布式计算机。通俗一点来说,就是让若干台计算机联合起来工作(服务),可 以是并行的,也可以是做备份。集群分类高可用集群:利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实 现对用户的不间断服务。保障关键服务的7X24小时高可用性。

weixin_53177141的博客 209

振动能量采集技术:从原理到实战,破解物联网供电难题

能量采集技术旨在捕获环境中的废弃能量(如机械振动、热能、光能)并将其转化为电能,其核心原理在于通过压电、电磁、静电或摩擦电等物理效应实现能量形式的转换。这项技术的核心价值在于为物联网(IoT)中难以布线或更换电池的分布式传感器节点、植入式医疗设备等提供近乎永续的电力解决方案,从而解决物联网部署的“最后一米供电”瓶颈。其应用场景广泛覆盖工业预测性维护、结构健康监测、可穿戴设备及消费电子等领域。本文聚焦于振动能量采集这一细分方向,深入剖析了压电式、电磁式、电容式及摩擦纳米发电机(TENG)等主流技术路线的实战考

weixin_42660494的博客 565

centos 将Apache换为Nginx详细步骤

Nginx简介: Nginx是一个高性能的HTTP服务器和反向代理服务器, 最大的优点是节省资源,适用于处理高并发的请求。 1. Nginx最初是按照反向代理设计的,和Apache不同, nginx关心如何处理url,而不是文件! 2. Apache 是个基于进程处理的web服务器,如果同时有多个请求,必须要启动多个进程来处理。 这样在高负载的情况下,资源的消耗和响应的速度都

u014702999的专栏 5707

基于MATLAB/Simulink平台进行新能源微电网运行控制的建模与仿真

新能源微电网是现代电力系统的重要组成部分,能够有效整合分布式能源(如光伏、风力发电)和储能设备,实现局部区域内的能源高效利用。微电网的运行控制涉及多源能量管理、负荷平衡以及并网/孤岛模式切换等关键问题。基于MATLAB/Simulink平台进行新能源微电网运行控制的建模与仿真,可以帮助研究者验证控制策略的有效性,并优化系统的动态性能和经济性。本项目旨在构建一个完整的新能源微电网模型,包括电源模块、储能模块、负荷模块以及控制器模块,并通过仿真分析其运行特性。

xiaoheshang_123的博客 420

一文速学数模-K-means聚类算法实战:信用卡用户画像聚类分析

该项目算是非常经典的金融业务用户画像的基础分析了,主要根据用户信用卡使用行为数据进行分析,根据收集到的不同字段信息,对每个用户划分类别。这里需要说明一下的是,聚类模型只是将具有相似行为的大部分用户聚集到一个类别里面,这点并不会考虑到每个字段的含义,也就是分成的类别并不是用户价值等级,此类别仅仅是这个类别大体相同的信用卡用户行为对象,并不能给每个用户价值打上标签,那是评价模型做的事,这里要注意不要搞混淆了,用户价值评价是评价模型决定的,而画像是聚类模型分析的。

master_hunter的博客 1万+

centos7 搭建nginx+python+php 环境

阿里云服务器:centos7.8 + nginx 1.21.5 + python 3.9 + php7.4 之前服务器使用的是Apache,现在想PHP 和Python 共存,又因为python 方面都是使用flask 框架,flask 中自带的服务器比较差,所以最后决定尝试使用nginx。 虽然是用nginx ,其实它的主要作用是代理的,运行flask 的核心是uwsgi,流程大概是这样: uwsgi 其实也是一个服务器,我只是将它简化了这样显示,实际上不要nginx ,...

吴家健ken的博客 2393

1、初探 Tiny Machine Learning

Tiny Machine Learning(TinyML)是机器学习与嵌入式系统的融合领域,致力于在资源受限的微控制器上运行AI模型。本文介绍了机器学习基础、TinyML的核心概念、应用领域(如智能家居、工业物联网、医疗保健)、面临的挑战(如资源限制、模型压缩、数据质量),以及从硬件准备到模型部署的实践步骤。通过利用训练与推理的资源不对称性,可在PC上训练模型并部署至低功耗设备进行实时推理,推动边缘智能的发展。

loss4bartender的博客 121

centos7+apache/tomcat/nginx安装及安全配置

路径相对于网站更目录/var/www/html/

jack_Lij的博客 1443

STM32(HAL库)软件IIC驱动OLED

本文通过STM32F103C8T6单片机(HAL库)通过软件IIC方式对OLED进行驱动。

weixin_44597885的博客 9755

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Nginx笔记

这里直接抄一下https://blog.youkuaiyun.com/initphp/article/details/72912128。文中所述一个自定义Nginx模块,麻雀虽小五脏俱全,最简单的最朴实无华的例子更加容易理清楚流程。步骤详情创建扩展模块目录在nginx-1.13.1文件夹下,创建一个/extends/ngx_http_hello_module的目录2. 创建config文件我们的模块名称为:ngx_http_hello_module。

大袤宏图 1796

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Apache、Nginx支持什么后端语言?

apache和nginx本身只支持html语言,但是apache可以通过插件或模块实现支持不同的后端语言,而nginx可以通过不同的应用服务器实现支持不同的语言。具体来说可以类比为apache和nginx是一辆卡车,卡车想装水,但是卡车本身不能装水,需要有一个桶才能装水,而这里的水表示java,桶表示tomcat。Apache Web服务器本身不直接支持特定的编程语言,但它可以通过使用适当的模块来支持多种语言。通过Apache的反向代理或其他方法将请求转发给这些服务器。

qq_44117967的博客 843

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

CentOS上如何把Web服务器从Apache换到Nginx

CentOS上如何把Web服务器从Apache换到Nginx By Jerry Wang | 2014/05/21 2条评论 码农日记原创,转载请注明出处并给出原文链接!  http://www.androiddev.net/webserver-apache-to-nginx/ 我的网站在阿里云服务器上, 1G内存的配置,但用了一段时间,感觉Apache有些撑不出,想了想,还...

蘑蘑茶 636

HoRain云--Apache和Nginx的比较以及实用场景分析

禁用Apache的.htaccess(设AllowOverride None)提升30%+性能 Nginx配置后务必执行 nginx -t 验证,避免语法错误导致服务中断 两者均需定期更新(关注CVE:Apache HTTPD、Nginx Core)

sinat_57153473的博客 633
上一篇: Ubuntu 18.0.4 安装 postman
下一篇: ubuntu 下安装 php7.2
镜中那人
博客等级 码龄10年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值