在 Vultr 提供的 CentOS 7 云服务器上配置 Nginx 反向代理,首先需要登录实例安装 Nginx 服务,通常通过 yum 包管理器完成。接着编辑 Nginx 配置文件,在 server 块中设置 location 指令并使用 proxy_pass 指向后端应用服务器的地址。同时需注意 Vultr 云平台的安全组规则以及系统内部 firewalld 防火墙设置,确保 80 或 443 端口开放。配置完成后测试语法并重载服务即可实现流量转发,具体步骤与标准 CentOS 7 环境一致,无需特殊脚本,重点在于网络连通性与配置文件的正确性。
基于 CentOS 7 配置 Nginx 反向代理
基于 CentOS 7 配置 Nginx 反向代理 一、反向代理及演示环境描述 1、反向代理 在计算机网络中,反向代理是一种代理服务器,代表客户端从一个或多个服务器检索资源。然后将这些资源返回给客户机,就像它们源自 Web 服务器本身一样。与正向代理相反,正向代理是与其关联的客户端联系任何服务器的中介,反向代理是任何客户端与其关联的服务器进行联系的中介。有关正向代理可参考:基于 CentOS 7 配置 Nginx 正向代理 2、本演示中的几个服务器 二、常规反向代理配置 1、后端服务器配置 (Apache) 代码语言:javascript AI 代码解释 后端 Apache 服务器主机名及 IP# hostname centos7-web.example.com # more /etc/redhat-release CentOS Linux release 7.2.1511(Core)# ip addr|grep inet|grep global inet 172.24.8.128/24brd 172.24.8.255scope global eno16777728 # systemctl start httpd.service # echo "This is a httpd test page.">/var/www/html/index.html # curl http://localhost This is a httpd test page. 2、前端 Nginx 反向代理服务器配置 代码语言:javascript AI 代码解释 前端 Nginx 服务器主机名及 IP# hostname centos7-router # more /etc/redhat-release CentOS Linux release 7.2.1511(Core)# ip addr |grep inet|grep global inet 172.24.8.254/24brd 172.24.8.255scope global eno16777728 inet 192.168.1.175/24brd 192.168.1.255scope global dynamic eno33554960 Nginx 版本 # nginx -Vnginx version:nginx/1.10.2 添加一个新的配置文件用作反向代理 # vim /etc/nginx/conf.d/reverse_proxy.conf server {listen 8090;server_name localhost;location /{proxy_pass http://172.24.8.128;###反向代理核心指令 proxy_buffers 2564k;proxy_max_temp_file_size 0;proxy_connect_timeout 30;proxy_cache_valid 20030210m;proxy_cache_valid 3011h;proxy_cache_valid any 1m;}}# systemctl reload nginx # ss -nltp|grep nginx|grep 8090LISTEN0128*:8090*:*users:(("nginx",pid=78023,fd=8),("nginx",pid=78021,fd=8))# curl http://localhost:8090##基于本地测试 This is a httpd test page.查看 Apache 服务器日志 # more /var/log/httpd/access_log ##请求 IP 地址为 172.24.8.254,当从其他机器请求时也是 172.24.8.254 这个 IP172.24.8.254--[30/Oct/2017:14:02:38+0800]"GET"
CentOS 7 安装 Nginx 并配置反向代理 网站上线全过程【全攻略】
CentOS 7 安装 Nginx 并配置反向代理 网站上线全过程【全攻略】 必须完成 Nginx 安装、基础配置及反向代理设定:一、启用 EPEL 源并安装 Nginx;二、启动服务并设开机自启;三、防火墙放行 80/443 端口;四、修改 nginx.conf 添加 proxy_pass 转发规则;五、语法测试通过后重载服务。如果您需要在 CentOS 7 系统上部署 Web 服务并实现外部流量的统一接入与分发,则必须完成 Nginx 的安装、基础配置及反向代理规则设定。以下是具体实施步骤:一、安装 Nginx 依赖并启用 EPEL 仓库 CentOS 7 默认源中不包含 Nginx 最新稳定版,需先启用 EPEL 扩展软件源,并安装编译与运行所需的基础依赖库。此步骤确保后续安装过程无缺失包报错。1、执行命令安装 EPEL 仓库:sudo yum install epel-release -y 2、更新 YUM 缓存以识别新仓库:sudo yum update -y 3、安装 Nginx 主程序包:sudo yum installnginx-y 二、启动并设置 Nginx 开机自启 安装完成后需立即验证服务可运行性,并配置系统级自动启动策略,避免服务器重启后服务中断。1、启动 Nginx 服务:sudo systemctl start nginx 2、设置开机自启动:sudo systemctl enable nginx 3、检查服务当前状态是否为 active(running):sudo systemctl status nginx 三、配置防火墙放行 HTTP 与 HTTPS 端口 CentOS 7 默认启用 firewalld 防火墙,若未开放 80 和 443 端口,外部请求将被直接拦截,导致网站无法访问。1、永久允许 HTTP 流量:sudo firewall-cmd --permanent --add-service=http 牛面 牛面 AI 面试,大厂级面试特训平台 2、永久允许 HTTPS 流量:sudo firewall-cmd --permanent --add-service=https 3、重载防火墙配置使规则生效:sudo firewall-cmd --reload 四、修改 Nginx 主配置文件启用反向代理 默认 Nginx 配置仅提供静态文件服务,需编辑主配置文件,在 server 块中添加 proxy_pass 指令,将客户端请求转发至后端应用服务器 (如运行在 localhost:8080 的 Java 服务或 Python Flask 应用)。1、备份原始配置:sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak 2、编辑主配置文件:sudo vi /etc/nginx/nginx.conf 3、在 http 块内新增 server 段,包含以下关键指令:location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; }
Centos 7 配置 nginx 反向代理负载均衡集群
Centos 7 配置 nginx 反向代理负载均衡集群 一,实验介绍 利用三台 centos7 虚拟机搭建简单的 nginx 反向代理负载集群,三台虚拟机地址及功能介绍 192.168.2.76 nginx 负载均衡器 192.168.2.82 web01 服务器 192.168.2.78 web02 服务器 二,安装 nginx 软件 (以下操作三台虚拟机都要进行) 1,安装依赖软件包命令集合 yum -y install openssl openssl-devel pcre pcre-devel gcc 2,安装 nginx 软件包命令集合 mkdir /app cd /app wget -q http://nginx.org/download/nginx-1.6.3.tar.gz useradd -s /sbin/nologin -M nginx id nginx tar xf nginx-1.6.3.tar.gz cd nginx-1.6.3 ./configure --user=nginx --group=nginx --prefix=/app/nginx --with-http_stub_status_module --with-http_ssl_module make && make install 有些 Centos 7.6 里面没有安装 wget 命令,所以要自己安装:yum -y install wget 三,配置文件 1,(以下操作在 web01 和 web02 上进行) vim /app/nginx/conf/nginx.conf 将配置文件修改为以下内容 pe application/octet-stream; sendfile on; keepalive_timeout 65; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "http_referer" ' '"$http_user_agent" " $http_x_forwarded_for"'; server { listen 80; server_name bbs.dengchuanghai.org; location / { root html/bbs; index index.html index.htm; } access_log logs/access_bbs.log main; } 对照上面的把注释去掉。然后保存退出,在输入一下内容:web1 服务器:mkdir /app/nginx/html/bbs echo "192.168.2.82 bbs" >>/app/nginx/html/bbs/index.html echo "192.168.2.82 bbs.dengchuanghai.org" >> /etc/hosts web2 服务器:echo "192.168.2.78 bbs" >>/app/nginx/html/bbs/index.html echo "192.168.2.78 bbs.dengchuanghai.org" >> /etc/hosts 然后分别启动 nginx /app/nginx/sbin/nginx -t (检查配置文件有无错误) /app/nginx/sbin/nginx 启动 ss -tnlp | grep 80 2,以下操作在 nginx 负载均衡器上进行 vim /app/nginx/conf/nginx.conf 有些 Centos 7.6 没有安装 vim 命令,需要自己安装:yum -y install vim-enhanced 更改为如下内容 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_ty worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet
FAQ
Q: Vultr CentOS 7 安装 Nginx 需要什么源?
A: 通常需要先启用 EPEL 扩展软件源,因为默认源中可能不包含 Nginx 最新稳定版。
Q: 配置反向代理的核心指令是什么?
A: 在 location 块中使用 proxy_pass 指令将客户端请求转发至后端应用服务器。
Q: 防火墙需要放行哪些端口?
A: 需要永久允许 HTTP(80) 和 HTTPS(443) 流量,并使用 firewall-cmd --reload 生效。