Nginx

在 nginx 上啟用記憶體

  • March 4, 2015

我有自己的帶有 CentOS 6 和 nginx 的 VPS,我想啟用記憶體。為了測試它,如果成功啟用,我使用 Google PageSpeed Insight。我的問題是我沒有太多的經驗,我必須啟用記憶體以及我可以設置圖像的記憶體時間等等。這就是我在網際網路上找到並嘗試過的:

  1. 創建目錄:/etc/nginx/sites-available並且/etc/nginx/sites-enabled因為它們以某種方式不存在。
  2. 在此處連結創建的目錄:在文件末尾但在最後一個之前/etc/nginx/nginx.conf添加include /etc/nginx/sites-enabled/*;``}
  3. 創建文件/etc/nginx/sites-available/my-site.com.conf
server {
listen       80;
server_name  localhost;

location / {
   root   /usr/share/nginx/html;
   index  index.html index.htm;
}

location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
   expires 15d;
}

location ~*  \.(pdf)$ {
   expires 30d;
}

} 4. 連接conf文件:ln -s /etc/nginx/sites-available/my-site.com.conf /etc/nginx/sites-enabled/my-site.com.conf 5. 做service nginx restart

我將我的網站用於 WordPress。

因此,每當我使用 PageSpeed Insight 或其他 pagespeed 工具測試我的頁面時,它都會說我不對 header.png、javascripts 等使用記憶體。但是即使我檢查nginx -t顯示以下內容的配置文件,我也沒有收到一些錯誤:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

我忘記了什麼嗎?

這是我完整的 nginx 配置: http: //pastebin.com/wxnzzePT

來自default.conf文件conf.d夾: http: //pastebin.com/KUH2tSrD

您需要將記憶體指令添加到您的default.conf文件中,並刪除您創建的這個新文件。

您的新文件僅在使用者使用http://localhost. 此外,與您的文件相比,您的新文件配置使用不同的路徑default.conf

此外,塊root內的指令location是不好的做法。

所以,你default.conf應該是這樣的:

#
# The default server
#
server {
   listen       80 default_server;
   server_name  213.165.xx.xx;

   #charset koi8-r;

   #access_log  logs/host.access.log  main;

   # Load configuration files for the default server block.
   include /etc/nginx/default.d/*.conf;

   root   /var/www/wordpress;

   location / {
       index  index.html index.htm index.php;

       try_files $uri $uri/ /index.php?q=$request_uri;

   }

   location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
       expires 15d;
   }

   location ~*  \.(pdf)$ {
       expires 30d;
   }

   location /admin {
       auth_basic "Administrator Login";
       auth_basic_user_file /var/www/admin/.htpasswd;
   }

   #!!! IMPORTANT !!! We need to hide the password file from prying eyes
   # This will deny access to any hidden file (beginning with a .period)
   location ~ /\. { deny  all; }

   error_page  404              /404.html;
   location = /404.html {
       root   /usr/share/nginx/html;
   }

   # redirect server error pages to the static page /50x.html
   #
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   /usr/share/nginx/html;
   }


   # proxy the PHP scripts to Apache listening on 127.0.0.1:80
   #
   #location ~ \.php$ {
   #    proxy_pass   http://127.0.0.1;
   #}

   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
   #
   location ~ \.php$ {
       root           /var/www/wordpress;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
   }

   # deny access to .htaccess files, if Apache's document root
   # concurs with nginx's one
   #
   #location ~ /\.ht {
   #    deny  all;
   #}
}

引用自:https://serverfault.com/questions/672844