linux配置nginx cdn,用Nginx做静态文件的CDN

鉴于监管环境和网站速度之间的矛盾,目前的网络架构方式如下:

1、web动态页面(含数据库)架设在位于美国西海岸的数据中心;

2、静态文件,例如css、js、exe、图片存放在国内几台windows服务器上。

如果你的网站是商用、盈利性的网站,而没有技术能力搭建cdn,请使用第三方CDN服务。

存在的问题有:

1、静态文件同步问题;

2、缓存刷新问题。

第一个问题使用nginx得到解决。使用proxy_store功能,在文件不存在的时候请求源服务器,并保存。

文件存在时直接读取本机文件。

第二个问题,参考第四届D2上口碑网分享的经验:CDN上静态文件不提供删除功能。其实也未尝不可。当然也可以使用相应nginx扩展接口甚至php文件来清除缓存,也不是很复杂。

如果你的系统是linux的,可忽略第一步,看第二步:配置方式

1、安装Nginx

windows在生产环境安装nginx最好使用服务的方式。如果根据网上提供的instsrv.exe注册服务方案,具有若干缺陷。比如nginx.exe作为主进程启动另一个进程,而instsrv.exe只能监控一个进程。这里推荐俄罗斯人写的一款小工具NG_SRVINST

地址:http://ng_srvinst.att.kiev.ua/

使用很简单,解压到任意文件夹后,修改ng_srv.xml内Nginx的路径,比如

XML/HTML代码

01.

02. nginx

03. nginx

04. nginx

05. E:\nginx\nginx.exe

06. E:\wwwroot\logfiles\

07. roll

08.

09. -p E:\nginx

10. -p E:\nginx -s stop

11.

然后ng_srv.exe install就安装好了。

2、配置方式proxy

首先修改HOSTS内的域名指向源服务器的ip,然后,见配置文件。把wucha.sg替换为你的域名即可。(或者只修改proxy_pass http://源服务器的ip; 也是可以的)

JavaScript代码

01.server {

02. server_name wucha.sg;

03. root E:/wwwroot;

04. set $index 'index.html';

05. set $store_file $request_filename;

06. if ($uri ~ /$ ){

07. set $store_file $request_filename$index;

08. rewrite (.*) $1index.html last;

09. }

10. location / {

11. root "E:/wwwroot";

12. index index.html;

13. proxy_store on;

14. proxy_temp_path "E:/wwwroot";

15. proxy_set_header Host wucha.sg;

16. proxy_set_header X-Real-IP $remote_addr;

17. if ( !-e $request_filename ) {

18. proxy_pass http://wucha.sg;

19. }

20. }

21.}

启动nginx服务,试试访问一个文件,然后看看proxy_temp_path下有没有生成文件。这一步我遇上了点问题,就是测试txt文件死活不生成。最后访问一个大于70KB的js生成了,再访问txt也生成了。

要注意的是nginx服务的权限要有读写临时文件夹的权限,还有root和proxy_temp_path最好在同一个文件夹下(未考证,但是位于不同分区会导致错误。)

如果你看到文件夹内一串数字,并且文件尺寸在不断在增长,那是nginx在下载文件时生成的临时文件。

大功告成,可以用dnspod之类的服务来做简单cdn。要发布文件,只需上传到源服务器,即能在所有做了配置的服务器上访问。

本文采用Creative Commons协议,复制本文需遵守三点:1、保留署名(链接);2、非商业性使用;3、再次创作的作品必须以相同的许可协议发布。

原文链接:https://blog.csdn.net/weixin_39951773/article/details/116956550?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934461816782248533296%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934461816782248533296&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-21-116956550-null-null.nonecase&utm_term=%E6%90%AD%E5%BB%BAcdn

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/7668

(0)
上一篇 2022年8月9日
下一篇 2022年8月9日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml