Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,同时现在也很流行动静分离,就可以通过Nginx来实现。# nginx 静态资源配置--静态服务器(也是最简单的配置)
server {
listen 80; # 监听端口号
server_name localhost; # 主机名
index index.html index.htm; # 默认页名称
root html; # 静态资源存放目录
location / { # 匹配路径
root html; # 文件根目录
index index.html index.htm; # 默认页名称
}
error_page 500 502 503 504 /50x.html; # 报错编码对应页面
location = /50x.html {
root html;
}
}
location / { #匹配路径
root html; #文件根目录
index index.html index.htm; #默认页名称
}
① 前缀 + uri(字符串/正则表达式)
② @ + name
前缀含义
~* :忽略大小写
^~ :只需匹配uri部分
@ :内部服务跳转
upstream tomcat{
server localhost:8080;
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html;
}
# 所有静态请求都由nginx处理,存放目录为html
location ~* \.(gif|jpg|jpeg|png|bmp|swf|css|js)$ {
root html;
}
# 所有动态请求都转发给tomcat处理
location ~ *jsp$ {
proxy_pass http://tomcat; # 代理转发
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name blog.yilele.site;
index index.html;
location / {
root /shan/blog/;
index index.html;
}
location ~* \.(jpg|jpeg|gif|png|swf|rar|zip|css|js|map|svg|woff|ttf|txt)$ {
root /shan/blog/;
index index.html;
add_header Access-Control-Allow-Origin *;
}
# 反向代理
location /api {
proxy_pass http://ip地址或域名:端口号;
}
}
本身一个静态资源的服务器,location / {
root /shan/blog/;
index index.html;
}
location ~* \.(jpg|jpeg|gif|png|swf|rar|zip|css|js|map|svg|woff|ttf|txt)$ {
root /shan/blog/;
index index.html;
add_header Access-Control-Allow-Origin *;
}
version: "3"
services:
api:
image: api
container_name: api
expose:
- "8888"
nginx:
image: nginx
container_name: nginx
ports:
- 80:80
- 443:443
volumes:
- /mnt/docker/nginx/:/etc/nginx/
- /mnt/shan/blog:/shan/blog
links:
- api
depends_on:
- api
upstream apistream{
server api:8888;# 通过dockerCompose编排,服务名相当于域名
}
server {
listen 80;
server_name blog.yilele.site;
index index.html;
location / {
root /shan/blog/;
index index.html;
}
location ~* \.(jpg|jpeg|gif|png|swf|rar|zip|css|js|map|svg|woff|ttf|txt)$ {
root /shan/blog/;
index index.html;
add_header Access-Control-Allow-Origin *;
}
location /api {# 请求https://blog.yilele.site/api 会代理转发到 api:8888
proxy_pass http://apistream;
}
}
如果本文对你有帮助的话记得给一乐点个赞哦,感谢!