第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服务器。
反向代理是指代理服务器(在本例中为Nginx HTTP)接受所有流量并将其转发到特定资源,如后端服务器或者容器。
日期:2020-07-07 20:57:18 来源:oir作者:oir