Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)

请允许我按照标准的markdown格式文本来详细讲解 “Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)”。

Nginx 安装笔记

系统环境

操作系统为CentOS 7。

安装Nginx

使用yum命令安装Nginx:

sudo yum -y install nginx

配置Nginx

启动Nginx服务

使用systemctl命令启动Nginx服务并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

PHP支持

安装PHP和PHP-fpm:

sudo yum -y install php php-fpm

在Nginx配置文件中添加PHP支持,修改/etc/nginx/nginx.conf文件:

http {
    server {
        ...
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
         }
        ...
    }
}

重新加载Nginx配置文件并重启Nginx服务:

sudo nginx -t
sudo systemctl restart nginx

虚拟主机

在Nginx的配置文件中添加虚拟主机的配置,如下所示:

http {
    server {
        listen       80;
        server_name  example.com;
        root         /usr/share/nginx/html/example;

        location / {
            index  index.html index.htm;
        }
    }
}

其中,example.com为域名,在本地hosts文件中指向127.0.0.1;/usr/share/nginx/html/example为指向虚拟主机的目录。

反向代理和负载均衡

在Nginx的配置文件中添加反向代理和负载均衡的配置,如下所示:

http {
    upstream backend {
        server backend1.example.com weight=5;
        server backend2.example.com;
        server backend3.example.com;
    }

    server {
        ...
        location / {
            proxy_pass         http://backend;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        ...
    }
}

其中,backend1.example.com、backend2.example.com、backend3.example.com为后端服务器的域名或IP地址;weight=5表示分配5倍的负载均衡权重。

示例说明

示例一:虚拟主机

假设你的域名为example.com,在本地hosts文件中添加:

127.0.0.1 example.com

在/usr/share/nginx/html/目录下创建example目录,并在其中添加index.html文件,内容可以为:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to example.com</title>
</head>
<body>
    <h1>Hello World!</h1>
    <p>Welcome to example.com!</p>
</body>
</html>

重新加载Nginx配置文件并重启Nginx服务:

sudo nginx -t
sudo systemctl restart nginx

打开浏览器并访问http://example.com,即可看到内容为Hello World!的网页。

示例二:反向代理负载均衡

假设你有三台后端服务器,分别为backend1.example.com、backend2.example.com、backend3.example.com,这三台服务器可以是不同的IP地址或都在同一个局域网中。在这三台服务器上,分别部署相同的PHP应用程序,PHP程序的端口为8765。

修改Nginx配置文件,使之能够反向代理访问这三台服务器上的应用程序:

http {
    upstream backend {
        server backend1.example.com:8765 weight=5;
        server backend2.example.com:8765;
        server backend3.example.com:8765;
    }

    server {
        ...
        location / {
            proxy_pass         http://backend;
            proxy_set_header   Host $host;
            ...
        }
        ...
    }
}

重新加载Nginx配置文件并重启Nginx服务:

sudo nginx -t
sudo systemctl restart nginx

现在,Nginx已经可以反向代理访问这三台服务器上的应用程序,通过负载均衡来分配流量。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 为Nginx启用Brotli压缩算法的方法示例

    为Nginx启用Brotli压缩算法可以大幅度地减轻网站传输的数据量,提升页面加载速度。下面是两条示例说明: 示例一:手动编译并使用Brotli静态模块 安装依赖 在编译Brotli模块之前,需要先安装相关的依赖工具: sudo apt-get install automake autoconf libtool libssl-dev 下载Brotli源代码 …

    Nginx 2023年5月16日
    00
  • nginx配置location方法总结

    下面是详细的“nginx配置location方法总结”的攻略: 1. 概述 Nginx是一种高性能的Web服务器和反向代理服务器。它的配置文件通常是由多个server块和location块组成的。location块用于匹配请求的URI,以决定应该由哪个server块处理请求。 2. 基础语法 location块的基本语法如下: location [= | ~…

    Nginx 2023年5月16日
    00
  • 服务器nginx权限被拒绝解决案例

    服务器 nginx 权限被拒绝是一个常见的问题,这可能会导致网站无法正常运行。针对这种情况,我们可以考虑以下两种解决方案: 方案一:更改nginx的用户组 查看当前 nginx 进程所属的用户组: ps -ef | grep nginx 可以看到输出的结果中 nginx 进程的用户组为 www-data。 查看 Nginx 配置文件夹的所有者和权限: ls …

    Nginx 2023年5月16日
    00
  • nginx修改默认端口方法图文详解

    下面是针对“nginx修改默认端口方法图文详解”的完整攻略,包含两条示例说明。 一、前言 默认情况下,Nginx服务器会使用80端口进行HTTP通信,443端口进行HTTPS通信。由于80和443端口非常常用,因此有时候我们需要修改Nginx服务器的端口号,以避免端口冲突。在本文中,我们会详细讲解如何修改Nginx服务器端口号的方法。 二、步骤 打开Ngin…

    Nginx 2023年5月16日
    00
  • nginx服务器的下载安装与使用详解

    下面是详细讲解“nginx服务器的下载安装与使用详解”的完整攻略。 下载安装nginx服务器 官网下载 nginx (http://nginx.org/en/download.html) 解压 nginx 安装包: $ tar zxvf nginx-${版本号}.tar.gz 进入解压后的 nginx 目录: $ cd nginx-${版本号} 安装依赖库和…

    Nginx 2023年5月16日
    00
  • Nginx+Tomcat负载均衡集群安装配置案例详解

    Nginx+Tomcat负载均衡集群是在Web应用开发中比较常用的技术架构之一。以下为该技术架构安装配置的详细攻略。 1. 安装Tomcat 安装Tomcat并配置Tomcat集群,这里不做赘述。 2. 安装Nginx 安装Nginx 使用以下命令安装Nginx: sudo apt-get update sudo apt-get install nginx …

    Nginx 2023年5月16日
    00
  • nginx结合keepalived实现高可用的完整步骤

    当我们需要部署高可用的 Web Server 访问服务时,我们可以使用 Nginx 和 Keepalived 来完成这个需求。 Nginx 是一个轻量级、高性能、高可靠性的 Web 服务器。Keepalived 则是基于 VRRP 协议的一个高可用解决方案。当有服务器宕机或者无法提供服务时,Keepalived 能够将 VIP(虚拟 IP)迁移到其他服务器,…

    Nginx 2023年5月16日
    00
  • Zabbix 监控MySQL、Apache、Nginx应用监控

    zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上已经有很多已经写好的模板,我们可以直接拿来直接使用,所以,zabbix对应用软件的监控其实并不难。 一、zabbix 监控 mysql应用实战本文首先要介绍的是…

    2023年4月9日
    00
合作推广
合作推广
分享本页
返回顶部