PHPer常用到的 Nginx 配置
伪静态配置① Laravellocation / {try_files $uri $uri/ /index.php$is_args$query_string;}② ThinkPhplocation / {if (!-e $request_filename){rewrite^(.*)$/index.php?s=$1last;break;}}③ Vue Historylocation / {try_f
·
伪静态配置
① 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;
}
更多推荐
已为社区贡献3条内容
所有评论(0)