debian+nginx+php环境实现反向代理和负载均衡教程

配置nginx的PHP环境

安装nginx

    sudo apt-get install nginx

安装nginx就可以通过下面地址来访问了:http://localhost/

安装php

    sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt

php5-fpm:与nginx配合方式之一,另外个是:spawn-fcgi。

配置nginx的虚拟主机

在/etc/nginx/sites-available/default中添加

    server{
    listen 90;
    index index.php;
    root /usr/share/nginx/mytest/
    access_log /usr/share/nginx/mytest/acc.log combined;
    location ~ .php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    }
    }

其中“/var/run/php5-fpm.sock”是“/etc/php5/fpm/pool.d/www.conf”的listen,记得重启nginx

    sudo /etc/init.d/nginx restart

测试php是否支持

编辑"/usr/share/nginx/mytest/index.php"

    <?php
    phpinfo();
    ?>

如果启动nginx遇到失败等情况,可以查看nginx的错误日志,在

    /var/log/nginx/error.log

完全卸载nginx

在配置nginx做实验时配置错了,导致访问不了虚拟主机。一狠心把nginx的配置文件目录(/etc/nginx)都删除了,而且我没有备份这些配置文件,因此想重装nginx。

    本来以为直接使用如下apt-get指令

        sudo apt-get --purge remove nginx
        sudo apt-get install nginx

    就可以搞定,但实际上并没有有自动产生nginx的配置文件,连/etc/nginx目录都没产生。
    于是autoremove

        sudo apt-get --purge remove nginx
        sudo apt-get autoremove
        sudo apt-get install nginx

    提示

        awk: cannot open /etc/nginx/nginx.conf (No such file or directory)

    虽然产生了/etc/nginx目录了,但只有部分配置文件

        conf.d sites-available sites-enabled

    于是

        sudo apt-get --purge remove nginx
        sudo apt-get autoremove

        dpkg --get-selections|grep nginx

    罗列除与nginx相关的软件,

        nginx-common deinstall

    然后sdfsd

        sudo apt-get --purge remove nginx-common
        sudo apt-get install nginx

    然后OK!

反向代理或负载

    这涉及到upstream指令,在“/etc/nginx/sites-available/default”设置一组proxy_pass

        upstream first_proxy{
        server 10.9.31.89:5001 weight=4 max_fails=2 fail_timeout=30s;
        }

    server指令用于制定后端服务器的名称和参数,服务器的名称可以是域名、IP地址、端口号或UNIX Socket。
    在虚拟机主机配置中指定proxy_pass

        server{
        listen 99;
        location / {
        #如果后端服务器返回502、504执行超时都错误则转发到upstream负载均衡池中的另一台服务,实现故障转移。
        #proxy_next_upstream http_502 http_504 error timeout invalid_header
        proxy_pass http://first_proxy;
        proxy_set_header Host www.yourdomain.com;
        proxy_set_header X-Forwarded-For $remote_addr;
        }
        }

然后就可以通过http://localhost:99/来访问10.9.31.89:5001的服务了。这里只配置了一个后端server,如果配置多个,则实用简单的轮询来达到负载的效果。

时间: 2024-07-30 13:40:50

debian+nginx+php环境实现反向代理和负载均衡教程的相关文章

windows安装nginx部署步骤图解(反向代理与负载均衡)_nginx

一.下载安装Nginx(本文环境为windows xp 32bit环境) 解压nginx-1.0.11.zip,进入nginx-1.0.11,在命令行中执行命令让Nginx启动.具体操作如下图: 测试是否安装成功,输入地址:http://localhost:8090 浏览器显示结果如下图: OK,Nginx部署成功了. 二.关于Nginx的反向代理配置. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

Nginx反向代理实现负载均衡配置图解

首先简单的介绍下nginx作为反向代理实现负载均衡. 反向代理方式是指以反向代理服务器来接受互联网上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给互联网上请求连接的客户端,此时反向代理服务器对外就表现为一个服务器.让互联网上的主机通过不同的域名访问不同的内部网主机资源,使内部网主机免受外部网主机攻击,实现负载均衡和缓存功能,很大程度上减轻web服务器的负担?提高访问速度.   一个简单的Nginx作为反向代理实现负载均衡. 就如上图所示,我简单的建了一个环境,以3

详解Nginx反向代理和负载均衡部署指南_nginx

Nginx反向代理和负载均衡部署指南,具体如下: 1.  安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2)  解压后复制到部署目录.  2.  启动和停止Nginx Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录. 1) 启动Nginx:start nginx 2)  停止Nginx:nginx -s stop 3)修改配置后重启:ngin

nginx技术(3)反向代理和负载均衡

反向代理和负载均衡 一,传统的代理(apache/squid)的同步传输和nginx的异步传输的差异. 二,同步传输和异步传输的比较 squid同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道.在请求发起直到请求完成,这条通道都是一直存在的. nginx异步传输:浏览器发起请求,请求不会立刻转到后台,而是将请求数据(header)先收到nginx上,然后nginx再把这个请求发到后端, 后端处理完之后把数据返回到nginx上,nginx将数据流发到浏览器

nginx配置详解-url重写、反向代理、负载均衡

应用层的负载均衡 master/worker结构:一个master进程,生成一个或多个worker子进程 nginx请求的连接方式epoll 是Linux下多路复用IO接口select/poll的增强版本 select 遍历epoll无需遍历 1.nginx安装(未安装邮件服务器模块) ./configure --help查看编译选项 配置文件中路径没加/以prefix指定的路径开始./configure \--prefix=/usr \--sbin-path=/usr/sbin/nginx \

在不同端口下模拟 Nginx 反向代理和负载均衡

Nginx 是一个轻量级的 WEB 服务器,反向代理服务器和电子邮件服务器,本文介绍在虚拟机中使用不同的端口来模拟不同的服务器,并使用 Nginx 反向代理功能实现服务器负载均衡的效果. 新建两个站点 首先新建两个 WEB 目录当做不同的服务器下的站点,一个是 website-A,一个是 website-B. 这两个站点目录应该是在不同的服务器上,而且代码是一模一样的,这里为了方便在一台虚拟机上模拟不同服务器,并且把两个站点目录下的首页做了一点修改,以区分访问到的是不同目录(服务器)下的站点.两

apache实现反向代理、负载均衡及会话保持配置

apache的反向代理及负载均衡效率以及配置过程都比nginx麻烦.在这研究apache的负载均衡只是为了对比其它软件的优缺点. 测试过程如下: 查看是否安装proxy模块: [root@localhost ~]# httpd -M | grep proxy httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName

Nginx反向代理和负载均衡部署指南

 1.        安装1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2)         解压后复制到部署目录.   2.        启动和停止Nginx Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录. 1)         启动Nginx:start nginx 2)         停止Nginx:nginx -s