欢迎光临
我们一直在努力

nginx静态文件(nginx静态文件转发其他服务器)

找服务器给各位分享nginx静态文件知识,如有帮助,请关注我们!

本文目录:

  • 1、nginx配置负载均衡,访问页面不加载JS、CSS等静态文件,F12查看源代码发现,jsp获取basePath错误
  • 2、.htaccess转换nginx服务器伪静态文件
  • 3、Tomcat 与Nginx
  • 4、前端打包gzip + nginx开启静态gzip
  • 5、手把手教你nginx下如何添加伪静态
  • 6、采用nginx+php,nginx中静态文件没有进行gzip压缩

nginx配置负载均衡,访问页面不加载JS、CSS等静态文件,F12查看源代码发现,jsp获取basePath错误

在NGINX.CONF文件中配置地址和IP:

proxy_set_header??????? Host $host; #从header头中获取的主机名

proxy_set_header??????? X-Real-IP $remote_addr;

#获取header头中获取的主机的真实IP

proxy_set_header?????? X-Forwarded-For?? $proxy_add_x_forwarded_for;

#获取header头中获取代理者的真实ip

.htaccess转换nginx服务器伪静态文件

nginx.conf 文件放在网站根目录下

location / {

rewrite ^tweet/([0-9]+)/?$ index.php/?app=tweetaction=viewid=$1 last;

.

.

.

.

}

在虚拟机配置文件中加入 include 网站路径/nginx.conf

Tomcat 与Nginx

Nginx是一个HTTP服务器 ,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

客户端本来可以 直接 通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端。

负载均衡: 将 相同的应用 部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是, 其中一台服务器万一挂了,只要还有其他服务器正常运行 ,就不会影响用户使用。

虚拟主机: 如将 和 两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。

动态静态资源分离:

之前开发web方面的程序时候我们习惯将 html、css等资源文件也放置于Tomcat中 ,用户访问后tomcat需要将请求的这些静态资源文件一并返回给用户。

再者如果有多台同业务逻辑的tomcat服务器的话,同样的资源还需要在每个服务器上放一份,同时也增加了tomcat服务器的网络IO。

如果我们只讲JSP之类的请求交给tomcat, 在代理服务器上存放静态资源 ,当用户的请求非动态资源的时候, 我们完全可以将代理服务器的静态资源直接返回给用户,而不去增大Tomcat的压力 ,

tomcat只需要 负责逻辑处理 和 动态资源的加载 就可以了。

Tomcat的高并发性能很弱 ,所以在处理 静态请求的时候,我们就抛给Nginx处理 ,而Tomcat专门处理动态请求。

Nginx和Tomcat结合方式 :

WEB-INF

WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问, 只有服务端可以访问的目录 。

前端打包gzip + nginx开启静态gzip

服务端动态gzip是常见的方案,即服务端判断浏览器http请求头中的Accept-Encodin是否有gzip,有的话就说明浏览器支持gzip服务器就实时压缩生成gzip返回给浏览器,否则就返回原文件。但是这种模式是比较消耗服务器CPU的,如果前端打包的时候就压缩好,把原文件和gzip文件全丢到服务器上,服务器不干压缩的活,只区分浏览器是不是支持gzip,支持就返gzip文件,不支持就返原文件,那就能省去服务器动态压缩的环节。

PS:因为Linux系统下nginx不能向磁盘写文件,所以服务端只能实时生成。

PS:服务器数量少的条件,就不要用nginx动态压缩了。

不同的前端框架配置gzip的方式不一样,这里不多说,网上方法非常多。这里我用的VUE,可以参考下:

1、前端文件部署到服务器后,在nginx.config的目标应用location下配置 gzip_static;

gzip_static on;

gzip_http_version 1.1;

gzip_proxied expired no-cache no-store private auth;

gzip_disable “MSIE [1-6]\.”;

gzip_vary on ;`

说明nginx的编译参数缺失,需要添加–with-http_gzip_static_module参数,然后重新编译:

3、验证静态gzip是否生效:

手把手教你nginx下如何添加伪静态

1、先进入到nginx的配置文件目录,输入以下命令:

cd /alidata/server/nginx/conf/rewrite

2、再输入:ll

 3、输入以下命令:

cd /alidata/server/nginx/conf/vhosts

4、进入到网站配置目录,打开配置文件,修改好伪静态调用文件;

5、测试配置的文件是否正确,输入:

/alidata/server/nginx/sbin/nginx -t

nginx: the configuration file /alidata/server/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /alidata/server/nginx/conf/nginx.conf test is successful

如果出现以上两句话就说明配置成功了。

6、下面重启下nginx

/alidata/server/nginx/sbin/nginx -s reload

7、伪静态配置完成

采用nginx+php,nginx中静态文件没有进行gzip压缩

用nginx+php集成包phpfind或phpstudy。纯中文绿色解压即可,你试试吧,超级简单自动配好nginx+php环境

本文关于nginx静态文件和nginx静态文件转发其他服务器的内容来源于网络,版权归原作者所有,如有侵权,请联系删除!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。