centos7下安装nginx博客链接:https://blog.csdn.net/qq_41357211/article/details/99694744
nginx配置反向代理步骤,在文章下面
nginx安装在服务器后,例如服务器的域名为 www.luoskr.com, 服务器上启动的项目端口号8082
场景一:
访问项目需要 www.luoskr.com:8082/url
带着端口号,太不优雅了,我们希望能够直接通过域名访问 www.luoskr.com,来调用项目接口。
这种清况下,浏览器默认端口号是80,如何才能把请求转移到8082呢? 我们需要nginx来配置反向代理。
场景二:
一个服务器上绑定了两个以上域名 A:www.luoskra.com , B:www.luoskrb.com 两个域名对应一个ip
想要直接访问域名A:www.luoskra.com,来访问www.luoskra.com:8082 或者 页面1
想要直接访问域名B:www.luoskrb.com,来访问www.luoskrb.com:8083 或者 页面2
(浏览器默认端口为80,nginx默认端口也是80 --> 这是映射的根本)
先来了解nginx
nginx可以作为web服务器,具备网关必备的功能:
- 反向代理
- 负载均衡
- 动态路由
- 请求过滤
web服务器分2类:
web应用服务器:tomcat, resin, jetty
web服务器: Apache服务器, Nginx, IIS
区分:web服务器不能解析jsp等页面,只能处理js、css、html等静态资源。
并发:web服务器的并发能力远高于web应用服务器。
nginx作为反向代理
什么是反向代理?
- 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。
- 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。
利用反向代理,就可以解决前面列举的端口问题
nginx配置反向代理server
在最上面centos7下安装nginx博客链接第四步骤中,指定安装到了 /opt/nginx 目录 下,则切换到该安装目录下,进入到nginx的conf目录下,
vim nginx.conf 修改nginx配置文件
[root@localhost conf]# cd /opt/nginx
[root@localhost nginx]# ls
client_body_temp conf fastcgi_temp html logs proxy_temp scgi_temp uwsgi_temp
[root@localhost nginx]# cd conf
[root@localhost conf]# ls
fastcgi.conf fastcgi_params.default mime.types nginx.conf.default uwsgi_params
fastcgi.conf.default koi-utf mime.types.default scgi_params uwsgi_params.default
fastcgi_params koi-win nginx.conf scgi_params.default win-utf
[root@localhost conf]# vim nginx.conf
nginx.conf配置文件解读
server部分解读
以下为删除注释后的 nginx.conf内容, 配置很简单,只需添加内容中 http{ }里面的 server, 便可完成映射
其余都是一些默认基本配置,不用修改即可,server部分代码含义见上图。
nginx默认占用80端口,可以配置同时占用多个端口;listen几个端口,就占用几个端口
以下为最开始 场景一,场景二配置文件内容 (浏览器默认端口为80,nginx默认端口也是80 --> 这是映射的根本)
server中 location配置为 / 代表映射一切请求路径url,
配置完成后,浏览器访问www.luoskra.com/url 会自动映射到 http://www.luoskra.com:8082/url
worker_processes 1;
events {
worker_connections 1024;
}http {
include mime.types;
default_type application/octet-stream;sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.luoskra.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://www.luoskra.com:8082;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
server {listen 80;
server_name www.luoskrb.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://www.luoskrb.com:8083;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
server {
listen 80;
server_name localhost;location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}}