docker-compose文件
bash
version: "3.7"
services:
nginx:
image: nginx
container_name: nginx
ports:
- 8088:80
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/html:/etc/nginx/html
- ./nginx/log:/var/log/
network_mode: host #使用宿主机网络
nginx.conf文件内容
bash
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include //nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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 /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
# server {
# listen 8088 default_server;
# listen [::]:8088 default_server;
# server_name _;
# root /etc/nginx/html;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /404.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
}
nginx/conf.d中config文件内容
bash
server {
listen 8088;
server_name localhost;#域名
access_log /var/log/nginx/dev.access.log;
access_log on;
error_log /var/log/nginx/dev.error.log;
# gzip setting
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
absolute_redirect off;
location ^~ /demo/ {
# 172.17.0.1在docker中默认访问宿主机网络
# 或者直接访问宿主机网络
proxy_pass http://172.17.0.1:80/;
tcp_nodelay on;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
就是有一个问题,
使用 curl http://localhost:8088/demo/ 访问正常
使用 curl http://localhost:8088/demo 就出现问题了
301 Moved Permanently,这个问题现在没有解决掉
哪位大神帮帮我吧!
关于nginx加不加斜杠参考: https://blog.csdn.net/weishuai90/article/details/131133621
nginx优化参考: https://www.jianshu.com/p/0fa77899913a