本文供自己查询使用
ngnix.conf
user root;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
# 开启压缩功能
gzip on;
gzip_min_length 1;
# 定义压缩级别
gzip_comp_level 3;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/bmp application/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff;
# 主要的server 块代码写在 imooc.conf中, 引入nginx.conf
include imooc.conf;
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
server块的内容写在下面的 imooc.conf中
server {
listen 90;
server_name 192.168.209.222;
# 在SpringBoot中配置跨域, 或者在这里选择其一; 本例采用SpringBoot配置
# add_header 'Access-Control-Allow-Origin' $http_origin;
# add_header 'Access-Control-Allow-Credentials' 'true';
# add_header 'Access-Control-Allow-Methods' *;
# add_header 'Access-Control-Allow-Headers' *;
# 防盗链配置, 允许请求头的 referer信息如下
# valid_referers none blocked server_name ;
# 非法引入会进入下方判断
# if ($invalid_referer) {
# return 404;
# }
location / {
proxy_pass http://tomcats;
proxy_cookie_domain tomcats 192.168.209.222;
}
}
server {
listen 80;
server_name 192.168.209.222;
location / {
root /home/foodie-shop;
index index.html;
}
}
server {
listen 81;
server_name 192.168.209.222;
location / {
root /home/foodie-center;
index index.html;
}
}
server {
listen 99;
server_name 192.168.209.222;
location / {
root /home/img/;
index index.html;
}
}
upstream tomcats {
server 192.168.209.222:9090;
server 192.168.209.222:9091;
server 192.168.209.222:9092;
keepalive 32;
}
上述 server块配置, 对应的架构示意图:
最后, 附一个云上的版本
server {
listen 80;
server_name pic.robbyzhan94.info;
location / {
root /home/userimg/;
}
}
server {
listen 80;
server_name front.robbyzhan94.info;
location / {
root /home/foodie-shop/;
index index.html;
}
}
server {
listen 80;
server_name center.robbyzhan94.info;
location / {
root /home/foodie-center/;
index index.html;
}
}
server {
listen 80;
server_name api.robbyzhan94.info;
#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;
location / {
proxy_pass http://foodie-api;
}
}
upstream foodie-api {
server 172.17.0.3:8080;
server 172.17.0.3:8081;
server 172.17.0.3:8082;
}