最简单的配置文件
#user nobody;
worker_processes 1;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# httpds可以代表多个 ip
upstream httpds{
server 192.168.29.102:80;
server 192.168.29.103:80;
}
server {
listen 80;
server_name localhost;
location / {
# 这里进行的反向代理
proxy_pass http://httpds;
#root /www/www;
#index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
一个server{
}代表一个主机
这块是网上域名配置到该ip,然后nginx接收到ip的请求,再反向代理到proxy_pass后面的路径
动静分离的配置(访问tomcat的接口和页面,静态文件存储在nginx服务器中)
通过反向代理到其他服务器的ip index.html
但相关资源文件存储在当前的服务器
通过设置多个location 进行处理
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 localhost;
location / {
proxy_pass http://192.168.29.104:8080;
}
# root后面表示 当访问的路径最后为/css时,则把会转接为 /html/css 去找这个资源
location / css{
root html;
index index.html index.html
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
通过location后的地址 与 root 后面的地址进行拼接找到
/html/css
可以用正常表达式写一个正则,就不用写多个location
URLRewrite 伪静态配置
可以通过正则表达式隐藏我们 也是在location中配置
location/{ #代表一个参数的值
rewrite ^/…$ /index.jsp?pageNum=$1 break;
proxy…
}
nginx作为网关服务器
nginx可以访问到内网的tomcat,但外网无法访问到该tomcat,只需要配置下tomcat的中的防火墙,只发行nginx的ip地址即可
谷粒商城中的nginx应用
server部分可以单独做配置文件然后在总的config引入进来

谷粒商城具体配置
首先购买一个自己的域名,然后给这个域名配置映射的ip
nginx可以根据请求地址或者主机名称进行匹配
这块nginx进行代理时是根据请求头中的 Host对照

所以我们要把这块的主机名称对应好(这里没对应好)

对应好后再进行一次基础的映射

进行域名访问后,转发到cloud的网关,然后网关地址也可以进行多个适配,通过应用nginx的 upstream

在server中配置

这时我们就可以去配置我们的网关了,采用了主机名称的断言机制

但此时会有一个问题,网页输入网址后,nginx进行转发,这次的转发会丢掉host等等信息,导致无法正确到达网关
则我们需要在server里手动配置一下请求头


被折叠的 条评论
为什么被折叠?



