第1步:安装nginx

安装nginx很容易。

sudo apt-get update
sudo apt-get install nginx

安装nginx后,下面的命令可用于停止,启动和启用nginx服务(启用服务:在服务器开机引导时自动启动服务)

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

安装后,使用浏览器打开:

http://localhost

将能看到Nginx默认测试页面

第2步:将nginx配置为反向代理

nginx代理模块的proxy_pass功能提供反向代理。
要使用proxy_pass,我们必须首先知道要在哪里指导流量..

在典型的设置中,反向代理服务器将侦听默认HTTP端口上的所有流量,即端口80。

承载内容的后端服务器将在自定义端口上侦听。比如8080端口。

在本文中,我们将设置Nginx在端口80上侦听,然后将流量定向到侦听端口8080的后端服务器

创建名为nginxproxy的代理VirtualHost文件。

sudo nano /etc/nginx/sites-available/NginxProxy

然后在文件中添加下面内容:

server {
    listen 80;
    listen [::]:80;
    server_name  example.com www.example.com;
    proxy_redirect           off;
    proxy_set_header         X-Real-IP $remote_addr;
    proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header         Host $http_host;
    location/{
            proxy_pass http://localhost:8080;
        }
}

该文件包含服务器名称以及Proxy_pass,在代理服务器收到时流量被定向。

测试nginx配置,检查有没有语法错误:

sudo nginx -t

输出示例:

Output:
nginx: the configuration file /etc/nginx/sites-available/NginxProxy syntax is ok
nginx: configuration file /etc/nginx/sites-available/NginxProxy test is successful

启用代理站点并重新启动nginx HTTP服务器。

sudo ln -s /etc/nginx/sites-available/NginxProxy /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service

使用浏览器打开
http://example.com

所有example.com的请求都将转发到端口8888的apache2服务器。

在Ubuntu 18.04上使用Nginx HTTP服务器配置反向代理

反向代理是指代理服务器(在本例中为Nginx HTTP)接受所有流量并将其转发到特定资源,如后端服务器或者容器。

日期:2020-07-07 20:57:18 来源:oir作者:oir