伪静态配置


① Laravel

location / {
    try_files $uri $uri/ /index.php$is_args$query_string;
}

② ThinkPhp

location / {
    if (!-e $request_filename){
        rewrite  ^(.*)$  /index.php?s=$1  last;   break;
    }
}

③ Vue History

location / {
  try_files $uri $uri/ /index.html;
}

设置代理【简单版】


location /document
{
    proxy_set_header X-Forwarded-For $remote_addr; #可以在web服务器端获得用户的真实ip
    proxy_set_header Host $http_host; #浏览器直接访问服务,获取到的 Host 包含浏览器请求的 IP 和端口
    proxy_set_header  X-Forwarded-Proto $scheme; #后端可以获取http https协议
    #此处配置 程序的地址和端口号
    proxy_pass http://127.0.0.1:8181/;
}

设置 Nginx 访问日志

启动 nginx 时 会自动创建文件

access_log  /www/wwwlogs/yu.com.log;
error_log  /www/wwwlogs/yu-error.com.log;

 nginx.conf设置 当前域名映射目录

root /www/wwwroot/yu.com;

监听多端口

server
{
    listen 80;
    listen 8081;
    ...
}

设置域名地址

server_name yu.com;

根据正则条件匹配路由

location ~ ^.*(TR.*)\.png$
{
    proxy_pass        http://127.0.0.1:9501;
    proxy_set_header  Host            $host;
    proxy_set_header  X-Real-IP        $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
}

根据后缀条件

location ~ .*\.(js|css)?$
{
    # 过期时间
    expires      12h;

    # 开启日志
    error_log off;

    # /dev/null 忽略
    access_log /dev/null;
}

文件不存在的时候指向另外一个站点

始发站点

location ~ ^.*(TR.*)\.(png|pdf)$
{
  proxy_set_header  Host            $host;
  proxy_set_header  X-Real-IP        $remote_addr;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  if (!-e $request_filename) {
        proxy_pass http://127.0.0.1:9501;
  }
}

目标站点

location ~ ^.*(TR.*)\.(png|pdf)$
{
    root /www/wwwroot/project;
}

PDF 浏览器加载

if ($request_filename ~* ^.*(TR.*)\.pdf$){
    add_header Content-Disposition attachment;
}

Logo

前往低代码交流专区

更多推荐