使用 Nginx 搭建静态资源 web 服务器

金氏
• 阅读 4110

在搭建网站的时候,往往会加载很多的图片,如果都从 Tomcat 服务器来获取静态资源,这样会增加服务器的负载,使得服务器运行 速度非常慢,这时可以使用 Nginx 服务器来加载这些静态资源,这样就可以实现负载均衡,为 Tomcat 服务器减压了。这篇文章,我们将一起去使用 Nginx 去搭建静态资源 web 服务器。

首先我把构建的 hexo 博客文件放在 Nginx 目录下,目录结构如下:

使用 Nginx 搭建静态资源 web 服务器

再修改 Nginx 配置文件 nginx.conf 中的 server:

server {
        listen 80;
        server_name localhost;

        location / {
                alias blog/;
        }  
    }

其中 location / 表示所有的请求,一般我们通过 root 和 alias 来指定访问的目录。root 相对来说有个问题,会把 url 中的一些路径带到我们的文件目录中来,所以一般使用 alias。

修改好配置文件后,执行 nginx -s reload 重启 nginx 服务,在浏览器中输入 localhost/ 就可以访问了,如图所示:

使用 Nginx 搭建静态资源 web 服务器

此外还可以开启 gzip 压缩,服务器压缩,浏览器解压。压缩和解压减少的是中间网络传输的消耗。

修改 nginx.conf:

gzip on;
gzip_min_length 1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/pdf application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

其中,gzip_min_length 表示小于此大小则不压缩,gzip_comp_level 表示压缩等级,gzip_types 表示压缩类型。

通过 url 访问,查看消息头就可以看到已经开启 gzip 压缩了:Content-Encoding: gzip

使用 Nginx 搭建静态资源 web 服务器

使用 gzip 压缩之后,静态资源的传输效率会提升很多。

还可以打开目录浏览功能,修改 nginx 的配置文件,添加 autoindex on;

server {

    listen 80;
    server_name localhost;

    location / {
           alias blog/;
           autoindex on;
    }
}

修改后,重启 nginx,以目录结构中的 images 目录为例,访问 url:localhost/images/,展示情况如下图:

使用 Nginx 搭建静态资源 web 服务器

为了防止访问大文件抢走带宽,可通过设置访问资源时传输的速度来限制访问的文件大小。

server {
    listen 80;
    server_name localhost;

    location / {
            alias blog/;
            autoindex on;
            set $limit_rate 100K;
    }
}

其中 set $limit_rate 100K; 表示每秒传输速度限制在 100K 大小。

参考

http://nginx.org/en/docs/http...

使用 Nginx 搭建静态资源 web 服务器

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Nginx+uwsgi+ssl配置https
使用原始django,太过于笨重和杂多nginx是一个轻量级的web服务器,在处理静态资源和高并发有优势uwsgi是一个基于python的高效率的协议,处理后端和动态网页有优势所以这里采用静态网页交给nginx解析,动态网页交给uwsgi解析,并且nginx配置ssl,即可以使用出高安全,高效率的部署。步骤我
Wesley13 Wesley13
3年前
LNMP架构之负载均衡及HTTPS相关配置
本文索引:Nginx负载均衡ssl原理生成ssl密钥对Nginx配置sslNginx负载均衡负载均衡原理上就是代理,只不过通过设置多个代理服务器来实现多用户访问时的负载均衡。同时也可以在某个代理服务器无法访问时,切换到另外的代理服务器,从而实现访问不间断的目的。下面以qq.com为例
Easter79 Easter79
3年前
Tomcat & SVN
1\.Tomcat简介tomcat是一个web服务器,类似nginx,apache的httpnginx,http只能处理html等静态文件(jpg)网页分为静态网页(以.html或者.htm结尾的url地址)和动态网页nginx和http配合php就能够处理动态的网页(.php结尾)tomcat也可以处
Wesley13 Wesley13
3年前
NGINX配置入门
Nginx是一个轻量级高性能的web服务器,它是为快速响应大量静态文件请求和高效利用系统资源而设计的。与apache使用面向进程或线程的方式处理请求不同,nginx使用异步事件驱动模型在负载下性能更突出。虽然nginx能高效地服务静态文件,但也有人认为nginx处理动态内容并不理想。不像apache服务器,nginx没用使用内嵌解释器的方式来处理动态内容
Wesley13 Wesley13
3年前
LNMP环境应用
企业LNMP环境应用Llinux丨Nnginx丨Aapache丨Pphp丨TtomcatNginx和Apache都是Web应用服务器相对来说,Nginx处理静态数据快,Apache处理动态快Nginx对系统资源占用小,Apache资源占用高Nginx用得是
Stella981 Stella981
3年前
Linux 磁盘已满怎么办
我们web的静态资源服务器,包括了nginx启用。最近磁盘报警,内存快要满了。可是奇怪的是,静态资源都没有用1G怎么会不够用了。原来是nginx的log搞的乱。接下来如何清理linux服务器。 1、首先,先确定一下Linux磁盘的占用情况,进入根路径cd/dfh!(https://static.osc
Stella981 Stella981
3年前
Nginx、Apache工作原理及Nginx为何比Apache高效
Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题。在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx0.7.14PHP5.2.6(FastCGI)可
Wesley13 Wesley13
3年前
nginx中文手册内容说明
1.什么是nginx?Nginx是一个高性能的Web和反向代理服务器,它具有有很多非常优越的特性:作为Web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤其受到虚拟主机提供商的欢迎。能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了e
Stella981 Stella981
3年前
Nginx负载均衡
前面我们说了反向代理,例子中用的是,两个请求请求同一个ip地址和端口,然后Nginx来根据域名调用不同的tomcat来进行请求处理及响应。反向代理主要说的是:不同的请求请求同一个Nginx服务器,Nginx服务器来决定由那个真正的业务服务器(eg:tomcat)处理某个请求。下面说负载均衡负载均衡一般是指,针对同一个(域名的)请求发送很多次,同
芝士年糕 芝士年糕
2年前
使用nginx进行负载均衡
我租了三台3A的服务器,使用的时候刚好用到了负载均衡,顺便分享给你们,如果有需要服务器或者哪里不懂的,可以私信我1.nginx负载均衡介绍nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交给多台服务器处理,进而提高系统的吞吐率;另外如果其中某一台服务器挂掉,其他服务器
芝士年糕 芝士年糕
2年前
使用nginx进行负载均衡
我使用了三台VPS服务器,同一网段的,用来搭建网站,推荐你们也可以使用3A服务器1.nginx负载均衡介绍nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交