我正在使用HTTP 1.1 Cache-Control标头来实现客户端caching。 由于我每个月只更新我的网站一次,所以我希望CSS和JS文件可以使用Cache-Control: max-age=2592000caching30天Cache-Control: max-age=2592000 。 问题在于由Cache-Control定义的30天期限与网站更新周期不一致,从用户访问网站的那一刻开始到30天后结束,这意味着更新可能同时发生,用户会用过时的内容运行一段时间,如果HTML和CSS不再匹配,这可能会中断网站的呈现。 我如何执行内容的客户端caching几天的时间,但不知何故让用户更新网站后刷新其CSS/JS文件? 我可以想到的一个解决scheme是,如果网站更新可以安排,服务器返回的max-age可以相应地减less,这样无论人们什么时候访问网站,caching期的结束都会与该网站,但每天更改服务器configuration违反我的系统pipe理员原则之一(一旦运行,不要触摸它)。
首先介绍一下我如何安装PHP,Apache和一些Apache模块: # apt-get -y install php5 php-pear libapache2-mod-php5 php-apc php5-mysql php5-mcrypt php5-xmlrpc php5-curl php5-imagick php5-gd php5-imap php5-pspell # apt-get -y install apache2 apache2-doc apache2-utils # a2enmod setenvif headers deflate filter expires rewrite include 而我的httpd.conf文件看起来像这样(即我已经基本禁用.htaccess,并具有在httpd.conf中的所有规则): <Directory /var/www/example.com/public> AllowOverride None […] </Directory> 考虑到它会给你一个如何设置我的networking服务器的基本想法,我想继续问问题: Apache在安装PHP的静态内容方面比较慢,这是真的吗? ( 我猜 ) 比方说,我的网站的根目录是'/var/www/example.com/public',我在'/var/www/example.com/public/uploads中有所有的静态内容(CSS,JS,图片) “; 如何克服问题(1),而不必将所有静态内容移动到没有安装PHP的服务器?
我们是否可以通过哪种方式来实施S3静态网站托pipe站点的特定IP范围的访问?
我运行了一个相当繁忙的网站,由于一些不幸的事件,我在Linode云中的机器出现故障。 而且我只有一台暴露在外部的Load Balancer机器( 一个IP )。 另外我的网站是可以镜像的超过6000个静态页面的候选人。 现在我的DNS是CloudFlare 。 我可以做些什么来维护我的网站的静态镜像,并路由到我的网站宕机。 由于我是从Linode运行的,因此我没有任何类似于Route53的东西来检测IP地址的停机时间并指向另一个IP地址。 什么是人们使用静态镜像站点和停工的策略?
有人能指出我最近的两个基准吗? 还有关于G-WAN的更多信息将是很好的,因为直到现在我从来没有听说过它。 我需要最快的服务器来处理静态文件。
我已经build立了一个S3存储桶来托pipe我的静态网站。 现在我正在尝试打包CloudFlare,但在CloudFlare的DNSpipe理器中为根域添加CNAME条目时出现以下警告: CNAME example.com example.com.s3-website-us-east-1.amazonaws.com DNS规范不允许根域CNAMElogging。 较早的recursion和邮件程序可能不遵循这个CNAME。 如果您计划将此logging用作MX或SRV目标,您可能需要将此logging更改为Alogging。 我find的例子显示了一个使用子域的工作设置(例如,通过https://support.cloudflare.com/entries/22077268-How-do-I-use-CloudFlare-with-Amazon-s images.example.com -S3-Service- ),但我有兴趣从根域完全托pipe网站。 一切似乎现在正在工作…该域用Google Apps MXlogging设置 – 我可以忽略CloudFlare的警告? 我觉得能够将根域设置为Alogging更舒服,但我不知道如何实现这一点。
我是Apache服务器的新手(2.0,我知道它有点太旧,但是我的工作场所要求我学习它,因为它是我们正在使用的版本),现在试图使Apache与Jboss(Jboss应用程序服务器,Apache面向JBoss并提供所有静态内容)。 我已经通过mod_jk与Apache的Jboss合作; 然而,当我试图添加虚拟主机configuration来让Apache从特定文件夹提供图像而不是推动JBoss提供静态内容时,我得到了403 Forbidden错误。 我经历了几个论坛和其他网站挖掘出一个答案或解决这个问题,可悲的是没有什么似乎为我工作! 🙁 请任何人都可以帮助我呢? 一点点的解释将是一个欢迎添加。 以下是我在httpd.conf文件中的虚拟主机定义。 <VirtualHost *:80> ServerAdmin admin@localhost ServerName localhost DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/jboss/" <Directory "D:/Dev-Ops/apache/Apache2/htdocs/jboss/"> AllowOverride All Order Allow,Deny Allow from all Require all granted </Directory> #rewrite incoming requests RewriteEngine On RewriteCond /SchoolApp%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ http://localhost:8080/SchoolApp/$1 [proxy,last] </VirtualHost> 您的帮助将不胜感激。 PS:我在尝试其他几个这样的指示后,正在关注这个链接 。
我正在尝试使用dockerconfiguration一个php webapp。 这个想法是在一个独立的容器中使用php-fpm运行应用程序,并有另一个运行nginx的容器。 这个设置的想法是使用相同的nginx容器代理请求到已经在同一台机器上工作的其他webapps。 问题是我不能让nginx正确处理静态文件(js,css等),因为对那些请求保持去fpm 。 这就是文件系统的样子: / ├── Makefile ├── config │ └── webapp.config └── webapp └── web ├── index.php └── static.js 我使用一个看起来像这样的Makefile来运行整个事情(对docker-compose不感兴趣): PWD:=$(shell pwd) CONFIG:='/config' WEBAPP:='/webapp' run: | run-network run-webapp run-nginx run-network: docker network create internal-net run-webapp: docker run –rm \ –name=webapp \ –net=internal-net \ –volume=$(PWD)$(WEBAPP):/var/www/webapp:ro \ -p 9000:9000 \ php:5.6.22-fpm-alpine run-nginx: docker […]
我试图设置一个真正快速,压缩,caching的静态内容网站只服务于.jpg,.css和.js 我想从网站configuration中删除所有不需要的function: 但是这个configuration保持失败: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <urlCompression doStaticCompression="true" doDynamicCompression="false" /> <caching enabled="true" enableKernelCache="true"> <profiles> <add extension=".gif" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" /> <add extension=".png" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" /> <add extension=".js" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" /> <add extension=".css" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" /> <add extension=".jpg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" /> <add extension=".jpeg" policy="DontCache" kernelCachePolicy="CacheUntilChange" […]
我使用Nginx作为多个服务器中的多个应用程序的反向代理,我试图将通用caching指令添加到每个应用程序的静态文件。 我原来的configuration是这样的: location /app1{ … proxy_pass http://127.0.0.1:8081/app1; } location /app2{ … proxy_pass http://127.0.0.1:8082/app2; } … 要添加静态文件指令,我可以添加一个嵌套的位置,像这样的每个位置: location /app1{ … proxy_pass http://127.0.0.1:8081/app1; location ~* \.(css|js|ico|gif|jpg|jpeg|png)$ { expires 1d; … proxy_pass http://127.0.0.1:8081; } } location /app2{ … proxy_pass http://127.0.0.1:8082/app2; location ~* \.(css|js|ico|gif|jpg|jpeg|png)$ { expires 1d; … proxy_pass http://127.0.0.1:8082; } } 由于我有像30个应用程序的东西,我试图简化代码如下所示: location /app1{ … proxy_pass http://127.0.0.1:8081/app1; include […]