将Nginx配置为反向代理(与Apache共存)
想做的事情 zuò de
在中国运行Nginx的反向代理,并将处理任务交给Apache。
①访问 → ②Nginx → ③Apache → ④返回处理
反向代理是什么?
使用服务器端代理的好处是:
– 可以隐藏原始服务器
– 通过使用多台服务器可以实现负载均衡
以上是使用服务器端代理的优点。
为什么选择Nginx
尽管Apache也具有反向代理功能,但由于Nginx擅长处理大量简单请求的特点,许多情况下选择采用Nginx。
在本次使用的Web服务器中,我们将使用Nginx,但复杂的应用处理将由Apache完成,同时也可以使用Nginx作为反向代理将请求转发给Apache。
安装Nginx
在假设CentOs7已经安装了Apache的前提下,我们将安装Nginx。
由于Nginx和端口冲突,所以暂停Apache。
systemctl停止httpd。
编写存储库的配置文件
首先,创建一个文件来进行仓库的设置。
# vi /etc/yum.repos.d/nginx.repo
在文件中写下以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
样本代码根据使用的发行版,将”OS”替换为”rhel”或”centos”,将”OSRELEASE”替换为”6″或”7.x”中的”6″或”7″。
语法
[nginx]
name=nginx软件源
baseurl=http://nginx.org/packages/{OS}/{OSRELEASE}/$basearch/
gpgcheck=0
enabled=1
安装Nginx
# yum install nginx
启动和停止Nginx
#自動起動
systemctl enable nginx
#起動
systemctl start nginx
#停止
systemctl stop nginx
确认启动

反向代理服务器的配置
将Apache的端口进行更改。
由于Nginx和端口冲突,将Apache的端口号从80更改为8080。
Listen 80
↓ #変更
Listen 8080
重新启动Apache。
# systemctl restart httpd
设置Levis代理
请在 /etc/nginx/conf.d/ 目录下创建一个名为 reverse_proxy.conf 的文件。文件名可以随意取,但请确保文件扩展名为 conf。
server {
listen 80; # ポート番号80番でアクセスされたら
server_name localhost; # http://localhost でアクセスされたら
location / {
proxy_pass http://127.0.0.1:8080; # どこにアクセスさせるか
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
隐藏服务器版本
http {
# ↓これを追加
server_tokens off;
}
重新启动Nginx
重新启动nginx服务。
当您访问 http://localhost 时,将显示 Apache 的界面。
这表示反向代理的设置已经完成。
记事本
/etc/nginx/nginx.conf
只需要一种选择就可以了:请给出以下内容的中文本土化解释。
Nginx逆向代理